Unix команды консоли: Базовые команды ОС UNIX | Параллельные вычисления в УрО РАН

Содержание

Основные команды Linux и Unix консоли

Приступая к изучению консоли Linux, не обойтись без знания консольных команд.

В этой заметке перечислены основные команды линукс консоли, доступные как при работе за терминалом, так и через ssh:
su, sudo, whoami, fsck, uptime, who, w, df, du, ifconfig, ping, traceroute, mtr, whois, ps, top, kill, killall, man, passwd, ls, pwd, mkdir, rmdir, rm, mv, cat, less, more, chmod, chown, tar, wget, find, locate, history, reboot, halt, shutdown

Команда su

su войти в систему под именем peleh, не завершая текущий сеанс.

пригласительный знак для пользователей выглядит как $, а для суперпользователя root — #.

Обычно команда su используется для временного входа суперпользователем для выполнения административных работ.

Команда sudo

sudo предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле 

/etc/sudoers.

Команда whoami

whoami — вывести имя пользователя, который авторизирован в системе

Команда fsck

fsck — команда UNIX, которая проверяет и устраняет ошибки в файловой системе. После запуска команды необходимо подтверждать (y) или не подтверждать (n) исправление той или иной ошибки. Для автоматической проверки и исправления ошибок необходимо запустить команду с ключиком ‘-y’: fsck -y

Команда uptime

uptime показывает текущее время, время работы после загрузки, количество текущих пользователей и нагрузку за последние 1, 5 и 15 минут.

Команда who

who — показать список пользователей в системе

Команда w

w — показать информацию о работающих в данный момент на сервере пользователях и о их процессах, а также среднюю нагрузку сервера за последние 1, 5 и 15 минут (uptime + who

).

Команда df

df (аббревиатура от disk free) — показать список всех файловых систем по именам устройств, сообщает их размер, занятое и свободное пространство и точки монтирования. Удобно использовать с ключиком -h (отображается размер в Gb):

Команда du

du — показать размер отдельного файла:

Команда ifconfig

ifconfig — показать сетевые настройки (интерфейсы):

Команда ping

ping — утилита для проверки соединений в сетях на основе TCP/IP:

Команда traceroute

traceroute — определить маршрут следования данных в сетях TCP/IP:

Команда mtr

mtr ya.ru — показать маршрут следования данных в сети Интернет и процент потерь, обновляя постоянно данные:

Команда whois

whois — показать информацию о домене (данные о регистраторе, сроке продления домена, сервера имен… ):

Команда ps

ps – вывести ваши текущие активные процессы

Команда top

top – показать все запущенные процессы

Команда kill

kill pid – убить процесс с id pid

Команда killall

killall ispmgr – убить все процессы с именем ispmgr

Команда man

man passwd — вывести на экран справку о команде passwd

Команда passwd

passwd testuser — сменить пароль для пользователя testuser. По умолчанию командой passwd без указания конкретного пользователя изменится пароль для пользователя, который авторизирован в системе.

Команда ls

ls – список файлов и каталогов (с ключиком «-lа» — список со скрытыми файлами):

Команда pwd — текущая директория

pwd  — вывести полный путь от корневого каталога к текущему рабочему каталогу (показывает директорию, в которой Вы находитесь):

Команда mkdir

mkdir folder – создать каталог/директорию folder

Команда rmdir

rmdir — удалить каталог из файловой системы. Удаление директории и ее содержимого также можно выполнить командой rm -rf (ключ -r для каталогов).

Команда rm

rm  file — удалить файл file с подтверждением

rm file* — удалить все файлы, которые начинаются с символов file с подтверждением:

Команда mv

mv (от англ. move) — используется для перемещения или переименования файлов или каталогов:

1 — переименование директории folder в folder00:

2 — перемещение файла в директорию:

Команда cat

cat > file – направить стандартный ввод в file (тоесть создать файл с необходимым содержанием):

Чтобы завершить ввод информации в этот файл, необходимо, как обычно, нажать сочетание клавиш <Ctrl+d>.

cat file — показать содержимое файла file:

cat

 file file1 > file22 — создать файл file22 и записать в него данные из файлов file и file1:

Команда less, more

Просматривать содержимое файла можно также командой less или more.

Команда chmod

chmod — сменить права доступа на файл или директорию (для директорий зачастую используются 751(-rwxr-xr-x), а для файлов — 644(-rw-rw-r—)), где

4 – чтение (r)
2 – запись (w)
1 – исполнение (x):

Команда chown

chown — сменить владельца для файла

Команда tar

tar file.tar file — заархивировать файл file и присвоить ему имя file.tar:

где опция -с (create) — создать. Команда tar -xpf folder00.tar разархивирует архив в текущую директорию сохраняя права доступа на файл.

Команда wget

wget — скопировать на сервер файл по сети:

Команда find

find — поиск файла:

Команда locate

locate — поиск файла:

Команда history

history — показать историю команд (можно указать количество строк для просмотра):

Команда reboot

reboot — перезагрузить сервер

Команда halt

halt — выключить сервер

Команда shutdown

shutdown — выключить или перезагрузить сервер (в зависимости от опций)

Команда cd Linux — Losst

При работе в терминале все команды привязываются к текущей папке. В ней будут создаваться файлы, если не был указан точный адрес, в ней же могут создаваться временные файлы. Да и просто адресовать файлы команде намного удобнее из текущей папки, просто указав имя файла, а не полный путь в файловой системе.

По умолчанию, в качестве текущей папки используется домашняя, но для большего удобства нам приходится часто менять ее на другую. Для этого существует команда cd linux. В этой небольшой статье мы рассмотрим как использовать эту команду и какие у нее есть возможности.

Содержание статьи:

Команда cd Linux

Перед тем как мы перейдем к работе с утилитой, давайте рассмотрим ее синтаксис и основные опции. Строго говоря, это вообще никакая не утилита. Ее нет в файловой системе. Это встроенная команда Bash и меняет текущую папку только для оболочки, в которой выполняется. Вот основной синтаксис команды:

$ cd опции папка_назначения

Опций всего две, это -P и -L. Они влияют на то, как будут обрабатываться символы возврата в предыдущую директорию и символические ссылки:

  • -P — позволяет следовать по символическим ссылкам перед тем, как будут обработаны все переходы «..»;
  • -L — переходит по символическим ссылкам только после того, как были обработаны «..»;
  • -e — если папку, в которую нужно перейти не удалось найти — выдает ошибку.

Дальше нужно указать директорию, в которую следует перейти. Если этого не сделать, а вызвать cd без параметров, то рабочей папкой будет выбран ваш домашний каталог. А теперь давайте рассмотрим несколько примеров работы с cd linux.

Использование cd в linux

Я не буду здесь описывать какими бывают пути в Linux. Мы рассматривали эту тему в отдельной статье. По умолчанию, в качестве рабочего каталога используется домашняя папка пользователя. Давайте сначала перейдем в одну из подпапок домашней папки:

cd Загрузки/

Домашняя папка обозначается как ~/. Поэтому следующая команда выполнит аналогичное действие:

cd ~/Загрузки/

Правда, здесь есть преимущество. В первой команде используется относительный путь, тогда как вторая правильно выполнится из любой папки. Теперь переместимся в папку /usr/lib относительно корня:

cd /usr/lib/

С помощью символа черты «-» вы можете вернуться в предыдущую папку:

cd -

Используя двойную точку «..» можно перейти в родительский каталог:

cd ..

Вы можете использовать несколько блоков с точками для перемещения на несколько уровней вверх:

cd ../../

Как уже говорилось, если не передать папку, в которую нужно перейти, будет открыта домашняя папка:

cd

Аналогичный результат выдаст команда:

cd ~

Для упрощения перехода по папкам можно использовать символ звездочки. Правда, автодополнение сработает только если на указанные символы будет начинаться только одна папка.

cd /var/w*

Кроме cd, есть еще две дополнительные команды, это pushd и popd. Можно сказать, что простая реализация стека для рабочих каталогов. Когда вы выполняете pushd, текущий рабочий каталог сохраняется в памяти, а на его место устанавливается указанный:

pushd /var/www/html

Теперь наберите popd, чтобы вернуться в предыдущий каталог:

popd

 

Это реализация стека, поэтому количество каталогов в памяти не ограничено двумя. Вы можете перемещаться по такому количеству папок, как вам нужно.

Наконец, еще один момент, если вам нужно перейти в каталог, в имени которого есть пробелы, используйте символ экранирования обратный слэш «\» или просто возьмите его имя в скобки:

cd ~/Загрузки/новая\ папка/
$ cd "~/Загрузки/новая папка/"

Выводы

Теперь вы знаете зачем нужна команда cd Linux, а также как максимально эффективно ею пользоваться при работе в терминале. Надеюсь, эта информация была полезной для вас. Если у вас остались вопросы, спрашивайте в комментариях!

11 основных *nix команд, который ты обязательно должен знать

Командная строка, во многом, делает нашу жизнь несколько проще, так как благодаря ей мы можем автоматизировать некоторые повседневные задачи и сделать работу более простой. Вместо того, чтобы щёлкать по графическому интерфейсу (GUI), мы можем быстро запустить несколько команд, которые выполнят все нужные задачи.

Unix shell — это интерпретатор командной строки или оболочка, которая предоставляет пользовательский интерфейс для работы из командной строки для Unix-подобных операционных систем. Shell является одновременно интерактивным языком команд и языком скриптов, и он используется операционной системой для управления работой системы с использованием встроенных скриптов оболочки.

Любая операционная система на базе Linux или Mac имеет командную строку, доступную по умолчанию, именуемую как «Терминал». Командная строка (CLI) позволяет нам легко создавать, перемещать, удалять, переименовывать файлы, сортировать данные и перемещаться по папкам, просматривая содержимое.

Без лишних слов, вот 11 применений командной строки, которые сделают вашу жизнь проще.

Повысьте свою продуктивность с помощью этих консольных команд

1. grep

grep "some string" file

Unix команда grep предназначена для поиска. Эта команда ищет строку в файлах по шаблону. Она также ищет шаблоны, разделенные символами перехода на новую строку, и печатает в консоли каждую строку, соответствующую этому шаблону.

Например, выполним команду grep, чтобы найти в файле все совпадения со строкой json

Опция -i позволяет нам искать строку в данном файле без учета регистра. Он соответствует словам типа «JSON», «JsoN» и «Json».

Мы так же можем получить количество строк, которое соответствует данной строке/шаблону указав флаг -c (count).

grep -c "json" index.js

Эта команда подсчитывает, сколько раз в файле было найдено совпадение со строкой json

Вот, кстати, забавный и интересный комикс посвящённый команде grep, который я нашел в интернете (на английском).

Кроме того, есть вариант вызова программ egrep и fgrep что тождественно вызову grep -E и grep -F соответственно. Эти варианты устарели, но предусмотрены для сохранения обратной совместимости.

Можете детальнее познакомиться с grep на странице документации.

2. ls

ls

Unix команда ls выводит список файлов и каталогов по текущему активному пути. Если путь представляет собой файл, ls отображает информацию о файле в соответствии с указанными параметрами. Если путь является папкой, ls отображает информацию о файлах и подпапках в нём.

Используя команду ls, выводим список всей файлов и папок в текущей директории

Возможно, вы заметили, что файлы на скриншоте отображаются серым цветом, а папки — голубоватыми. Это здорово помогает отличать папки от файлов при просмотре из консоли.

3. pwd

pwd

Выводи полный путь к текущей активной директории

Команда pwd — это утилита командной строки для печати текущего рабочего каталога. Вывод выведет полный системный путь текущего рабочего каталога в консоль. По умолчанию команда pwd игнорирует символические ссылки, хотя полный физический путь к текущему каталогу может быть показан с опцией.

4. cat

cat <filename>

Отображает содержимое указанного файла

Unix команда cat имеет три функциональные способности в контексте текстового файла:

  • Отображение содержимого файла
  • Объединение копий
  • Создание новых файлов

Самым распространенным случаем использования cat является чтение содержимого файлов, и, к слову, cat часто является наиболее удобной программой для подобных целей.

В следующем примере стандартный вывод cat перенаправляется с помощью оператора перенаправления вывода (который представлен угловой скобкой, направленной вправо >) в файл somefile2:

cat somefile > somefile2

Создание и копирование содержимого файлов с помощью cat

5. echo

echo "some text"

Команда echo в Linux используется для отображения строки текста/строки, переданной в качестве аргумента. Команда echo является встроенной, она, в основном используется в shell-скриптах и пакетных файлах для вывода текста состояния на экран или в файл.

Вы можете передавать этой функции как заданный текст, так и результат из переменной.

6. touch

touch <filename>

Команда touch используется для создания файла без какого-либо содержимого. Команда touch может использоваться, когда у пользователя на момент создания файла ещё нет данных о его содержимом.

Создание нового файла с помощью функции touch

Обратите внимание, на изображении выше мы использовали команду touch для создания файла, а cat — для его просмотра. Поскольку только созданный файл test.txt пуст, команда cat ничего не возвращает.

Есть несколько ключевых различий между cat и touch:

  • cat — используется для создания файла с содержимым.
  • touch — создаёт пустой файл, без содержимого. Помните, что файл, созданный с помощью touct — пуст. Эта команда полезна, когда у пользователя нет данных содержимого файла во время его создания.

7 mkdir

mkdir <directory name>

Как вы уже догадались, команда mkdir создаёт новую папку по текущему активному пути. Вместо того, чтобы создавать новую папку через редактор или в графическом интерфейсе, используйте эту команду.

Создание новой папки командой mkdir

Обратите внимание, что мы можем просмотреть содержимое каталога с помощью предыдущей команды ls.

7.1 rm

rm <directory name>

Команда rm выполняет удаление папки или файла.

Удаление файла/папки командой rm

По умолчанию команда rm не удаляет папки. Для того, чтобы удалить папку командой rm нужно указать дополнительно флаг -rf.

rm -rf <directory name>

Запомните, что для удаления папки нужно передавать дополнительный флаг
Эта команда удаляет каталог безвозвратно, независимо от того, содержит ли каталог внутри файлы/папки, или нет.

7.2 rmdir

rmdir <directory name>

Команда rmdir удаляет именно папку, если в неё нет никакого содержимого.

Удаление пустой папки командой rmdir

8. tail

tail <file name>

Команда tail читает файл и выводит его последнюю, завершающую часть («хвост»).

Выводим последние строчки содержимого файла

Команда tail полезна при просмотре отчетов о сбоях или длинных журналов логов. Вот пример его полезности при работе с файловыми логами:

# tail /var/log/messages
Mar 20 12:42:22 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:24 hameda1d1c avahi-daemon[2027]: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*.
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPACK from 10.76.198.1 (xid=0x280436dd)
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: New relevant interface eth0.IPv4 for mDNS.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Registering new address record for 10.76.199.87 on eth0.IPv4.
Mar 20 12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : updated /etc/resolv.conf
Mar 20 12:42:30 hameda1d1c dhclient[4334]: bound to 10.76.199.87 -- renewal in 74685 seconds.
Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2

9. wget

wget <some url>

GNU Wget — это бесплатное программное обеспечение для получения файлов по HTTP, HTTPS, FTP и FTPS — наиболее широко используемых интернет-протоколов. Это неинтерактивный инструмент командной строки, поэтому его легко вызывать из скриптов, CRON-задач, терминала без поддержки X-Windows и т.д.

Мы ещё раньше разбирали работу с этой программой, рассматривая основные опции и возможность парсинга и сохранения сайтов с её помощью.

Сохраняем главную страницу всеми нами любимого сайта

GNU Wget обладает множеством функций, облегчающих получение больших файлов или выкачивание всего веб-сайта или FTP-сайта. Wget обладает такими преимуществами, в том числе:

  • Может возобновить прерванные загрузки, используя REST и RANGE
  • Может использовать шаблоны имени файла и рекурсивно скачивать каталоги, воссоздавая зеркальную структуру папок на локальной машине
  • Опционально преобразует абсолютные ссылки скачиваемых документов в относительные, чтобы загруженные документы могли ссылаться друг на друга и корректно отображаться локально
  • Кроссплатформенность: работает в большинстве UNIX-подобных операционных систем, а также в Microsoft Windows
  • Поддерживает HTTP прокси
  • Поддерживает HTTP куки
  • Поддерживает постоянное HTTP-соединение
  • Автоматическая / фоновая работа
  • Использует локальные временные метки файлов, для определения необходимости повторной загрузки документа при выкачивании в зеркальной структуре.

В одной из прошлыъ статей мы ужа рассматривали работу с Wget, и его пользу при парсинге сайтов. Советую ознакомиться с этой статьей подробнее по ссылке.

10. find

find path -name <filename>

Команда find позволяет быстро найти файл или папку. Это полезно, когда вы работаете над большим проектом с сотнями файлов и папок.

Поиск файла с названием CallbackApiService.php

Поиск файлов определенного типа

Команда find также позволяет вам искать файлы в каталоге (и его подкаталогах) конкретного типа. Например, следующая команда будет искать все файлы с расширением .js в вашем текущем рабочем каталоге.

find . -name "*.js"

Поиск всех файлов с расширением .js в директории

11. mv

mv <filename> </to/some/other/path>

Команда mv перемещает файлы или каталоги из одного места в другое. Команда mv поддерживает перемещение отдельных файлов, или, одновременно, нескольких файлов и каталогов.

Перемещаем файл в другую папку

Резюме

Спасибо за чтение этой статьи, надеюсь, вы узнали что-то новое. Оставайтесь голодными и жадными к новым знаниям! В этой статье я рассмотрел основные unix команды терминала, которые каждый день используются при разработке, или деплое на сервер.

Я создал для вас небольшой справочник команд unix, которые обязан знать каждый разработчик, администратор, или обычный пользователь *unix-овых систем. Этот справочник покрывает все аспекты реального пользования операционной системой, и содержит: unix команды для копирования, создания, удаления и фильтра файлов.

unix — Основные команды консоли

pwd — печатать рабочий каталог

$> pwd
/home/myUserHome
$> cd ..
$> pwd
/home

будет печатать текущий путь к консоли.

pushd / popd (сохраните текущий каталог в стеке и перейдите в папку dest / pop prev dir и перейдите к нему)

$ pwd
/home/bob/somedir1/somedir2/somedir3

$ pushd /home/bob/otherdir1/otherdir2
/home/bob/otherdir1/otherdir2 /home/bob/somedir1/somedir2/somedir3

$ popd
/home/bob/somedir1/somedir2/somedir3

$ pushd /usr
/usr /home/bob/somedir1/somedir2/somedir3

$ pushd /var
/var /usr /home/bob/somedir1/somedir2/somedir3

$ popd
/usr /home/bob/somedir1/somedir2/somedir3

$ pwd
/usr

$ popd
/home/bob/somedir1/somedir2/somedir3

$ pwd
/home/bob/somedir1/somedir2/somedir3

команды управления файлами

Список команд, которые будут представлены здесь:

ls     #view contents of a directory
touch  #create new file
mkdir  #create new directory
cp     #copy contents of one file to another
mv     #move file from one location to another
rm     #delete a file or directory

Примеры

[email protected]_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     test.cpp

показывает текущий каталог

[email protected]_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp        encryption.cpp  pool_game.cpp

показывает каталог «c ++ projects». Символы пространства в именах файлов набираются как «\».

пример касания

[email protected]_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     test.cpp
[email protected]_computer:~/Desktop$ touch ruby_test.rb
[email protected]_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby_test.rb    test.cpp

Пример mkdir

[email protected]_computer:~/Desktop$ mkdir ruby
[email protected]_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby    ruby_test.rb    test.cpp
[email protected]_computer:~/Desktop$ cd ruby
[email protected]_computer:~/Desktop/ruby$ ls
<nothing>
[email protected]_computer:~/Desktop/ruby

На самом деле он не печатает <nothing> . Это то, как я представляю, что он ничего не выводит

Примеры cp

[email protected]_computer:~/Desktop/ruby$ cd ..
[email protected]_computer:~/Desktop$ cp test.cpp c++_test.cpp
[email protected]_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby_test.rb
test.cpp

Это когда последний аргумент arg для cp , в данном случае «c ++ _ test.cpp» не является существующим каталогом. cp создаст файл с именем «c ++ _ test.cpp» с содержимым, идентичным содержимому «test.cpp». Если c ++ _ test.cpp уже существует, cp удалил бы то, что было раньше, перед копированием содержимого «test.cpp».

[email protected]_comptuer:~/Desktop$ ls ruby
<nothing>
[email protected]_computer:~/Desktop$ cp ruby_test.rb ruby
[email protected]_computer:~/Desktop$ ls ruby
ruby_test.rb

Это то, что происходит, когда последний arg для cp , в данном случае «ruby», является каталогом. cp создает файл с таким же именем, как ruby_test.rb, но в каталоге «ruby».

Примеры mv

[email protected]_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby_test.rb
test.cpp
[email protected]_computer:~/Desktop$ mv ruby_test.rb ruby\ test.rb
[email protected]_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
test.cpp

Это то, что происходит, когда последний аргумент mv , в данном случае «ruby test.rb», не является существующим каталогом. Файл «ruby_test.rb» был переименован в «ruby test.rb». Если «ruby test.rb» уже существует, оно было бы перезаписано. Обратите внимание, что перед пробелами предшествует «».

[email protected]_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
test.cpp
[email protected]_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp        encryption.cpp  pool_game.cpp
[email protected]_computer:~/Desktop$ mv test.cpp c++\ projects
[email protected]_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
[email protected]_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp        encryption.cpp  pool_game.cpp   test.cpp

Это то, что происходит, когда mv — это уже существующая директория. Файл «test.cpp» перемещается в каталог «c ++ projects».

Примеры rm

[email protected]_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
[email protected]_computer:~/Desktop$ rm c++_test.cpp
[email protected]_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby    ruby test.rb

c ++ _ test.cpp удален

[email protected]_computer:~/Desktop$ rm c++\ projects
rm: cannot remove 'c++ projects': Is a directory
[email protected]_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby    ruby test.rb

rm имеет дополнительное требование для удаления каталогов

[email protected]_computer:~/Desktop$ rm -rf c++\ projects
[email protected]_computer:~/Desktop$ ls
Research Paper.docx     ruby    ruby test.rb

-rf необходимо добавить для удаления каталога.

Чтобы узнать больше о ls , введите команду ls --help . Для touch введите touch --help . Аналогично со всеми 6 командами, упомянутыми здесь. При этом выдается подробное объяснение использования без создания или удаления чего-либо.

команда cd, объясненные каталоги

[email protected]:~$

Символ ~ после тех, who-cares: это текущий каталог. ~ самом деле означает домашний каталог человека. В этом случае это /home/michael .

[email protected]:~$ cd Downloads
[email protected]:~/Downloads$

Ищет Downloads в текущем каталоге, а затем делает это текущим каталогом.

[email protected]:~/Downlaods$ cd /var
[email protected]:/var$

Поскольку этот каталог начинался с символа / , это означает, что в корневом каталоге находится каталог var . Для тех, кто приходит из окон, корневой каталог эквивалентен C:\ . Каталоги, начинающиеся с / , называются «абсолютными каталогами», а каталоги, которые не называются «относительными каталогами»,

[email protected]:/var cd lib/dbus
[email protected]:/var/lib/dbus$

Средство / в середине означает cd lib и один раз это сделало cd dbus одной командой.

[email protected]:/var/lib/dbus$ cd .
[email protected]:/var/lib/dbus$

. на самом деле означает «текущий каталог». Команда cd . в основном бесполезно, но . полезен для других вещей.

[email protected]:/var/lib/dbus$ cd ..
[email protected]:/var/lib$

.. самом деле означает «родитель текущего каталога». Таким образом, cd .. означает «перемещаться по одному каталогу вверх».

[email protected]:/var/lib$ cd ../log/apt
[email protected]:/var/log/apt$

. и .. также может быть частью / цепи. Кроме того, нет предела тому, как долго это может быть.

[email protected]:/var/log/apt$ cd /dev/bus
[email protected]:/dev/bus$

Цепочка / может даже существовать, когда каталог начинается с root.

[email protected]:/dev/bus$ cd /
[email protected]:/$

cd / переносит вас в корневой каталог. Интересно, что произойдет, если вы наберете cd .. здесь … (не беспокойтесь, это безопасно)

[email protected]:/$ cd home
[email protected]:/home$ cd michael
[email protected]:~$

У каждого пользователя есть каталог для своего материала внутри домашнего каталога. Если текущий каталог находится под домашним каталогом, эта часть имени в этом случае /home/michael заменяется на ~ .

[email protected]:~$ cd sys
[email protected]:/sys$ cd ~/Desktop
[email protected]:~/Desktop$ cd ~/..
[email protected]:/home$

~ также может быть частью / цепи. Это может быть даже в той же цепочке, что и .. Если каталог начинается с ~ , это абсолютный каталог, как если бы он начинался с / .

Последнее, что нужно попробовать: введите cd без каталога после.

который

Для того, чтобы определить , где в вашей системе исполняемый в вашем пути существует, использовать which команда :

$ which python
$

Если ответа нет, этот исполняемый файл не существует на вашем пути. Система просто вернет вам новое приглашение без сообщения об ошибке. Если исполняемый файл существует на вашем пути, он покажет каталог, в котором он существует:

$ which ls
/bin/ls

Это может быть полезно при определении того, почему поведение не соответствует ожиданию, гарантируя, что вы выполняете версию исполняемого файла, который, по вашему мнению, вы. Например, если у вас установлены оба Python 2 и Python 3, они оба могут быть выполнены, набрав python в терминале, но исполняемый файл, который выполняется, может отличаться от ожидаемого. Как показано выше, эта команда будет работать для любой стандартной команды unix, которая поддерживается отдельными исполняемыми файлами.

Основные команды Unix

$pwd

Отображает текущий рабочий каталог.

$who

Отображает всех зарегистрированных пользователей.

$who am i

Показывает имя пользователя текущего пользователя.

$date

Отображает текущую системную дату

$which <command>

Показывает путь указанной команды. Например, «$ which pwd» покажет путь команды «pwd».

$file <file_name>

Показывает тип указанного файла (обычный файл, каталог или другие файлы)

$cal

Отображает календарь текущего месяца.

$bc

Показывает математический расчет между двумя целыми числами. Например, «$ bc 2 + 3» вернет арифметическую сумму 3 и 5.

$ls

Перечисляет содержимое каталога.

  • $ ls -l: списки в длинном формате.
  • $ ls -c: вывод нескольких столбцов.
  • $ ls -f: отображает тип файла.
  • $ ls -r: Рекурсивный список всех найденных подкаталогов.
  • $ ls -a: отображает все файлы, включая скрытые файлы.
  • $ ls -i: список всех файлов вместе со своим номером I-узла.
$grep [options] <pattern> <input_file_names> 

Печать строк, содержащих совпадение для шаблона.

  • $ grep -i: выполнить нечувствительность к регистру
  • $ grep -v: печатает все строки, которые не содержат регулярное выражение
  • $ grep -r: рекурсивно искать подкаталоги, перечисленные и печатает имена файлов с появлением шаблона
  • $ grep -I: Исключить двоичные файлы

Полный список команд для PuTTY, SSH, Unix и Linux серверов

Как правило, для управления Unix\Linux веб-сервером, используют бесплатную программу PuTTY, которая через защищенный SSH-протокол передает команду, которая распознается и выполняется сервером. Как подключиться к серверу и передавать команды через командную строку читайте здесь. А мы далее приводим большую часть команд, в зависимости от их направленности.

  1. Операции с файлами
  2. Работа с процессами
  3. Права доступа к файлам
  4. Работа по SSH
  5. Команды для поиска
  6. Системная информация
  7. Работа с системой и базами данных
  8. Архивы
  9. Сеть
  10. Горячие клавиши

Операции с файлами

КомандаДействие
lsпоказать список файлов и каталогов
ls -alпоказать все файлы на сервере (даже скрытые) + размер + владельца + права на фалы + дату изменения
cd директорияперейти в указанную директорию;
cd перейти в домашний каталог
pwdпоказать текущую папку
mkdir директориясоздать папку «директория»
rm имя_файлаудалить файл с именем имя_файла
rm -r диреторияудалить папку «директория»
cp файл1 файл2скопировать файл1 в файл2
cp -r папка1 папка2скопировать папка1 в папка2
touch файлсоздать файл и с именем «файл»
cat > файлнаправить стандартный ввод в «файл»
more файлпоказать содержимое файл
head файлпоказывает первые 10 строк из файла
tail файлпоказывает последние 10 строк из файла

Работа с процессами

КомандаДействие
psпоказывает текущие процессы, которые активны
topпоказывает все процессы
kill процессубивает процесс с id «процесс»
killall процубивает все процессы с именем проц
bgпоказывает список фоновых задач, а также остановленных;
bg процесспродолжит выполнение остановленного процесса в фоне

Операции с правами доступа к файлам

КомандаДействие
chmod 755 файлзадает права 755 для файла
find /path/to/dir -type f -exec chmod 0644 {}укажет права 644 на все файлы на сервере
find /path/to/dir -type d -exec chmod 0755 {}укажет права 755 на все папки на сервере

Работа с SSH

КомандаДействие
ssh user@hostподключает к хосту «host» как «user»
ssh -p port user@hostподключает к хосту «host» на порт «port» как «user»
ssh-copy-id user@hostдобавит ключ на «host» для пользователя «user», при этом операция входа будет происходить без логина, а через ключ

Как искать?

КомандаДействие
grep слово файлищет «слово» в «файле»
locate файлнайдет все файлы с именем «файл»

Информация о системе

КомандаДействие
dateпоказать время и дату
calпоказать календарь
uptimeпроверить аптайм (время безотканой работы)
wпокажет количество пользователей, которые в данный момент используют сервер
whoami покажет Ваш логин
finger юзерпокажет инфу о пользователе «юзер»
uname -aинформация про ядро
cat /proc/cpuinfoинформация про CPU
cat /proc/meminfoинформация про память
man командапокажет все о команде
df информация о дисках
duпокажет, сколько памяти занимает текущий каталог
free сколько памяти используется
whereis программанайдет место расположения программы
which программа определеяет, что «программа» будет запущена первой
vmstatпокажет загрузку процессора

Работа с системой и базами данных

КомандаДействие
apachectl restartперезапуск сервера Apache
apachectl startsslзапуск сервера Apache
apachectl stopвыключение сервера Apache
/usr/local/etc/rc.d/mysql-server restartперезапуск MySQL
mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/бд.sqlсоздать копию базы данных бд.sql
mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/бд.sql импортировать бд.sql в базу данных mysql на сервере
exit выйти из системы
reboot перезапуск сервера

Работа с архивами

КомандаДействие
tar cf myfile.tar файлызапаковать «файлы» в архив myfile.tar
tar xf myfile.tarразархивировать myfile.tar
tar czf myfile.tar.gz filesархивировать с использованием Gzip (особое сжатие на сервере)
tar xzf myfile.tar.gzразархивировать Gzip-файл
tar cjf myfile.tar.bz2архивировать с использованием Gzip
tar xjf myfile.tar.bz2разархивировать Bzip2-файл
gzip myfileзапаковать myfile и переименовать в его в myfile.gz
gzip -d myfile.gzраспаковать myfile.gz в myfile

Сеть

КомандаДействие
ping хостпоказывает пинг до хоста
whois домен.компоказывает WHOIS о домене «домен.ком»
dig домен.компоказывает на каких DNS находится домен «домен.ком»
wget myfileзакачивает на компьютер файл myfile
wget -c fileесли закачка была остановлена, то эта команда может ее продолжить
wget https://www.mysite.com/myfile.zipзагрузит файл из интернета (по адресу https://www.mysite.com/myfile.zip) в текущую директорию на сервере

Клавиши

КомандаДействие
Ctrl+Cпрекратить текущую команду
Ctrl+Dвыйти из системы\сменить пользоваателя (вместо этого можно использовать команду exit)
Ctrl+Uудаляет строку
Ctrl+Zостановка текущей команды и продолжить с fg или bg
Ctrl+Wудалить слово в текущей строке
!!повторяет последнюю команду

расширенный справочник команд Unix / Linux / PuTTY SSH

Большинство UNIX-like систем обладают встроенной справкой, которая подробно описывает все доступные команды. Однако чтобы воспользоваться этой справкой, вы должны знать, по крайней мере, название команды, о которой вы хотите получить информацию. Поскольку большинство пользователей только в общих чертах понимают, что они хотят сделать, то, как правило, встроенная справка мало полезна новичкам.

Этот справочник поможет пользователям, знающим, что они хотят сделать, найти соответствующую команду Linux по краткому описанию.

Системная информация:
arch или uname -m — отобразить архитектуру компьютера
uname -r — отобразить используемую версию ядра
dmidecode -q — показать аппаратные системные компоненты — (SMBIOS / DMI)
hdparm -i /dev/hda — вывести характеристики жёсткого диска
hdparm -tT /dev/sda — протестировать производительность чтения данных с жёсткого диска
cat /proc/cpuinfo — отобразить информацию о процессоре
cat /proc/interrupts — показать прерывания
cat /proc/meminfo — проверить использование памяти
cat /proc/swaps — показать файл(ы) подкачки
cat /proc/version — вывести версию ядра
cat /proc/net/dev — показать сетевые интерфейсы и статистику по ним
cat /proc/mounts — отобразить смонтированные файловые системы
lspci -tv — показать в виде дерева PCI устройства
lsusb -tv — показать в виде дерева USB устройства
date — вывести системную дату
cal 2007 — вывести таблицу-календарь 2007-го года
date 041217002007.00* — установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w — сохранить системное время в BIOS
Остановка системы:
shutdown -h now или init 0 или telinit 0 — остановить систему
shutdown -h hours:minutes & — запланировать остановку системы на указанное время
shutdown -c — отменить запланированную по расписанию остановку системы
shutdown -r now или reboot — перегрузить систему
logout — выйти из системы
Файлы и директории:
cd /home — перейти в директорию ‘/home’
cd .. — перейти в директорию уровнем выше
cd ../.. — перейти в директорию двумя уровнями выше
cd — перейти в домашнюю директорию
cd ~user — перейти в домашнюю директорию пользователя user
cd — — перейти в директорию, в которой находились до перехода в текущую директорию
pwd — показать текущую директорию
ls — отобразить содержимое текущей директории
ls -F — отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип
ls -l — показать детализированное представление файлов и директорий в текущей директории
ls -a — показать скрытые файлы и директории в текущей директории
ls *[0-9]* — показать файлы и директории содержащие в имени цифры
tree или lstree — показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 — создать директорию с именем ‘dir1’
mkdir dir1 dir2 — создать две директории одновременно
mkdir -p /tmp/dir1/dir2 — создать дерево директорий
rm -f file1 — удалить файл с именем ‘file1’
rmdir dir1 — удалить директорию с именем ‘dir1’
rm -rf dir1 — удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимое
mv dir1 new_dir — переименовать или переместить файл или директорию
cp file1 file2 — скопировать файл file1 в файл file2
cp dir/* . — копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 — копировать директорию dir1 в директорию dir2
ln -s file1 lnk1* — создать символическую ссылку на файл или директорию
ln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
Поиск файлов:
find / -name file1 — найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -user user1 — найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find /home/user1 -name «*.bin» — найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’*
find /usr/bin -type f -atime +100 — найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -mtime -10 — найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find / -name *.rpm -exec chmod 755 ‘{}’ \; — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -xdev -name «*.rpm» — найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
locate «*.ps» — найти все файлы, содержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
whereis halt — показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
which halt — отображает полный путь к файлу ‘halt’
Монтирование файловых систем:
mount /dev/hda2 /mnt/hda2 — монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’
umount /dev/hda2 — размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’
fuser -km /mnt/hda2 — принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/hda2 — выполнить размонтирование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
mount /dev/fd0 /mnt/floppy — монтировать флоппи-диск
mount /dev/cdrom /mnt/cdrom — монтировать CD или DVD
mount /dev/hdc /mnt/cdrecorder — монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdrom — смонтировать ISO-образ
mount -t vfat /dev/hda5 /mnt/hda5 — монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share — монтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/user/prg /var/ftp/user — «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user
Дисковое пространство:
df -h — отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим. переводчика. ключ -h работает не во всех *nix системах)
ls -lSr |more — выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
du -sh dir1 — подсчитывает и выводит размер, занимаемый директорией ‘dir1’ (Прим. переводчика. ключ -h работает не во всех *nix системах)
du -sk * | sort -rn — отображает размер и имена файлов и директорий, с соритровкой по размеру
rpm -q -a —qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n — показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n — показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
Пользователи и группы:
groupadd group_name — создать новую группу с именем group_name
groupdel group_name — удалить группу group_name
groupmod -n new_group_name old_group_name — переименовать группу old_group_name в new_group_name
useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1 — создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
useradd user1 — создать пользователя user1
userdel -r user1 — удалить пользователя user1 и его домашний каталог
usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1 — изменить атрибуты пользователя
passwd — сменить пароль
passwd user1 — сменить пароль пользователя user1 (только root)
chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1
pwck — проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
grpck — проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp [-] group_name — изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
Выставление/изменение полномочий на файлы:
ls -lh — просмотр полномочий на файлы и директории в текущей директории
ls /tmp | pr -T5 -W$COLUMNS — вывести содержимое директории /tmp и разделить вывод на пять колонок
chmod ugo+rwx directory1 — добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1
chmod go-rwx directory1 — отобрать у группы и всех остальных все полномочия на директорию directory1.
chown user1 file1 — назначить владельцем файла file1 пользователя user1
chown -R user1 directory1 — назначить рекурсивно владельцем директории directory1 пользователя user1
chgrp group1 file1 — сменить группу-владельца файла file1 на group1
chown user1:group1 file1 — сменить владельца и группу владельца файла file1
find / -perm -u+s — найти, начиная от корня, все файлы с выставленным SUID
chmod u+s /bin/binary_file — назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
chmod u-s /bin/binary_file — снять SUID-бит с файла /bin/binary_file.
chmod g+s /home/public — назначить SGID-бит директории /home/public.
chmod g-s /home/public — снять SGID-бит с директории /home/public.
chmod o+t /home/public — назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
chmod o-t /home/public — снять STIKY-бит с директории /home/public
Специальные атрибуты файлов:
chattr +a file1 — позволить открывать файл на запись только в режиме добавления
chattr +c file1 — позволяет ядру автоматически сжимать/разжимать содержимое файла.
chattr +d file1 — указывает утилите dump игнорировать данный файл во время выполнения backup’а
chattr +i file1 — делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.
chattr +s file1 — позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращает возможность восстановления данных.
chattr +S file1 — указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
chattr +u file1 — данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
lsattr — показать атрибуты файлов
Архивирование и сжатие файлов:
bunzip2 file1.bz2 — разжимает файл ‘file1.gz’
gunzip file1.gz
gzip file1 или bzip2 file1 — сжимает файл ‘file1’
gzip -9 file1 — сжать файл file1 с максимальным сжатием
rar a file1.rar test_file — создать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar file1 file2 dir1 — создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
rar x file1.rar — распаковать rar-архив
unrar x file1.rar
tar -cvf archive.tar file1 — создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1 — создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tar — показать содержимое архива
tar -xvf archive.tar — распаковать архив
tar -xvf archive.tar -C /tmp — распаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1 — создать архив и сжать его с помощью bzip2(Прим. переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2 — разжать архив и распаковать его(Прим. переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1 — создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gz — разжать архив и распаковать его
zip file1.zip file1 — создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1 — создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zip — разжать и распаковать zip-архив
RPM пакеты (Fedora, Red Hat и тому подобное):
rpm -ivh package.rpm — установить пакет с выводом сообщений и прогресс-бара
rpm -ivh —nodeps package.rpm — установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -U package.rpm — обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -F package.rpm — обновить пакет только если он установлен
rpm -e package_name.rpm — удалить пакет
rpm -qa — отобразить список всех пакетов, установленных в системе
rpm -qa | grep httpd — среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
rpm -qi package_name — вывести информацию о конкретном пакете
rpm -qg «System Environment/Daemons» — отобразить пакеты входящие в группу пакетов
rpm -ql package_name — вывести список файлов, входящих в пакет
rpm -qc package_name — вывести список конфигурационных файлов, входящих в пакет
rpm -q package_name —whatrequires — вывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q package_name —whatprovides — show capability provided by a rpm package
rpm -q package_name —scripts — отобразит скрипты, запускаемые при установке/удалении пакета
rpm -q package_name —changelog — вывести историю ревизий пакета
rpm -qf /etc/httpd/conf/httpd.conf — проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.
rpm -qp package.rpm -l — отображает список файлов, входящих в пакет, но ещё не установленных в систему
rpm —import /media/cdrom/RPM-GPG-KEY — импортировать публичный ключ цифровой подписи
rpm —checksig package.rpm — проверит подпись пакета
rpm -qa gpg-pubkey — проверить целостность установленного содержимого пакета
rpm -V package_name — проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -Va — проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vp package.rpm — проверить пакет, который ещё не установлен в систему
rpm2cpio package.rpm | cpio —extract —make-directories *bin* — извлечь из пакета файлы содержащие в своём имени bin
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm — установить пакет, собранный из исходных кодов
rpmbuild —rebuild package_name.src.rpm — собрать пакет из исходных кодов
YUM — средство обновления пакетов(Fedora, RedHat и тому подобное):
yum install package_name — закачать и установить пакет
yum update — обновить все пакеты, установленные в систему
yum update package_name — обновить пакет
yum remove package_name — удалить пакет
yum list — вывести список всех пакетов, установленных в систему
yum search package_name — найти пакет в репозиториях
yum clean packages — очисть rpm-кэш, удалив закачанные пакеты
yum clean headers — удалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean all — очисть rpm-кэш, удалив закачанные пакеты и заголовки
DEB пакеты (Debian, Ubuntu и тому подобное):
dpkg -i package.deb — установить / обновить пакет
dpkg -r package_name — удалить пакет из системы
dpkg -l — показать все пакеты, установленные в систему
dpkg -l | grep httpd — среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
dpkg -s package_name — отобразить информацию о конкретном пакете
dpkg -L package_name — вывести список файлов, входящих в пакет, установленный в систему
dpkg —contents package.deb — отобразить список файлов, входящих в пакет, который ещё не установлен в систему
dpkg -S /bin/ping — найти пакет, в который входит указанный файл.
APT — средство управление пакетами (Debian, Ubuntu и тому подобное):
apt-get update — получить обновлённые списки пакетов
apt-get upgrade — обновить пакеты, установленные в систему
apt-get install package_name — установить / обновить пакет
apt-cdrom install package_name — установить / обновить пакет с cdrom’а
apt-get remove package_name — удалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_name — удалить пакет, установленный в систему с удалением файлов конфигурации
apt-get check — проверить целостность зависимостей
apt-get clean — удалить загруженные архивные файлы пакетов
apt-get autoclean — удалить старые загруженные архивные файлы пакетов
Pacman — средство управление пакетами (Arch, Frugalware и alike)
pacman -S name — install package «name» with dependencies
pacman -R name — delete package «name» and all files of it
Просмотр содержимого файлов:
cat file1 — вывести содержимое файла file1 на стандартное устройство вывода
tac file1 — вывести содержимое файла file1 на стандартное устройство вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1 — постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
head -2 file1 — вывести первые две строки файла file1 на стандартное устройство вывода. По умолчанию выводится десять строк
tail -2 file1 — вывести последние две строки файла file1 на стандартное устройство вывода. По умолчанию выводится десять строк
tail -f /var/log/messages — выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
Манипуляции с текстом:
grep -HR OLDTEXT ./ | awk ‘{print $1}’ | sed ‘s/:.*$//’ | grep -v ‘~’ | sort | uniq | xargs perl -i -pe «s/OLD_TEXT/NEW_TEXT/g;» — Поиск и замена текста OLDTEXT на NEW_TEXT во многих файлах одновременно с рекурсивным обходом директорий.$/d’ example.txt — удалить пустые строки и комментарии из файла example.txt
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ — преобразовать символы из нижнего регистра в верхний
sed -e ‘1d’ result.txt — удалить первую строку из файла example.txt
sed -n ‘/string1/p’ — отобразить только строки, содержащие «string1»
sed -e ‘s/ *$//’ example.txt — удалить пустые символы в конце каждой строки
sed -e ‘s/string1//g’ example.txt — удалить строку «string1» из текста не изменяя всего остального
sed -n ‘1,8p;5q’ example.txt — взять из файла с первой по восьмую строки и из них вывести первые пять
sed -n ‘5p;5q’ example.txt — вывести пятую строку
sed -e ‘s/0*/0/g’ example.txt — заменить последовательность из любого количества нулей одним нулём
cat -n file1 — пронумеровать строки при выводе содержимого файла
cat example.txt | awk ‘NR%2==1’ — при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk ‘{print $1}’ — вывести первую колонку. Разделение, по умолчанию, по пробелу/пробелам или символу/символам табуляции
echo a b c | awk ‘{print $1,$3}’ — вывести первую и третью колонки. Разделение, по умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2 — объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d ‘+’ file1 file2 — объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2 — отсортировать содержимое двух файлов
sort file1 file2 | uniq — отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u — отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d — отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2 — сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
Преобразование наборов символов и файловых форматов:
dos2unix filedos.txt fileunix.txt — конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата каретки)
unix2dos fileunix.txt filedos.txt — конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата каретки)
recode ..HTML < page.txt > page.html — конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more — вывести список доступных форматов
Анализ файловых систем:
badblocks -v /dev/hda1 — проверить раздел hda1 на наличие bad-блоков
fsck /dev/hda1 — проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1 или e2fsck /dev/hda1 — проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck -j /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck.ext3 /dev/hda1 — проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1 или fsck.msdos /dev/hda1 или dosfsck /dev/hda1 — проверить/восстановить целостность файловой системы fat раздела hda11
Форматирование файловых систем:
mkfs /dev/hda1 — создать linux-файловую систему на разделе hda1
mke2fs /dev/hda1 — создать файловую систему ext2 на разделе hda1
mke2fs -j /dev/hda1 — создать журналирующую файловую систему ext3 на разделе hda1
mkfs -t vfat 32 -F /dev/hda1 — создать файловую систему FAT32 на разделе hda1
fdformat -n /dev/fd0 — форматирование флоппи-диска без проверки
mkswap /dev/hda3 — создание swap-пространства на разделе hda3
swap-пространство:
mkswap /dev/hda3 — создание swap-пространства на разделе hda3
swapon /dev/hda3 — активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3 — активировать swap-пространства, расположенные на разделах hda2 и hdb3
Создание резервных копий (backup):
dump -0aj -f /tmp/home0.bak /home — создать полную резервную копию директории /home в файл /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /home — создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
restore -if /tmp/home0.bak — восстановить из резервной копии /tmp/home0.bak
rsync -rogpav —delete /home /tmp — синхронизировать /tmp с /home
rsync -rogpav -e ssh —delete /home ip_address:/tmp — синхронизировать через SSH-туннель
rsync -az -e ssh —delete ip_addr:/home/public /home/local — синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием
rsync -az -e ssh —delete /home/local ip_addr:/home/public — синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ — сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель
tar -Puf backup.tar /home/user — создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ — копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ — копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
tar cf — . | (cd /tmp/backup ; tar xf — ) — копирование одной директории в другую с сохранением полномочий и линков
find /home/user1 -name ‘*.txt’ | xargs cp -av —target-directory=/home/backup/ —parents — поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию
find /var/log -name ‘*.log’ | tar cv —files-from=- | bzip2 > log.tar.bz2 — поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 — создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 — восстановить MBR с флоппи-диска на /dev/hda
CDROM:
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force — clean a rewritable cdrom
mkisofs /dev/cdrom > cd.iso — create an iso image of cdrom on disk
mkisofs /dev/cdrom | gzip > cd_iso.gz — create a compressed iso image of cdrom on disk
mkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cd — create an iso image of a directory
cdrecord -v dev=/dev/cdrom cd.iso — burn an ISO image
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom — burn a compressed ISO image
mount -o loop cd.iso /mnt/iso — mount an ISO image
cd-paranoia -B — rip audio tracks from a CD to wav files
cd-paranoia — «-3» — rip first three audio tracks from a CD to wav files
cdrecord —scanbus — scan bus to identify the channel scsi
Сеть (LAN и WiFi):
ifconfig eth0 — показать конфигурацию сетевого интерфейса eth0
ifup eth0 — активировать (поднять) интерфейс eth0
ifdown eth0 — деактивировать (опустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 — выставить интерфейсу eth0 IP-адрес и маску подсети
ifconfig eth0 promisc — перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)
ifconfig eth0 -promisc — отключить promiscuous-режим на интерфейсе eth0
dhclient eth0 — активировать интерфейс eth0 в dhcp-режиме.
route -n
netstat -rn — вывести локальную таблицу маршрутизации
route add -net 0/0 gw IP_Gateway — задать IP-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 — добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с IP-адресом 192.168.1.1
route del 0/0 gw IP_gateway — удалить IP-адрес шлюза по умолчанию (default gateway)
echo «1» > /proc/sys/net/ipv4/ip_forward — разрешить пересылку пакетов (forwarding)
hostname — отобразить имя компьютера
host www.example.com или host 192.0.43.10 — разрешить имя www.example.com хоста в IP-адрес и наоборот
ip link show — отобразить состояние всех интерфейсов
mii-tool eth0 — отобразить статус и тип соединения для интерфейса eth0
ethtool eth0 — отображает статистику интерфейса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupn — отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в IP-адреса и PID’ы и имена процессов, обеспечивающих эти соединения
netstat -tupln — отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в IP-адреса и PID’ы и имена процессов, слушающих порты
tcpdump tcp port 80 — отобразить весь трафик на TCP-порт 80 (обычно — HTTP)
iwlist scan — просканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth2 — показать конфигурацию беспроводного сетевого интерфейса eth2
Microsoft Windows networks(SAMBA):
nbtscan ip_addr
nmblookup -A ip_addr — разрешить netbios-имя nbtscan не во всех системах ставится по умолчанию, возможно, придётся доустанавливать вручную. nmblookup включён в пакет samba.
smbclient -L ip_addr/hostname — отобразить ресурсы, предоставленные в общий доступ на windows-машине
smbget -Rr smb://ip_addr/share — подобно wget может получить файлы с windows-машин через smb-протокол
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share — смонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему
IPTABLES (firewall):
iptables -t filter -nL
iptables -nL — отобразить все цепочки правил
iptables -t nat -L — отобразить все цепочки правил в NAT-таблице
iptables -t filter -F или iptables -F — очистить все цепочки правил в filter-таблице
iptables -t nat -F — очистить все цепочки правил в NAT-таблице
iptables -t filter -X — удалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp —dport telnet -j ACCEPT — позволить входящее подключение telnet’ом
iptables -t filter -A OUTPUT -p tcp —dport http -j DROP — блокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp —dport pop3 -j ACCEPT — позволить «прокидывать» (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG —log-prefix «DROP INPUT» — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE — включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми IP-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp —dport 22 -j DNAT —to-destination 10.0.0.2:22 — перенаправление пакетов, адресованных одному хосту, на другой хост
Мониторинг и отладка:
top — отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
ps -eafw — отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args —forest — вывести PID’ы и процессы в виде дерева
pstree — отобразить дерево процессов
kill -9 98989 или kill -KILL 98989 — «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)
kill -TERM 98989 — корректно завершить процесс с PID 98989
kill -1 98989 или kill -HUP 98989 — заставить процесс с PID 98989 перепрочитать файл конфигурации
lsof -p 98989 — отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1 — отобразить список открытых файлов из директории /home/user1
strace -c ls >/dev/null — вывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls >/dev/null — вывести вызовы библиотек
watch -n1 ‘cat /proc/interrupts’ — отображать прерывания в режиме реального времени
last reboot — отобразить историю перезагрузок системы
last user1 — отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
lsmod — вывести загруженные модули ядра
free -m — показать состояние оперативной памяти в мегабайтах
smartctl -A /dev/hda — контроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hda — проверить доступность SMART на жёстком диске /dev/hda
tail /var/log/dmesg — вывести десять последних записей из журнала загрузки ядра
tail /var/log/messages — вывести десять последних записей из системного журнала
Другие полезные команды:
apropos …keyword — выводит список команд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
man ping — вызов руководства по работе с программой, в данном случае, — ping
whatis …keyword — отображает описание действий указанной программы
mkbootdisk —device /dev/fd0 `uname -r` — создаёт загрузочный флоппи-диск
gpg -c file1 — шифрует файл file1 с помощью GNU Privacy Guard
gpg file1.gpg — дешифрует файл file1 с помощью GNU Privacy Guard
wget -r http://www.example.com — загружает рекурсивно содержимое сайта http://www.example.com
wget -c http://www.example.com/file.iso — загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии
echo ‘wget -c http://www.example.com/files.iso’ | at 09:00 — начать закачку в указанное время
ldd /usr/bin/ssh — вывести список библиотек, необходимых для работы ssh
alias hh=’history’ — назначить алиас hh команде history

Прокачай терминал! Полезные трюки, которые сделают тебя гуру консоли — «Хакер»

Содержание статьи

О том, что командная строка — это удобнейший инструмент, знает любой юниксоид, потративший пару часов на изучение базовых команд и синтаксиса bash. Но далеко не каждый понимает, насколько на самом деле может быть эффективна консоль. В этой статье мы разберем множество интересных трюков, которые позволят тебе так прокачать навык обращения с командной строкой, что ты уже не захочешь возвращаться к графическому интерфейсу.

Эта статья не обучит тебя, как пользоваться консолью, как объединять команды в пайпы и перенаправлять ввод-вывод. Она не о том, как писать скрипты или функции. Из нее ты не узнаешь, чем отличается bash от tcsh. Ее задача — показать тебе, как использовать консоль на всю катушку, добавить +50 к скорости ввода команд и +100 к эффективности. Поэтому новичкам стоит начать с базовых руководств или хотя бы изучить linux cheat sheet.

А мы, недолго думая, перейдем к делу.

 

Мигрируем на ZSH

Первое, что стоит сделать перед началом прокачки скиллов, — это избавиться от bash. Не потому, что он плохой или устаревший, а потому, что существует ZSH. Он неиллюзорно повысит твою продуктивность.

ZSH — очень сложный и комплексный командный интерпретатор. Полное руководство ZSH насчитывает около 800 страниц, а абсолютно все его функции, наверное, не знает никто. Но этого ни от кого и не требуют. На свете уже несколько лет существует проект oh-my-zsh, где пользователи создают набор скриптов, с помощью которых можно твикать и настраивать ZSH быстро и легко.

Чтобы получить стандартный набор твиков и настроек, включая мощный механизм автодополнения, информативное приглашение к вводу команды, настройки, повышающие удобство работы с ZSH, достаточно просто установить oh-my-zsh. Далее его можно обвешать плагинами для большего удобства работы с разными приложениями и поменять тему приглашения на любую из десятков, созданных пользователями.

Итак, для начала устанавливаем ZSH:

$ sudo apt-get install zsh

А затем скачиваем и устанавливаем oh-my-zsh:

$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Скрипт установки клонирует git-репозиторий в каталог /home/username/.oh-my-zsh, добавит необходимые правки для вызова нужных скриптов в конфиг /home/username/.zshrc и запустит ZSH.

Устанавливаем oh-my-zsh

Теперь необходимо сделать ZSH шеллом по умолчанию:

$ sudo usermod -s /usr/bin/zsh имя_юзера

И перелогиниться, чтобы эмулятор терминала использовал ZSH в качестве дефолтового шелла. В качестве опционального шага ты можешь изменить тему. В комплект oh-my-zsh входит огромное количество тем, ознакомиться с которыми можно на wiki-странице. Чтобы выбрать новую тему, исправь значение переменной ZSH_THEME в файле ~/.zshrc. Выберем, например, тему agnoster:

ZSH_THEME="agnoster"
Тема agnoster

 

Перемещаемся по каталогам быстро

Одна из главных проблем консоли состоит в том, что ее неудобно использовать для перемещения по каталогам. Особенно если вложенных каталогов много, они имеют длинные имена, а еще хуже — похожие имена. В этом случае система автодополнения с помощью кнопки Tab помогает плохо и все, что остается, — это печатать имена каталогов руками.

ZSH упрощает навигацию. Во-первых, он умеет исправлять регистр букв, поэтому ты можешь начать печатать нечто вроде

$ cd ~/do

Затем нажать Tab и получить это:

$ cd ~/Downloads

Во-вторых, система автодополнения имен каталогов ZSH намного развитее своего аналога из bash. Если ZSH обнаружит, что с введенных тобой символов начинаются имена сразу нескольких каталогов, он не будет пищать, а затем выводить список каталогов, заставляя тебя уточнять запрос, а сразу выведет список и позволит выбрать нужный каталог с помощью Tab или стрелок.

Выбираем каталог

В-третьих, автодополнение работает не только для начала имени каталога/файла, но и для любой его части. Чтобы перейти в каталог ~/Downloads, ты можешь набрать load и нажать Tab.

Наконец, в-четвертых, ZSH умеет дополнять имена каталогов по всему пути, а не только в последней его части. Это значит, что ты можешь напечатать нечто вроде этого:

$ cd /u/s/zs

Затем нажать Tab и получить это:

$ cd /usr/share/zsh

Более того, тебе совсем не обязательно печатать даже первые буквы имен каталогов. ZSH и bash умеют находить нужные каталоги самостоятельно, если они перечислены в переменной CDPATH. Добавь, например, следующую строку в ~/.zshrc:

export CDPATH=/var/www:/home/имя_юзера/Dropbox

Теперь, чтобы открыть каталог ~/Dropbox/Books, можно использовать такую команду:

$ cd Books

ZSH проверит, есть ли каталог Books в /var/www или /home/имя_юзера/Dropbox, и переместит тебя в него, если он существует.

 

Fasd

Есть и гораздо более мощное средство для перемещения между каталогами. Это утилита fasd (произносится как fast — быстрый). Она запоминает все каталоги (и просто пути к файлам), которые ты использовал, и позволяет перемещаться между ними, указав лишь часть пути (даже несколько букв).

Работает это так. Допустим, ранее ты переходил в каталог ~/src/projects/apps/myCoolApp и теперь, спустя часы или даже дни, хочешь в него вернуться. Все, что тебе необходимо сделать, — это выполнить такую команду:

$ z myCoolApp

Можно проще:

$ z CoolApp

И еще проще:

$ z Cool

Требование одно: указанный тобой набор символов должен быть уникальным среди всех путей, которые запомнил fasd. Кроме z, fasd поддерживает и другие шорткаты: a — показывает все сохраненные пути, zz — позволяет перейти в каталог, используя интерактивное меню (если введенный набор символов встречается в нескольких путях), v — открывает файл в редакторе Vim.

Утилита fasd доступна для Debian/Ubuntu, Arch Linux через AUR и для macOS через brew. Установить в Ubuntu можно так:

$ sudo add-apt-repository ppa:aacebedo/fasd
$ sudo apt-get update
$ sudo apt-get install fasd

Далее необходимо активировать плагин fasd в ~/.zshrc:

plugins=(git fasd)

 

Peco

Peco — еще один инструмент, способный сильно облегчить навигацию, а также поиск. Это небольшая утилита, которая принимает на вход список строк и выводит на экран псевдографическое меню, с помощью которого можно выбрать или найти нужную строку. Далее peco отдает эту строку на выход и завершает свою работу (по сути, это консольный аналог dmenu).

Peco можно использовать для навигации и поиска в любых текстовых строках, включая пути. Например, если ты запустишь следующую команду и выберешь каталог, peco напечатает его имя в терминале:

$ ls | peco

Не слишком удобно и полезно. Однако, немного усложнив пример, ты получишь интерактивный cd:

$ cd `ls | peco`

Польза появилась, удобство пострадало. Поэтому создадим для этой команды короткий и простой псевдоним. Для этого добавим следующую строку в ~/.zshrc:

alias cdi='cd `ls | peco`'

Теперь команда cdi будет запускать наш интерактивный cd.

Кстати, о самом cd. Запомни два простых правила:

  • команда cd без аргументов отправит тебя в домашний каталог;
  • команда cd — вернет в предыдущий каталог.
Peco

 

Используем автодополнение на полную катушку

Система автодополнения ZSH интересна не только своими интеллектуальными функциями, но и тем, что она работает не с одними именами каталогов и файлов. ZSH умеет дополнять флаги и опции многих утилит и выводить удобную справку по ним, умеет дополнять названия пакетов apt-get, yum, pacman и других пакетных менеджеров, дополняет имена хостов при подключении по SSH. Если набрать kill и нажать кнопку Tab, ZSH выведет список процессов. После второго нажатия Tab список станет интерактивным, и ты сможешь выбрать процесс, который следует умертвить.

Кроме встроенных правил автодополнения, on-my-zsh имеет множество плагинов с правилами автодополнения для многих утилит и приложений.

Kill Tab Tab

 

Работаем с историей команд

Любой современный командный интерпретатор, будь то ZSH или bash, сохраняет историю введенных команд. ZSH хранит историю в файле /home/username/.zsh_history. При необходимости его можно погрепать (grep ls ~/.zsh_history), чтобы найти нужную команду. Но делать это совсем не обязательно, ведь командный интерпретатор уже имеет в своем арсенале набор средств для работы с историей.

Например, следующая команда вставит в строку ввода предыдущую команду:

$ !!

Ее особенно удобно использовать, если забыл указать sudo перед командой, требующей права root:

$ pacman -Syu
error: you cannot perform this operation unless you are root.cd

С помощью комбинации Ctrl + R команды можно искать в интерактивном режиме. Просто начни вбивать символы, присутствующие в команде, и ZSH вставит в строку ввода нужную команду. Это очень удобная функция, но ее можно сделать еще удобнее, если использовать возможности уже знакомого нам peco.

В Сети можно найти сторонний плагин для oh-my-zsh под названием zsh-peco-history. Просто скачай его в каталог сторонних плагинов ZSH:

$ git clone https://github.com/jimeh/zsh-peco-history.git $ZSH_CUSTOM/plugins/zsh-peco-history

И активируй в ~/.zshrc:

plugins=(git fasd zsh-peco-history)

Теперь комбинация Ctrl + R будет запускать полноэкранное меню peco вместо однострочной поисковой строки.

 

Копируем, удаляем, переименовываем

Казалось бы, что может быть проще, чем скопировать или переименовать файл? Просто вбиваешь команду cp или mv, а затем старое и новое имена:

$ cp httpd.conf httpd.conf.bak

Но зачем утруждать себя, нажимая лишние кнопки, если можно сделать так:

$ cp httpd.conf{,.bak}

Строка, содержащая фигурные скобки с двумя строками, разделенными запятой, будет развернута в две строки, в одной из которых будут символы до запятой, а в другой — символы после.

Можно пойти дальше и использовать не просто замену строк, а регулярные выражения. Для этого нам понадобится команда rename:

$ rename 's/регулярка/на_что_заменить/' *.txt

Такая команда заменит все подстроки, подпадающие под регулярное выражение, в именах всех файлов с расширением .txt. Недурно, не правда ли?

Также стоит изучить команду basename. При обычном использовании она просто выводит последний элемент пути:

$ basename /usr/bin/zsh
zsh

Но также ее можно использовать для отрезания частей строки, например:

$ basename file.txt .txt
file

Ты можешь спросить, что это дает? А вот что:

$ for file in *.png; do convert "$file" "`basename "$file" .png`.jpg" ; done;

Это перекодировщик всех файлов PNG в JPG. Команда крайне проста: мы создаем цикл, который проходится по всем файлам PNG в текущем каталоге, затем запускает команду convert для перекодировки их в JPG. Basename здесь нужен для того, чтобы дать новым файлам корректное имя. Хинт: обратные кавычки запускают заключенную в себя команду в так называемом субшелле. Они нужны для запуска одной команды из другой.

Чтобы понять их мощь, обрати внимание на следующую команду:

$ rm -f `tar ztf /path/to/file.tar.gz`

Уверен, эта команда не раз спасет тебя, когда ты распакуешь архив tar.gz не в тот каталог. Она удаляет все ранее распакованные файлы.

 

Ищем правильно

Ты уже должен знать, что в любой UNIX-системе есть команда find, предназначенная для поиска файлов. Использовать ее предельно просто:

$ find . -name *.c -type f

Эта команда найдет все файлы с расширением .c в текущем каталоге и во всех его подкаталогах. Но что делать, если в каждом из этих файлов необходимо найти строку open? А вот это:

$ find -name *.c -type f | xargs grep open
Ищем open в файлах .c

Можно и несколько по-другому:

$ find . -name *.c -exec grep -H open {} ;

Этот пример немного сложнее и, как ни странно, медленнее. Почему? Потому, что xargs распараллелит поиск, запустив отдельный процесс grep на каждую строку.

При желании от find можно вообще избавиться:

$ grep -R open --include="*.c".

По сути, это эквивалент предыдущей команды.

 

Работаем с буфером обмена

Читая эту статью, ты наверняка то и дело копировал команды и вставлял их в терминал. Если нет — значит, ты набирал их сам, что правильно, память тебя отблагодарит. В любом случае копировать и вставлять команды в терминал жутко неудобно, как, впрочем, неудобна и сама концепция копирования/вставки.

Однако в случае с терминалом у тебя есть один очень мощный инструмент. Он называется xclip и позволяет копировать и вставлять в буфер обмена. Для начала добавь в ~/.zshrc следующие строки и перезапусти терминал (или ZSH):

alias -g xcopy='xclip -selection clipboard'
alias -g xpaste='xclip -selection clipboard -o'

Теперь, чтобы что-то скопировать в буфер обмена, просто перенаправь вывод в xcopy. Например:

$ uname -a | xcopy

В буфере обмена окажется вывод команды uname -a. Вставить можно таким же образом:

$ xpaste

Вывод также можно перенаправить. Или заключить xpaste в обратные кавычки, чтобы его содержимое было выполнено шеллом.

 

Выводы

Командная строка не просто мощный инструмент. Это настолько мощный инструмент, что мне даже трудно придумать, какой тип интерфейса ОС может быть эффективнее. То, о чем я написал, — такая крошечная часть верхушки айсберга, что для описания всех трюков командной строки потребовалась бы серия книг, сродни «Большой советской энциклопедии». Ну а напоследок то, чего все так долго ждали, — dd с показом прогресса:

$ pv -tpreb /dev/sdb | dd of=~/sdb.img bs=1M

На этом все.

WWW

Базовые команды UNIX

Базовые команды UNIX Примечание: не все из них на самом деле являются частью самой UNIX, и вы можете не найти их на всех машинах UNIX. Но все они могут быть использованы на turing . практически таким же образом, набрав команду и нажав возвращение. Обратите внимание, что некоторые из этих команд отличаются от других в Solaris. машины — см. отличия SunOS.
Если вы допустили опечатку, проще всего нажать CTRL-u , чтобы отменить всю строку. Но вы также можете редактировать командную строку (см. руководство по более UNIX).
UNIX чувствителен к регистру.

Файлы

  • ls — выводит список ваших файлов
    ls -l — перечисляет ваши файлы в «длинном формате», который содержит множество полезная информация, например точный размер файла, которому принадлежит файл и кто имеет право на это смотреть, и когда оно было изменено в последний раз.
    ls -a — перечисляет все файлы, включая те, чьи имена начинаются с точка, которую не всегда хочется видеть.
    Есть много других опций, например, чтобы перечислить файлы по размеру, дата, рекурсивно и т. д.
  • еще filename — показывает первую часть файла, ровно столько, сколько поместится на одном экране. Просто нажмите пробел, чтобы увидеть больше или q бросить курить. Вы можете использовать шаблон / для поиск по выкройке.
  • emacs filename — это редактор, который позволяет вам создать и отредактировать файл. См. Страницу emacs.
  • mv filename1 filename2 — перемещает файл (т.е. дает это другое имя или перемещает его в другой каталог (см. ниже)
  • cp filename1 filename2 — копирует файл
  • rm filename — удаляет файл.Целесообразно использовать параметр rm -i, который попросит вас подтвердить, прежде чем фактически удаление чего угодно. Вы можете сделать это по умолчанию, создав псевдоним в файле .cshrc.
  • diff filename1 filename2 — сравнивает файлы и показывает, чем они отличаются
  • wc filename — сообщает вам, сколько строк, слов, и символы есть в файле
  • chmod options filename — позволяет изменить чтение, писать и выполнять разрешения для ваших файлов.По умолчанию это только вы можете посмотреть на них и изменить их, но иногда вы можете захотеть измените эти разрешения. Например, chmod o + r filename сделает файл доступным для чтения всем, и chmod o-r filename сделает его нечитаемым для других опять таки. Обратите внимание, что для того, чтобы кто-то действительно мог посмотреть файл каталоги, в которых он находится, должны быть по крайней мере исполняемыми. См. Дополнительную информацию в справке по защите.
  • Сжатие файлов
    • gzip filename — сжимает файлы, чтобы они занимают гораздо меньше места.Обычно текстовые файлы сжимаются примерно до половины их исходный размер, но он очень сильно зависит от размера файла и характер содержания. Для этого есть и другие инструменты цель тоже (например, сжать ), но gzip обычно дает самая высокая степень сжатия. Gzip создает файлы с окончанием ‘.gz’ добавляется к исходному имени файла.
    • gunzip filename — распаковывает файлы, сжатые с помощью gzip.
    • gzcat filename — позволяет просматривать сжатый файл без на самом деле нужно его распаковать (то же самое, что и gunzip -c ).Ты даже можешь распечатайте его напрямую, используя gzcat filename | LPR
  • печать
    • lpr filename — print. Используйте параметр -P, чтобы указать имя принтера, если вы хотите использовать принтер, отличный от вашего по умолчанию принтер. Например, если вы хотите распечатать двустороннюю печать, используйте lpr -Pvalkyr-d ‘, или, если вы работаете в CSLI, вы можете использовать’ lpr -Pcord115-d ‘. Дополнительную информацию о принтерах см. В справке по принтерам. и их местонахождение.
    • lpq — проверить очередь принтера, например чтобы получить номер, необходимый для удаления, или чтобы узнать, сколько других файлов будет напечатано прежде чем выйдет ваш
    • lprm jobnumber — удалите что-нибудь из очередь принтера. Вы можете найти номер вакансии, используя lpq. Теоретически вы также должны указать имя принтера, но это не обязательно, поскольку пока вы используете в отделе принтер по умолчанию.
    • genscript — преобразует текстовые файлы в PostScript для печати и дает вам несколько вариантов форматирования.Рассмотреть возможность создание псевдонима типа alias ecop ‘genscript -2 -r \! * | lpr -h -Pvalkyr ‘ для печати двух страниц на одном листе бумаги.
    • dvips filename — распечатать файлов .dvi (т.е. файлы, созданные LaTeX). Вы можете использовать dviselect только для печати выбранные страницы. См. Страницу LaTeX для получения дополнительной информации информация о том, как сэкономить бумагу при печати черновиков.

Справочники

Каталоги, как и папки на Macintosh, используются для группировки файлов. вместе в иерархической структуре.
  • mkdir dirname — создайте новый каталог
  • cd dirname — сменить каталог. Вы в основном идете в другой каталог, и вы увидите файлы в этом каталоге когда вы делаете «ls». Вы всегда начинаете со своего «домашнего каталога», и вы можете вернуться туда, набрав «cd» без аргументов. cd .. будет поднять вас на один уровень выше вашего текущего положения. Вам не нужно идти шаг за шагом — можно делать большие прыжки или избегать ходьбы вокруг, указав пути.
  • pwd — сообщит вам, где вы сейчас находитесь.

В поисках вещей

  • ff — найти файлы в любом месте системы. Это может быть чрезвычайно полезно, если вы забыли, в какой каталог вы поместили файл, но помните имя. Фактически, если вы используете ff -p , вы не даже нужно полное имя, только начало. Это также может быть полезно для поиска других вещей в системе, например документация.
  • grep string filename (s) — ищет строку в файлы.Это может быть полезно для многих целей, например находка нужный файл среди многих, выясняя, какая версия является правильной что-то, и даже делать серьезную корпусную работу. grep входит в несколько разновидностей ( grep , egrep и fgrep ) и имеет много очень гибких вариантов. Просмотрите страницы руководства, если это звучит хорошо тебе.

О других людях

  • w — сообщает вам, кто вошел в систему и что они делают. Особенно полезно: «неактивная» часть.Это позволяет увидеть, на самом деле они сидят и печатают на своей клавиатуре прямо в момент.
  • who — расскажет, кто вошел в систему и где они приходящий из. Полезно, если вы ищете кого-то, кто на самом деле физически в том же здании, что и вы, или в каком-то другом конкретном место нахождения.
  • finger имя пользователя — дает много информации об этом пользователе, например когда они в последний раз читали свою почту и были ли они авторизован.Часто люди помещают другую практическую информацию, например, телефон номера и адреса в файле под названием .plan . Эта информация также отображается «пальцем».
  • последний -1 имя пользователя — сообщает вам, когда пользователь последний раз входил и выходил и откуда. Без каких-либо опций последние будут дать вам список всех логинов.
  • talk имя пользователя — позволяет вам вести (печатный) разговор с другой пользователь
  • написать имя пользователя — позволяет обмениваться однострочными сообщения с другим пользователем
  • elm — позволяет отправлять сообщения электронной почты людям в мир (и, конечно же, их прочтите).Это не единственный почтовик, который можно используйте, но тот, который мы рекомендуем. Увидеть вяз страницу, и узнайте об ведомственных списки рассылки (которые вы также можете найти в / пользователь / лингвистика / справочный файл).

О себе (электронном)

  • whoami — возвращает ваше имя пользователя. Звучит бесполезно, но нет. Возможно, вам потребуется узнать, кто забыл войти где-нибудь, и убедитесь, что * вы * вышли из системы.
  • finger и файлы .plan
    , конечно, можно и пальцем пощупать.Это может быть полезно, например, в качестве быстрой проверки, получили ли вы новую почту. Попробуйте создать полезный .plan файл в ближайшее время. Ищите идеи в чужих файлах .plan. В файл должен быть доступен для чтения всем, чтобы быть видимым через ‘Палец’. При необходимости выполните команду chmod a + r .plan. Вы должны понять, что эта информация доступна из любой точки мира, а не только другие люди по Тьюрингу.
  • passwd — позволяет вам изменить пароль, который вам следует делайте регулярно (не реже одного раза в год).См. Руководство LRB и / или посмотрите пароль справки.
  • ps -u yourusername — перечисляет ваши процессы. Содержит много информация о них, включая идентификатор процесса, который вам нужен если вам нужно убить процесс. Обычно, когда тебя выгнали сеанса дозвона или каким-либо другим способом отключен внезапно, этот список будет содержать нужные вам процессы убить. Они могут включать оболочку (tcsh или что-то еще, что вы используете), и все, что вы запускали, например emacs или elm.Будь осторожен чтобы не убить вашу текущую оболочку — ту, у которой номер ближе к одна из команд ps, которые вы сейчас выполняете. Но если это случится, не паникуйте. Просто попробуйте еще раз 🙂 Если вы используете X-дисплей, вы можете необходимо убить некоторые X-процессы, прежде чем вы сможете их снова запустить. Эти будет отображаться только при использовании ps -efl , потому что они root процессы.
  • kill PID — убивает (завершает) процессы с идентификатором ты дал. Конечно, это работает только для ваших собственных процессов.Получить ID с помощью пс . Если процесс не «умирает» должным образом, используйте опция -9. Но сначала попробуйте без этого варианта, потому что он не дает возможности завершить процесс возможно важно бизнес перед смертью. Вам может потребоваться убить процессы, например, если ваше модемное соединение было прервано, и вы не вышли из системы правильно, что иногда бывает.
  • quota -v — показать, какая у вас квота на диск есть (т.е. сколько места у вас есть для хранения файлов), сколько вы фактически используете, и в случае, если вы превысили свою квоту (которую вы получать автоматическое предупреждение системы) сколько времени вы осталось разобраться в них (удалив или сжав некоторые из них, или переместив их на свой компьютер).
  • du filename — показывает использование диска файлами и каталоги в имя файла (без аргументов текущий каталог используется). du -s дает только общую сумму.
  • last yourusername — перечисляет ваши последние входы в систему. Жестяная банка быть полезным помощником в памяти о том, когда вы были где, как долго вы были работаете и отслеживает ваш телефонный счет, если вы делаете не местный телефонный звонок для дозвона.

Подключение к внешнему миру

  • nn — позволяет читать новости.Сначала это позволит вам прочитать местные новости по Тьюрингу, а затем удаленные новости. Если ты хочешь читать только местные или удаленные новости, вы можете использовать nnl или nnr , соответственно. Чтобы узнать больше о nn , введите nn , затем \ tty {: man}, затем \ tty {=. *}, затем \ tty {Z}, затем нажмите пробел, чтобы пошагово пройти через руководство. Или посмотрите справочную страницу. Или посмотрите гипертекст nn FAQ — наверное, самый простой и интересный способ.
  • rlogin hostname — позволяет подключаться к удаленному хосту
  • telnet hostname — также позволяет подключаться к удаленный узел.По возможности используйте rlogin .
  • ftp hostname — позволяет загружать файлы с удаленный хост, настроенный как ftp-сервер. Это распространенный метод для обмена академическими работами и черновиками. Если вам нужно сделать бумагу доступных таким образом, вы можете (временно) поместить копию в / пользователь / ftp / pub / TMP. Если вам нужны более надежные решения, спросите Эмму. Большинство важные команды в ftp: get для получения файлов из удаленный компьютер, и поместил для их размещения ( mget и mput позволяет указать более одного файла одновременно).Звуки прямолинейно, но не путайте их, особенно когда ваше физическое местоположение не соответствует направлению ftp соединение, которое вы устанавливаете. ftp просто перезаписывает файлы такими же имя файла. Если вы передаете что-либо, кроме текста ASCII, используйте двоичный режим.
  • lynx — позволяет просматривать веб-страницы с обычного Терминал. Конечно, вы можете видеть только текст, а не изображения. Вы можете ввести любой URL-адрес в качестве аргумента команды G .Когда вы делаете это с любого хоста Стэнфорда, вы можете не указывать .stanford.edu часть URL-адреса при подключении к URL-адресам Стэнфордского университета. Введите H в любое время, чтобы узнать больше о lynx , и Q для выхода.

Инструменты разные

  • webster word — ищет слово в электронном версия словаря Вебстера и возвращает определение (я)
  • дата — показывает текущую дату и время.
  • cal — показывает календарь текущего месяца. Используйте, например, «cal 10 1995», чтобы получить это за октябрь 95, или «cal 1995», чтобы получить Весь год.
Вы можете узнать больше об этих командах, просмотрев их manpages:
man имя команды — показывает страницу руководства для команда

Дальнейшие способы получения помощи смотрите на страницах с электронными источниками информации. и неэлектронные источники.

Дополнительные команды UNIX


Резервное копирование на главную страницу вычислений

Базовые команды Unix

Знание основных команд Unix должно позволить вам перемещаться по системе Unix или Linux, подтверждать текущий статус системы и управлять файлами или каталогами.

ОБНОВЛЕНИЕ 01/2019 : Вскоре я опубликую короткое видео-пошаговое руководство по основным командам Unix здесь, вверху страницы.

Получение помощи в Unix

  • man — просмотр справочных страниц для команд Unix

Команды оболочки Unix

  • clear — прозрачный экран
  • history — показать историю предыдущих команд

Команды времени и даты

  • дата — показать текущую дату и время
  • sleep — ждать заданное количество секунд
  • uptime — узнайте, сколько времени работает система

Команды пользователей Unix

Эти команды позволяют получить основную информацию о пользователях Unix в вашей среде.

  • whoami — показать ваше имя пользователя
  • id — распечатать идентификатор пользователя
  • группы — показать, к каким группам принадлежит пользователь
  • passwd — изменить пароль пользователя
  • who — узнать, кто авторизован в системе
  • last — показать историю входов в систему

Операции с файлами Unix

Навигация по файловой системе и управление файлами и разрешениями доступа:

  • ls — список файлов и каталогов
  • cp — копировать файлы (в работе)
  • rm — удалить файлы и каталоги (в работе)
  • mv — переименовать или переместить файлы и каталоги в другое место
  • chmod — изменить права доступа к файлу / каталогу
  • chown — изменить владельца файла / каталога

Операции с текстовыми файлами в Unix

Большая часть важной конфигурации в Unix находится в текстовых файлах, эти команды позволят вам быстро проверить файлы или просмотреть журналы:

  • cat — объединить файлы и отобразить содержимое на стандартный вывод
  • more — базовая разбивка на страницы при просмотре текстовых файлов или анализе вывода команд Unix
  • less — улучшенный инструмент нумерации страниц для просмотра текстовых файлов (лучше, чем команда more)
  • head — показать первые 10 строк текстового файла (можно указать любое количество строк)
  • tail — показать последние 10 строк текстового файла (можно указать любое число)
  • grep — поиск шаблонов в текстовых файлах

Команды управления каталогом Unix

Навигация по файловым системам и управление каталогами:

  • cd — изменить каталог
  • pwd — подтвердить текущий каталог
  • ln — создавать ссылки и символические ссылки на файлы и каталоги
  • mkdir — создать новый каталог
  • rmdir — удалить каталоги в Unix

Команды состояния системы Unix

Наиболее полезные команды для просмотра конфигурации имени хоста и важной статистики:

  • hostname — показать или установить имя хоста сервера
  • w — отображение загрузки системы, кто вошел в систему и что они делают
  • uname — распечатать информацию о системе Unix

Перезагрузка

  • shutdown — плавное завершение работы и перезагрузка вашей системы
  • остановка — некорректное (без остановки служб ОС) завершение работы
  • reboot — некорректная перезагрузка (без остановки служб ОС)

Сетевые команды в Unix

Наиболее полезные команды для проверки настроек сети и изучения сетевых подключений и портов:

  • ifconfig — показать и установить IP-адреса (встречаются практически везде)
  • ip — показать и установить IP-адреса (в последних версиях Linux)
  • ping — проверить, доступен ли удаленный хост через ICMP ping
  • netstat — показать статистику сети и информацию о маршрутизации

Управление процессами

Список процессов и подтверждение их статуса, а также остановка процессов при необходимости:

  • ps — список процессов
  • вверху — показать задачи и статус системы
  • kill — убить процесс (остановить работу приложения)

Команды удаленного доступа

ssh — действительно единственный способ пойти, но также важно знать telnet:

  • telnet — незащищенный (незащищенный) протокол удаленного доступа
  • ssh — Secure SHell — зашифрованный клиент удаленного доступа
    • Проверьте ссылку SSH!

Команды передачи файлов

Всегда полезно знать, как копировать файлы между серверами или просто загрузить какой-нибудь пакет из Интернета:

  • ftp — открытый текст (небезопасно!) Клиент протокола передачи файлов
  • sftp — безопасная (зашифрованная) версия FTP
  • scp — безопасная (зашифрованная) версия команды cp
  • wget — загрузка файлов с удаленных серверов, HTTP / HTTPS и FTP

См. Также

Базовые команды UNIX

Основные команды UNIX

от Дональда Хаятта

Операционная система UNIX на протяжении многих лет составляла основу Интернет, особенно для крупных серверов и большинства крупных университетских городков.Однако бесплатная версия UNIX под названием Linux имеет добился значительных успехов в сравнении с Macintosh и Microsoft Среды Windows 95/98 / NT, которые так часто ассоциируются с персональными компьютерами. Разработано рядом волонтеров на Интернет, такой как группа Linux и проект GNU, большая часть программного обеспечения с открытым исходным кодом является защищены авторским правом, но доступны бесплатно. Этот особенно ценно для тех, кто работает в образовательной среде, где бюджеты часто ограничены.

Команды UNIX часто можно сгруппировать, чтобы сделать их еще более мощными. команды с возможностями, известными как перенаправление ввода-вывода ( < для получения ввода из файла input и > для вывода в файл) и piping с использованием | для подачи одна команда в качестве входных данных для следующей.Пожалуйста, изучите руководства в lab для большего количества примеров, чем несколько предложенных здесь.

На следующих диаграммах представлен обзор некоторых простых команд UNIX. Эти конечно, не все команды доступны в этом надежном рабочем системы, но это поможет вам начать работу.

Десять ОСНОВНЫХ команд UNIX

Это десять команд, которые вам действительно нужно знать, чтобы начать работу. с UNIX. Они есть вероятно, это похоже на команды, которые вы уже знаете для другой операционной системы.
Команда Пример Описание
1. ls ls
ls -alF
Список файлов в текущем каталоге.
Список в длинном формате.
2. cd cd tempdir
компакт-диск ..
cd ~ dhyatt / веб-документы
Измените каталог на tempdir
Вернуться на одну директорию
Перейти в каталог веб-документов dhyatt
3. mkdir mkdir графика Создайте каталог под названием graphics
4. rmdir rmdir emptydir Удалить каталог (должен быть пустым)
5. cp cp file1 web-docs
cp file1 file1.bak
Скопируйте файл в каталог
Сделайте резервную копию файла1
6. пм rm file1.bak
rm * .tmp
Удалить или удалить файл
Удалить все файлы
7. мв mv old.html new.html Переместить или переименовать файлы
8. более подробнее index.html Смотрите файл, по одной странице за раз
9. лпр lpr index.html Отправить файл на принтер
10. мужчина мужчина ls Онлайн-руководство (справка) о команде


Десять VALUABLE UNIX-команд

После того, как вы освоите основные команды UNIX, они будут весьма полезны. в управлении собственной учетной записью.
Команда Пример Описание
1. grep <файлы> grep «плохое слово» * Найдите, какие файлы содержат определенное слово
2. chmod <файл> chmod 644 * .html
chmod 755 file.exe
Изменить права доступа к файлу только для чтения
Изменить права доступа к файлу на исполняемый файл
3. пароль пароль Изменить пароль
4. ps ps aux
ps aux | греп дхьятт
Список всех запущенных процессов по #ID
Список ID процессов, запущенных по dhyatt
5. kill убить -9 8453 Завершить процесс с ID # 8453
6. gcc (g ++) <источник> gcc файл.c -o файл
g ++ fil2.cpp -o fil2
Компилировать программу, написанную на C
Компилировать программу, написанную на C ++
7. gzip <файл> gzip bigfile
gunzip bigfile.gz
Сжать файл
Распаковать файл
8. почта
(сосна)
mail [email protected] < file1
сосна
Отправить file1 кому-нибудь по электронной почте
Прочитать почту, используя сосну
9. telnet <хост>
ssh <хост>
telnet vortex.tjhsst.edu
ssh -l dhyatt jazz.tjhsst.edu
Открыть соединение с vortex
Открыть безопасное соединение с джазом как пользователь dhyatt
10. ftp <хост>
ncftp <хост / каталог>
ftp station1.tjhsst.edu
ncftp metalab.unc.edu
Загрузить или скачать файлы на станцию ​​1
Подключение к архивам в UNC

Десять FUN UNIX-команд

Это десять команд, которые могут показаться вам интересными или забавными.Они есть на самом деле иногда бывает полезно, и его не следует считать праздным развлечением.
Команда Пример Описание
1. кто кто Списки тех, кто вошел в систему на вашем компьютере
2. Палец Палец Списки тех, кто работает на компьютерах в лаборатории
3. ytalk <пользователь @ место> ytalk dhyatt @ угроза Поговорите онлайн с дхьятом, которому угрожает опасность
4. история история Список команд, которые вы выполняли за последнее время
5. удача удача Распечатать случайное большое количество сообщений
6. Дата Дата Распечатать текущую дату
7. кал кал 9 2000 Распечатать календарь на сентябрь 2000 г.
8. xeyes xeyes & amp Следите за курсором (в «фоне»)
9. xcalc xcalc & Калькулятор («фоновый» процесс)
10. mpage mpage -8 file1 | л / р Распечатать 8 страниц на одном листе и отправить на принтер (шрифт будет мелкий!)

Десять ПОЛЕЗНЫХ команд UNIX

Эти десять команд очень полезны, особенно с графическими приложениями и приложениями для обработки текстов.
Команда Пример Описание
1. Netscape netscape & Запустите браузер Netscape
2. xv xv & Запустить конвертер графических файлов
3. xfig / xpaint xfig & (xpaint &) Запустить программу рисования
4. канитель канитель и Запустить программу типа фотошоп
5. ispell ispell file1 Файл проверки орфографии1
6. латекс латекс file.tex Запустите LaTeX, инструмент для создания научных документов
7. xemacs / pico xemacs (или пико) Разные редакторы
8. офис офис и Запустите StarOffice, полноценный текстовый процессор
9. м-инструменты (mdir, mcopy,
mdel, mformat и т. д.)
mdir a:
mcopy file1 a:
Команды DOS из UNIX (dir A 🙂
Скопируйте файл1 в A:
10. гнуплот гнуплот Графическое отображение данных

Десять ПОЛЕЗНЫХ команд UNIX:

Эти десять команд полезны для мониторинга доступа к системе или упрощения вашего собственная среда.
Команда Пример Описание
1. df df Посмотрите, сколько свободного места на диске
2. ду du -b subdir Оценить использование диска в каталоге в байтах
3. псевдоним псевдоним lls = «ls -alF» Создайте новую команду «lls» для длинного формата ls
4. xhost xhost + угроза.tjhsst.edu
xhost —
Разрешить отображение окна из программы x-window от угрозы
Запретить доступ x-window из других систем
5. складывать складки file1 | л / р Сложите или разорвите длинные строки по 60 символов и отправьте на принтер
6. деготь tar -cf subdir.tar subdir
tar -xvf subdir.tar
Создайте архив с именем subdir.tar из каталога
Извлечение файлов из файла архива
7. ghostview (gv) gv filename.ps Просмотр файла Postscript
8. пинг
(трассировка)
пинг угроза.tjhsst.edu
traceroute www.yahoo.com
Проверить, жив ли машина
Распечатать путь данных к машине
9. Топ Топ Использование системы печати и основные потребляющие ресурсы
10. выход (выход) выйти из системы или выйти Как выйти из оболочки UNIX.


Другие полезные страницы

базовых команд Unix | Информационные технологии

Используйте следующие команды, чтобы помочь вам управлять своей учетной записью Unix.

ВАЖНО: Операционная система Unix (Ultrix) чувствительна к регистру. Все команды должны вводиться строчными буквами, если не указано иное.

Отображение каталога

ls– Выводит список имен файлов в определенном каталоге Unix. Если вы наберете команду ls без параметров или квалификаторов, команда отобразит файлы, перечисленные в вашем текущем рабочем каталоге. Когда вы даете команду ls, вы можете добавить один или несколько модификаторов для получения дополнительной информации.

Пример: ls
Результат: Список имен файлов в каталоге по умолчанию в алфавитном порядке.

Пример: ls -l
Результат: дает «длинный список» файлов в вашем каталоге. В дополнение к имени файла в длинном списке отображается информация о защите, владелец файла, количество символов в файле, а также дата и время последнего изменения файла.

Пример: ls -a
Результат: выводит в список все ваши файлы, включая те файлы, которые начинаются с точки (т.е.е., скрытые файлы).

Для получения дополнительных сведений введите man ls в командной строке Unix.

Отображение и объединение (объединение) файлов

подробнее– Позволяет проверять непрерывный текст по одному экрану за раз на терминале. Обычно он приостанавливается после каждого показа экрана, печатая — Больше — внизу экрана. Нажмите RETURN, чтобы отобразить еще одну строку. Нажмите пробел, чтобы отобразить другой экран. Нажмите букву Q, чтобы прекратить отображение файла.

Пример: more newfile
Результат: отображает содержимое «newfile» на одном экране («странице») за раз.

Для получения дополнительных сведений об этой команде введите man more в командной строке Unix.

cat — отображает содержимое файла на вашем терминале.

Пример: cat newfile
Результат: Отображает содержимое файла «newfile» на вашем терминале.

Пример: cat newfile oldfile
Результат: отображает содержимое двух файлов — «newfile» и «oldfile» — на вашем терминале как одно непрерывное отображение.

Во время отображения файла вы можете прервать вывод, нажав CTRL + C и вернувшись в системную подсказку Unix. CTRL + S приостанавливает отображение файла на терминале и обработку команды. Чтобы возобновить отображение, нажмите CTRL + Q . Прерванная команда отображает строки, начинающиеся с точки, в которой обработка была прервана.

Команда cat также используется для объединения (объединения) файлов и помещения их в другой файл.Если вы объедините файлы в другой, который уже существует, существующее содержимое будет безвозвратно потеряно.

Пример: cat fileone filetwo filethree> newfile
Результат: связывает вместе три файла — fileone, filetwo и filethree — в новый файл с именем «newfile». Исходные файлы остаются нетронутыми.

Для получения дополнительных сведений о команде cat введите man cat в командной строке Unix.

Копирование файлов

cp– Делает копии ваших файлов.Вы можете использовать его для создания копий файлов в каталоге по умолчанию, для копирования файлов из одного каталога в другой или для копирования файлов с других устройств.

Пример: cp fileone filetwo
Результат: копирует содержимое fileone в файл с именем filetwo. Теперь существуют два отдельных файла.

Пример: cp / usr / neighbour / testfile.
Результат: копирует файл testfile из каталога / пользователя / соседа в вашу учетную запись Unix. Точка (.) В конце командной строки означает, что файл должен быть скопирован в ваш текущий рабочий каталог, а имя останется прежним.

Чтобы скопировать файл из каталога другого пользователя в Unix, вы должны знать имя пользователя.

Пример: cp ~ username / file1 yourfile
Результат: копирует файл «file1» от пользователя в вашу учетную запись Unix. Имя файла в вашем каталоге становится yourfile. (Чтобы иметь возможность копировать файл, необходимо установить защиту, чтобы файл был доступен для чтения вами в каталоге другого пользователя.)

Для получения дополнительных сведений введите man cp в командной строке Unix.

Удаление файлов

rm– Удаляет определенные файлы. Вы можете ввести более одной спецификации файла в командной строке, разделив спецификации файла пробелами.

Пример: rm newfile
Результат: Удаляет файл с именем «newfile».

Пример: rm newfile oldfile
Результат: Удаляет два файла — «новый файл» и «старый файл».

Пример: rm new *
Результат: удаляются все файлы, начинающиеся с префикса new.

Для получения дополнительных сведений введите man rm в командной строке Unix.

Переименование файлов

mv– Эта команда изменяет идентификацию (имя) одного или нескольких файлов.

Пример: mv oldfile newfile
Результат: изменяет имя файла «oldfile» на «newfile». Будет существовать только один файл.

Пример: mv oldfile bin / newfile
Результат: изменяет имя файла «oldfile» на «newfile» и помещает его в каталог / bin.Будет существовать только один файл.

Для получения дополнительных сведений введите man mv в командной строке Unix.

Печать из Unix

Команда lpr печатает файлы в Unix. Используйте параметр -Pqueuename для выбора принтера.

Пример: lpr -Ppittprint sample.file
Результат: это выходной файл по умолчанию. Односторонний вывод, объем текста на каждую сторону, книжный формат. Вывод помещается в очередь на станции печати Pitt.

Операционная система Unix чувствительна к регистру; введите все команды строчными буквами, если не указано иное.

Помощь

Круглосуточная служба ИТ-поддержки по телефону 412-624-HELP (4357) доступна 24 часа в сутки, семь дней в неделю, чтобы ответить на ваши вопросы, связанные с технологиями. Вопросы также можно отправлять онлайн.

25 лучших команд и создание пользовательских команд

Командная строка — это то, что каждый разработчик должен изучить и внедрить в свою повседневную жизнь. Он стал швейцарским армейским ножом с функциями обманчиво простых команд, которые позволяют вам получить больший контроль над вашей системой, повысить производительность и многое другое.Например, вы можете писать сценарии для автоматизации ежедневных трудоемких задач и даже быстро фиксировать и отправлять код в репозиторий Git с помощью всего нескольких простых команд.

В этом посте мы рассмотрим оболочку Bash ( B ourne A gain SH ell), которая представляет собой интерфейс командной строки (CLI) и в настоящее время является наиболее широко используемой оболочкой. Это легкое введение в самые популярные команды, когда вы, скорее всего, их будете использовать, и то, как расширить их с помощью параметров.Позже в этой статье вы узнаете, как создавать собственные пользовательские команды (псевдонимы), позволяющие создавать ярлыки для одной команды или группы команд.

Если говорить о командной строке, значит, вы не используете свой компьютер в полной мере.

Узнайте, как автоматизировать сценарии.

Поднимите свои навыки Bash на новый уровень с помощью интерактивного курса Ян Миелл, автор книги Learn Bash the Hard Way

Мастер Bash Shell

25 лучших команд Bash

Краткое примечание: Все, что заключено в [] , означает, что это необязательно.Некоторые команды можно использовать без параметров или без указания файлов.

ls — Список содержимого каталога

ls — наверное, самая распространенная команда. Часто вы будете работать в каталоге, и вам нужно будет знать, какие файлы там находятся. Команда ls позволяет быстро просмотреть все файлы в указанном каталоге.


echo — выводит текст в окно терминала

echo выводит текст в окно терминала и обычно используется в сценариях оболочки и пакетных файлах для вывода текста состояния на экран или в компьютерный файл.Echo также особенно полезно для отображения значений переменных среды, которые сообщают оболочке, как вести себя, когда пользователь работает в командной строке или в сценариях.


touch — Создает файл

touch будет самым простым способом создания новых файлов, но его также можно использовать для изменения отметок времени в файлах и / или каталогах. Вы можете создать столько файлов, сколько захотите, с помощью одной команды, не беспокоясь о перезаписи файлов с одинаковыми именами.

  • Синтаксис: touch [параметры] имя_файла

  • Общие параметры: -a, -m, -r, -d


mkdir — Создать каталог

mkdir — полезная команда, которую можно использовать для создания каталогов. Одновременно можно создать любое количество каталогов, что может значительно ускорить процесс.

  • Синтаксис: mkdir [параметры] имя_каталога

  • Общие параметры: -m, -p, -v


grep — поиск

grep используется для поиска текста по шаблонам, указанным пользователем.Это одна из самых полезных и мощных команд. Часто возникают сценарии, в которых вам будет предложено найти определенную строку или шаблон в файле, но вы не знаете, с чего начать поиск, и именно здесь grep чрезвычайно полезен.

  • Синтаксис: grep [параметры] шаблон [файл (ы)]

  • Общие параметры: -i, -c, -n


человек — Распечатайте руководство или получите помощь по команде

Команда man — это ваше руководство, которое очень полезно, когда вам нужно выяснить, что делает команда.Например, если вы не знаете, что делает команда rmdir, вы можете использовать команду man, чтобы узнать это.

  • Синтаксис: человек [параметры] ключевое слово (и)

  • Общие параметры: -w, -f, -b


pwd — Распечатать рабочий каталог

pwd используется для печати текущего каталога, в котором вы находитесь. Например, если у вас работает несколько терминалов и вам нужно запомнить точный каталог, в котором вы работаете, pwd сообщит вам об этом.


cd — Изменить каталог

cd изменит каталог, в котором вы находитесь, чтобы вы могли получать информацию, управлять, читать и т. Д. С различными файлами и каталогами в вашей системе.


mv — Переместить или переименовать каталог

mv используется для перемещения или переименования каталогов. Без этой команды вам пришлось бы индивидуально переименовывать каждый файл, что утомительно. mv позволяет выполнять пакетное переименование файлов, что может сэкономить массу времени.


rmdir — Удалить каталог

rmdir удалит пустые каталоги. Это поможет освободить место на вашем компьютере и упорядочить файлы и папки. Важно отметить, что есть два способа удалить каталоги: rm и rmdir. Разница между ними в том, что rmdir удаляет только пустые каталоги, тогда как rm удаляет каталоги и файлы независимо от того, содержат они данные или нет.


найти — найти определенный файл или каталог

Это, безусловно, самый простой способ найти файл или каталог.Вы можете расширить область поиска, если не знаете, что именно ищете, или сузить область поиска, используя подстановочные знаки или регулярные выражения.

  • Синтаксис: найти [параметры] имя_файла

  • Общие параметры: -q, -n, -i


Нравится статья? Прокрутите вниз, чтобы подписаться на нашу бесплатную рассылку новостей, выходящую два раза в месяц.

меньше — просмотреть содержимое текстового файла

Команда меньше позволяет просматривать файлы, не открывая редактор.Его можно использовать быстрее, и вы не можете случайно изменить файл.


compgen — показывает все доступные команды, псевдонимы и функции

compgen — удобная команда, когда вам нужно сослаться на все доступные команды, псевдонимы и функции.

  • Синтаксис: compgen [параметры]

  • Общие параметры: -a, -c, -d


> — стандартный вывод перенаправления

Символ > — это оператор перенаправления.Он берет выходные данные предыдущей команды, которые вы обычно видите в терминале, и отправляет их в файл, который вы ему передаете. В качестве примера возьмем эхо «содержимое файла1»> файл1. Здесь он создает файл с именем file1 и помещает в него отображаемую строку.

  • Синтаксис: >

  • Общие опции: н / д


cat — чтение файла, создание файла и объединение файлов

cat — одна из наиболее универсальных команд, выполняющая три основные функции: их отображение, объединение их копий и создание новых.


| — Труба

Канал принимает стандартный вывод одной команды и передает его в качестве ввода другой.

  • Синтаксис: |

  • Общие опции: н / д


голова — чтение начала файла

По умолчанию команда head отображает первые 10 строк файла. Бывают случаи, когда вам может потребоваться быстро просмотреть несколько строк в файле, и заголовок позволяет вам это сделать.Типичный пример использования head — это когда вам нужно проанализировать журналы или текстовые файлы, которые часто меняются.


tail — прочитать конец файла

По умолчанию команда tail отображает последние 10 строк файла. Бывают случаи, когда вам может потребоваться быстро просмотреть несколько строк в файле, и хвост позволит вам это сделать. Типичный пример использования tail — это анализ часто изменяющихся журналов или текстовых файлов.


chmod — Устанавливает флаг прав доступа к файлу или папке

Бывают ситуации, когда вы или ваш коллега попытаетесь загрузить файл или изменить документ и получите сообщение об ошибке, потому что у вас нет доступа. Быстрое решение этой проблемы — использовать chmod . Права доступа могут быть установлены с помощью буквенно-цифровых символов (u, g, o) и могут быть назначены их права доступа с помощью w, r, x. И наоборот, вы также можете использовать восьмеричные числа (0-7) для изменения разрешений.Например, chmod 777 my_file предоставит доступ всем.


exit — Выход из каталога

Команда exit закроет окно терминала, завершит выполнение сценария оболочки или выведет вас из сеанса удаленного доступа SSH.

  • Синтаксис: выход

  • Общие опции: н / д


Продолжайте обучение.

Изучите Bash, не просматривая видео или документацию.Текстовый курс Educative прост в использовании и включает среду программирования в реальном времени, что делает обучение быстрым и эффективным.

Мастер Bash Shell

история — список ваших последних команд

Важная команда, когда вам нужно быстро определить предыдущие команды, которые вы использовали.

  • Синтаксис: история

  • Общие параметры: -c, -d


clear — очистить окно терминала

Эта команда используется для очистки всех предыдущих команд и вывода из консолей и окон терминала.Это сохраняет ваш терминал в чистоте и убирает беспорядок, чтобы вы могли сосредоточиться на последующих командах и их выводе.

  • Синтаксис: clear

  • Общие опции: н / д


cp — копировать файлы и каталоги

Используйте эту команду, когда вам нужно создать резервную копию файлов.

  • Синтаксис: cp [параметры] current_name новое_имя

  • Общие параметры: -r, -i, -b


kill — завершить остановленные процессы

Команда kill позволяет завершить процесс из командной строки.Вы делаете это, предоставляя идентификатор процесса (PID) уничтожаемого процесса. Чтобы найти PID, вы можете использовать команду ps с параметрами -aux.


спящий режим — отложить процесс на указанное время

sleep — это общая команда для управления заданиями, которая в основном используется в сценариях оболочки. Вы заметите, что в синтаксисе есть суффикс; суффикс используется для указания единицы времени, будь то s (секунды), m (минуты) или d (дни). Если не указано иное, единицей времени по умолчанию являются секунды.


Как создавать собственные пользовательские команды Bash

Пользовательские команды в Bash известны как «псевдонимы». Псевдонимы — это, по сути, сокращение или средство, позволяющее избежать ввода длинной последовательности команд. Они могут сэкономить массу времени на вводе в командной строке, поэтому вам не придется запоминать сложные комбинации команд и параметров. Есть одно предостережение при использовании псевдонимов: убедитесь, что вы не перезаписываете какие-либо ключевые слова.

  • Синтаксис: псевдоним alias_name = «command_to_run»

Очень простой пример мог бы выглядеть так:

псевдоним c = «clear»

Теперь каждый раз, когда вы хотите очистить экран, вместо того, чтобы вводить очистить , вы можете просто набирать c , и все будет хорошо.

Вы также можете усложнить ситуацию, например, если вы хотите настроить веб-сервер в папке:

псевдоним www = ‘python -m SimpleHTTPServer 8000’

Вот пример полезного псевдонима, когда вам нужно протестировать веб-сайт в разных веб-браузерах:

псевдоним ff4 = ‘/ opt / firefox / firefox’

псевдоним ff13 = ‘/ opt / firefox13 / firefox’

псевдоним chrome = ‘/ opt / google / chrome / chrome’

Помимо создания псевдонимов, использующих одну команду, вы также можете использовать псевдонимы для запуска нескольких команд, например:

псевдоним name_goes_here = ‘activator && clean && compile && run’

Хотя вы можете использовать псевдонимы для выполнения нескольких команд, рекомендуется использовать функции, поскольку они значительно более гибкие, позволяют выполнять более сложную логику и отлично подходят для написания сценариев.


Куда идти дальше

Теперь, когда вы вооружены основными командами и способами их настройки, вы можете применять их на практике.

Master the Bash Shell даст вам понимание всех основных концепций, необходимых для получения полного контроля над вашей системой. Ян Миелл , автор Learn Bash the Hard Way , создал этот курс, чтобы научить вас всем тонкостям Bash, на изучение которых ему потребовались десятилетия методом проб и ошибок.

Удачного обучения!

общих команд оболочки Unix | Академические ресурсы

Запуск и завершение
Управление файлами
Связь
Информация
Печать
Управление заданиями

Ниже приводится краткий список большинства основных команд оболочки Unix, которые понадобятся пользователям.Для получения дополнительной информации попробуйте команду man или команду man -k text для поиска возможных вариантов.

Начало и конец

ssh имя хоста : подключиться к другому компьютеру или серверу
выход : выйти из системы

Управление файлами

emacs [имя файла] : используйте текстовый редактор emacs
pico [имя файла] : используйте текстовый редактор pico (который проще, но менее мощный, чем emacs).
cat [имя файла] : список содержимого файла
mkdir [имя каталога] : создание каталога
cd [имя каталога] : изменение текущего каталога

cd .. поднимает вас на один уровень
cd только возвращает вас в ваш домашний каталог

ls : Список файлов в каталоге (-l: long, -a: -all)
cp [источник] [назначение] : Сделать копию файла
mv [источник] [место назначения ] : изменить имя файла
rm [имя файла] : удалить файл
rmdir [имя_каталога] : удалить каталог
chmod : изменить доступ к файлу chmod

u ser, g roup, o wner, a ll
r ead, w rite, e x ecute

cmp [имя файла] [имя файла] : сравнить два файла
wc [имя файла] : количество слов, строк и символов

звездочка (*) используется как подстановочный знак: таким образом, rm a *.php удалит все файлы, которые начинаются с «a» и заканчиваются на php.

Связь

alpine : использовать Alpine для отправки и получения электронной почты
talk [пользователь] : поговорить с другим пользователем
написать [пользователь] : написать сообщение другому пользователю (CTRL-C, чтобы закрыть)
стена [сообщение] : отправить сообщение всем пользователям

Информация

Man [команда] : страницы руководства
quota -v : узнать доступное пространство на диске
finger [пользователь] : получить информацию о пользователе
passwd : изменить пароль
who (или w ): узнать, кто вошел в систему

Печать

lp [файл] : напечатать файл
lprm [задание] : удаление задания на печать
lpq : проверка очередей печати

Управление заданиями

ps : найти процессы
убить [идентификатор процесса] : убить процесс
красиво [идентификатор процесса] : изменить приоритет задания
и : что такое фоновый процесс?
CTRL-z : приостановка процесса
fg : возобновление приостановленного процесса

Памятка для Unix

905 dirname

Справка по любой команде Unix.
man {команда} Введите man rm , чтобы прочитать руководство по команде rm .
whatis {команда} Дайте краткое описание команды.

Список каталога
ls {path} Можно комбинировать атрибуты, например ls -laF получает длинный список всех файлов с типами.
ls {path_1} {path_2} Укажите как {path_1}, так и {path_2}.
ls -l {path} Длинный список с датой, размером и разрешениями.
ls -a {path} Показать все файлы, включая важные файлы .dot, которые иначе не отображаются.
ls -F {путь} Показать тип каждого файла. «/» = каталог, « * » = исполняемый файл.
ls -R {path} Рекурсивный список со всеми подкаталогами.
ls {path} | подробнее Показывать листинг по одному экрану за раз.

Перейти в каталог
cd {dirname} Между ними должен быть пробел.
cd ~ Вернуться в домашний каталог, полезно, если вы заблудились.
cd .. Вернуться на один каталог.

Создать новый каталог
mkdir {dirname}


09 Работает, только если {dirname} пусто.
rm -r {dirname} Удалить все файлы и подкаталоги.Осторожный!

Распечатать рабочий каталог
pwd Показать, где вы находитесь, полный путь. Полезно, если вы заблудились или исследуете.

Копирование файла или каталога
cp {file1} {file2}
cp -r 0 Recursive {dir1} Recursive {dir1} каталог и все подкаталоги.
cat {newfile} >> {oldfile} Добавить новый файл в конец старого файла.

Перемещение (или переименование) файла
mv {oldfile} {newfile} Перемещение файла и его переименование — одно и то же.
mv {oldname} {newname}

Удалить файл
rm {filespec76 ? 920 Подстановочные знаки и * работают так, как должна работать DOS.»?» любой персонаж; «*» — любая строка символов.
ls {filespec}
rm {filespec}
Хорошая стратегия: сначала укажите группу, чтобы убедиться, что это то, что вы думаете …
… затем удалите все сразу.

Просмотр текстового файла
еще {имя_файла} Просмотр файла по одному экрану за раз.
меньше {filename} Как больше , с дополнительными функциями.
cat {имя_файла} Просмотр файла, но он прокручивается.
кот {имя_файла} | подробнее Просмотр файлов по одному экрану за раз.

Редактировать текстовый файл.
gedit {filename} Базовый текстовый редактор

Создайте текстовый файл.
cat> {имя_файла} Введите текст (несколько строк с введите в порядке) и нажмите control-d для сохранения.
gedit {filename} Создайте текст и сохраните его.

Сравнить два файла
diff {file1} {file2} Показать различия.
sdiff {file1} {file2} Показать файлы рядом.

Другие текстовые команды
grep ‘{pattern}’ {file} Найдите регулярное выражение в файле.
заклинание {файл} Отображение слов с ошибками.
wc {file} Подсчет слов в файле.
wc -l {file} Подсчитать количество строк в файле.

Создание псевдонима
псевдоним {name} = ‘{command}’ Поместите команду в ‘одинарные кавычки’. Более полезно в вашем .bashrc файл.

Подстановочные знаки и ярлыки
* Соответствует любой строке символов, например, page * получает page1, page10 и page.txt.
? Соответствует любому одиночному символу, например страницы? получает page1 и page2, но не page10.
[…] Соответствует любым символам в диапазоне, например, page [1-3] получает page1, page2 и page3.
~ Сокращение от вашего домашнего каталога, например, cd ~ приведет вас домой, а rm -r ~ уничтожит его.
. Текущий каталог.
.. Один каталог вверху по дереву, например, ls .. .

Каналы и перенаправление (Вы перенаправляете команду другой команде, а перенаправляете ее в файл.)
{команда}> {файл} Перенаправить вывод в файл, например ls> list.txt записывает каталог в файл.
{команда} >> {файл} Добавить вывод к существующему файлу, например, cat update >> archive добавляет обновление в конец архива.
{command} <{file} Получить ввод из файла, например sort
{command} <{file1}> {file2} Получить ввод из file1 и записать в file2 , например сортировать новые.txt сортирует old.txt и сохраняет как new.txt.
{command} | {command} Передавать одну команду другой, например, ls | more получает каталог и отправляет его на more , чтобы показать ему одну страницу за раз.
Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

© 2019 Штирлиц Сеть печатных салонов в Перми

Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.