Product SiteDocumentation Site

39.2.4. Обзор основных команд системы

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

Примечание

Параметры команд обычно начинаются с символа «-», и обычно после одного символа «-» можно указать сразу несколько опций. Например, вместо команды ls -l -F можно ввести команду ls -lF

Учетные записи пользователей

Команда su
Позволяет получить права администратора. При вводе команды su, будет запрошен пароль суперпользователя (root), и, в случае ввода корректного пароля, оператор получит права администратора. Чтобы вернуться к правам оператора, необходимо ввести команду:
exit
Команда id
Команда id выводит информацию о пользователе и группах, в которых он состоит для заданного пользователя или о текущем пользователе (если ничего не указано).
Синтаксис:
id [параметры] [ПОЛЬЗОВАТЕЛЬ]
Команда passwd
Команда passwd меняет (или устанавливает) пароль, связанный с входным_именем пользователя.
Обычный пользователь может менять только пароль, связанный с его собственным входным_именем.
Команда запрашивает у обычных пользователей старый пароль (если он был), а затем дважды запрашивает новый. Новый пароль должен соответствовать техническим требованиям к паролям, заданным администратором системы.

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

Команда ls
ls (list) вывести содержимое каталога.
Синтаксис:
ls [-CFRacdilqrtu1] [[-H] | [-L]] [-fgmnopsx] [файл...]
Основные опции:
  • -a — просмотр всех файлов, включая скрытые;
  • -l — отображение более подробной информации;
  • -R — выводить рекурсивно информацию о подкаталогах.
Команда cd
Команда cd предназначена для смены каталога. Команда работает как с абсолютными, так и с относительными путями. Если каталог не указан, используется значение переменной окружения $HOME (домашний каталог пользователя). Если каталог задан полным маршрутным именем, он становится текущим. По отношению к новому каталогу нужно иметь право на выполнение, которое в данном случае трактуется как разрешение на поиск.
Синтаксис:
cd [-L|-P] [каталог]
Если в качестве аргумента задано «-», то это эквивалентно $OLDPWD. Если переход был осуществлен по переменной окружения $CDPATH или в качестве аргумента был задан «-» и смена каталога была успешной, то абсолютный путь нового рабочего каталога будет выведен на стандартный вывод.
Пример. Сделать текущим каталог /usr/bin:
cd /usr/bin/
Сделать текущим родительский каталог:
cd ..
Вернуться в предыдущий каталог:
cd -
Команда pwd
Команда pwd выводит абсолютный путь текущего (рабочего) каталога.
Синтаксис:
pwd [-L|-P]
Опции:
  • -P — не выводить символические ссылки;
  • -L — выводить символические ссылки.
Команда rm
Команда rm — удалить записи о файлах.

Предупреждение

Удалив файл, вы не сможете его восстановить!
Синтаксис:
rm [-fiRr] имя_файла
Основные опции:
  • -f — не запрашивать подтверждения;
  • -i — запрашивать подтверждение;
  • -r, -R — рекурсивно удалять содержимое указанных каталогов.
Пример. Удалить все файлы html в каталоге ~/html:
rm -i ~/html/*.html
Команда mkdir
Команда mkdir — создать каталог.
Синтаксис:
mkdir [-p] [-m права] [каталог...]
Команда rmdir
Команда rmdir — удаляет записи, соответствующие указанным пустым каталогам.
Синтаксис:
rmdir [-p] [каталог...]
Команда rmdir часто заменяется командой rm -rf, которая позволяет удалять каталоги, даже если они не пусты.
Команда cp
Команда cp — копировать файлы.
Синтаксис:
cp [-fip] [исх_файл] [цел_файл]
cp [-fip] [исх_файл...] [каталог]
cp [-R] [[-H] | [-L] | [-P]] [-fip] [исх_файл...] [каталог]
Основные опции:
  • -p — сохранять по возможности времена изменения и доступа к файлу, владельца и группу, права доступа;
  • -i — запрашивать подтверждение перед копированием в существующие файлы;
  • -r, -R — рекурсивно копировать содержимое каталогов.
Команда mv
Команда mv — переместить файлы.
Синтаксис:
mv [-fi] [исх_файл...] [цел_файл]
mv [-fi] [исх_файл...] [каталог]
В первой синтаксической форме, характеризующейся тем, что последний операнд не является ни каталогом, ни символической ссылкой на каталог, mv перемещает исх_файл в цел_файл.
Во второй синтаксической форме mv перемещает исходные файлы в указанный каталог под именами, совпадающими с краткими именами исходных файлов.
Основные опции:
  • -f — не запрашивать подтверждения перезаписи существующих файлов;
  • -i — запрашивать подтверждение перезаписи существующих файлов.
Команда cat
Команда cat — последовательно выводит содержимое файлов.
Синтаксис:
cat [параметры] [файл...]
Основные опции:
  • -n, --number — нумеровать все строки при выводе;
  • -E, --show-ends — показывать $ в конце каждой строки.
Если файл не указан, читается стандартный ввод. Если в списке файлов присутствует имя «-», вместо этого файла читается стандартный ввод.
Команда chmod
Команда chmod — изменяет права доступа к файлу.
Синтаксис:
chmod ОПЦИЯ]... РЕЖИМ[,РЕЖИМ]... [Файл...]
chmod ОПЦИЯ]... --reference=ИФАЙЛ ФАЙЛ...
Основные опции:
  • -R — рекурсивно изменять режим доступа к файлам, расположенным в указанных каталогах;
  • --reference=ИФАЙЛ — использовать режим файла ИФАЙЛ.
chmod изменяет права доступа каждого указанного файла в соответствии с правами доступа, указанными в параметре режим, который может быть представлен как в символьном виде, так и в виде восьмеричного, представляющего битовую маску новых прав доступа.
Формат символьного режима следующий:
[ugoa...][[+-=][разрешения...]...]
Здесь разрешения — это ноль или более букв из набора «rwxXst» или одна из букв из набора «ugo».
Каждый аргумент — это список символьных команд изменения прав доступа, разделены запятыми. Каждая такая команда начинается с нуля или более букв «ugoa», комбинация которых указывает, чьи права доступа к файлу будут изменены: пользователя, владеющего файлом (u), пользователей, входящих в группу, к которой принадлежит файл (g), остальных пользователей (o) или всех пользователей (a). Если не задана ни одна буква, то автоматически будет использована буква «a», но биты, установленные в umask, не будут затронуты.
Оператор «+» добавляет выбранные права доступа к уже имеющимся у каждого файла, «-» удаляет эти права. «=» присваивает только эти права каждому указанному файлу.
Буквы «rwxXst» задают биты доступа для пользователей: «r» — чтение, «w» — запись, «x» — выполнение (или поиск для каталогов), «X» — выполнение/поиск только если это каталог или же файл с уже установленным битом выполнения, «s» — задать ID пользователя и группы при выполнении, «t» — запрет удаления.
Примеры. Позволить всем выполнять файл f2:
chmod +x f2
Запретить удаление файла f3:
chmod +t f3
Команда chown
Команда chown — изменяет владельца и/или группу для каждого заданного файла.
Синтаксис:
chown [КЛЮЧ]…[ВЛАДЕЛЕЦ][:[ГРУППА]] ФАЙЛ ...
Изменить владельца может только владелец файла или суперпользователь. Владелец не изменяется, если он не задан в аргументе. Группа также не изменяется, если не задана, но если после символьного ВЛАДЕЛЬЦА стоит символ «:», подразумевается изменение группы на основную группу текущего пользователя. Поля ВЛАДЕЛЕЦ и ГРУППА могут быть как числовыми, так и символьными.
Примеры: 1. Поменять владельца /u на пользователя test:
chown test /u
2. Поменять владельца и группу /u:
chown test:staff /u
3. Поменять владельца /u и вложенных файлов на test:
chown -hR test /u

Поиск файлов

Команда find
Команда find предназначена для поиска всех файлов, начиная с корневого каталога. Поиск может осуществляться по имени, типу или владельцу файла.
Синтаксис:
find [-H] [-L] [-P] [-Oуровень] [-D help|tree|search|stat|rates|opt|exec] [путь…] [выражение]
Ключи для поиска:
  • -name — поиск по имени файла;
  • -type — поиск по типу f=файл, d=каталог, l=ссылка(lnk);
  • -user — поиск по владельцу (имя или UID).
Когда выполняется команда find, можно выполнять различные действия над найденными файлами. Основные действия:
  • -exec команда \; — выполнить команду. Запись команды должна заканчиваться экранированной точкой с запятой. Строка «{}» заменяется текущим маршрутным именем файла;
  • execdir команда \; — то же самое что и -exec, но команда вызывается из подкаталога, содержащего текущий файл;
  • -ok команда — эквивалентно -exec за исключением того, что перед выполнением команды запрашивается подтверждение (в виде сгенерированной командной строки со знаком вопроса в конце) и она выполняется только при ответе: y;
  • -print — вывод имени файла на экран.
Путем по умолчанию является текущий подкаталог. Выражение по умолчанию -print.
Примеры. Найти в текущем каталоге обычные файлы (не каталоги), имя которых начинается с символа «~»:
find . -type f -name "~*" -print
Найти в текущем каталоге файлы, измененные позже, чем файл file.bak:
find . -newer file.bak -type f -print
Удалить все файлы с именами a.out или *.o, доступ к которым не производился в течение недели:
find / \( -name a.out -o -name '*.o' \) \ -atime +7 -exec rm {} \;
Удалить из текущего каталога и его подкаталогов все файлы нулевого размера, запрашивая подтверждение:
find . -size 0c -ok rm {} \;
Команда whereis
whereis сообщает путь к исполняемому файлу программы, ее исходным файлам (если есть) и соответствующим страницам справочного руководства.
Синтаксис:
whereis [options] <name>
Опции:
  • -b — вывод информации только об исполняемых файлах;
  • -m — вывод информации только о страницах справочного руководства;
  • -s — вывод информации только об исходных файлах.

Мониторинг и управление процессами

Команда ps
Команда ps отображает список текущих процессов.
Синтаксис:
ps [-aA] [-defl] [-G список] [-o формат...] [-p список] [-t список] [-U список] [-g список] [-n список] [-u список]
По умолчанию выводится информация о процессах с теми же действующим UID и управляющим терминалом, что и у подающего команду пользователя.
Основные опции:
  • -a — вывести информацию о процессах, ассоциированных с терминалами;
  • -f — вывести «полный» список;
  • -l — вывести «длинный» список;
  • -p список  — вывести информацию о процессах с перечисленными в списке PID;
  • -u список — вывести информацию о процессах с перечисленными идентификаторами или именами пользователей.
Команда kill
Команда kill — прекратить исполнение процесса или передать ему сигнал.
Синтаксис:
kill [-s] [сигнал] [идентификатор] [...]
kill [-l] [статус_завершения]
kill [-номер_сигнала] [идентификатор] [...]
Идентификатор — PID ведущего процесса задания или номер задания, предварённый знаком «%».
Основные опции:
  • -l — вывести список поддерживаемых сигналов;
  • -s сигнал, -сигнал — послать сигнал с указанным именем.
Если обычная команда kill не дает желательного эффекта, необходимо использовать команду kill с параметром -9 (kill -9 PID_номер).
Команда df
Команда df — показывает количество доступного дискового пространства в файловой системе, в которой содержится файл, переданный как аргумент. Если ни один файл не указан, показывается доступное место на всех смонтированных файловых системах. Размеры по умолчанию указаны в блоках по 1КБ по умолчанию.
Синтаксис:
df [опция]... [файл]...
Основные опции:
  • --total — подсчитать общий объем в конце;
  • -h, --human-readable — печатать размеры в удобочитаемом формате (например, 1K 234M 2G);
  • -h, --human-readable — печатать размеры в удобочитаемом формате (например, 1K 234M 2G).
Команда du
Команда du — подсчитывает использование диска каждым файлом, для каталогов подсчет происходит рекурсивно.
Синтаксис:
du [опции][файл...]
Основные опции:
  • -a, --all — выводить общую сумму для каждого заданного файла, а не только для каталогов;
  • -c, --total — подсчитать общий объем в конце. Может быть использовано для выяснения суммарного использования дискового пространства для всего списка заданных файлов;
  • -d, --max-depth=N — выводить объем для каталога (или файлов, если указано --all) только если она на N или менее уровней ниже аргументов командной строки;
  • -S, --separate-dirs — выдавать отдельно размер каждого каталога, не включая размеры подкаталогов;
  • -s, --summarize — отобразить только сумму для каждого аргумента.
Команда which
Команда which — отображает полный путь к указанным командам или сценариям.
Синтаксис:
which [опции] [--] имя_программы [...]
Основные опции:
  • -a, --all — выводит все совпавшие исполняемые файлы по содержимому в переменной окружения $PATH, а не только первый из них;
  • -c, --total — подсчитать общий объем в конце. Может быть использовано для выяснения суммарного использования дискового пространства для всего списка заданных файлов;
  • -d, --max-depth=N — выводить объем для каталога (или файлов, если указано --all) только если она на N или менее уровней ниже аргументов командной строки;
  • -S, --separate-dirs — выдавать отдельно размер каждого каталога, не включая размеры подкаталогов;
  • --skip-dot — пропускает все каталоги из переменной окружения $PATH, которые начинаются с точки.

Использование многозадачности

Симпли Линукс — это многозадачная система.
Для того чтобы запустить программу в фоновом режиме необходимо набрать «&» после имени программы. После этого оболочка даст возможность запускать другие приложения.
Так как некоторые программы интерактивны — их запуск в фоновом режиме бессмысленен. Подобные программы просто остановятся, если их запустить в фоновом режиме.
Можно также запускать нескольких независимых сеансов. Для этого в консоли необходимо набрать Alt и одну из клавиш, находящихся в интервале от F1 до F6. На экране появится новое приглашение системы, и можно открыть новый сеанс. Этот метод также позволяет вам работать на другой консоли, если консоль, которую вы использовали до этого, не отвечает или вам необходимо остановить зависшую программу.
Команда bg
Команда bg — перевести задание на задний план.
Синтаксис:
bg [идентификатор ...]
Идентификатор — PID ведущего процесса задания или номер задания, предварённый знаком «%».
Команда fg
Команда fg — перевести задание на передний план.
Синтаксис:
fg [идентификатор ...]
Идентификатор — PID ведущего процесса задания или номер задания, предварённый знаком «%».

Сжатие и упаковка файлов

Команда tar
Сжатие и упаковка файлов выполняется с помощью команды tar, которая преобразует файл или группу файлов в архив без сжатия (tarfile).
Упаковка файлов в архив чаще всего выполняется следующей командой:
tar -cf [имя создаваемого файла архива] [упаковываемые файлы и/или каталоги]
Пример использования команды упаковки архива:
tar -cf moi_dokumenti.tar Docs project.tex
Распаковка содержимого архива в текущий каталог выполняется командой:
tar -xf [имя файла архива]
Для сжатия файлов используются специальные программы сжатия: gzip, bzip2 и 7z.