Синтаксис команд в Linux. Команды man, ls, cd, --help
Процесс взаимодействия с операционной системой строится на использовании различных команд. Да, в операционную систему Linux можно установить графический интерфейс, но истинные профессионалы работают исключительно через командную строку.
Могу сказать, что лично меня всегда пугал Linux как раз по той самой причине, что нужно знать огромное количество команд, да и вообще не понятно, как работать без мышки и графических окон? Однако раньше, все взаимодействие с операционными системами происходило исключительно через командную строку.
В чем преимущества работы в командной строке:
- - скорость взаимодействия с системой увеличивается
- - создание автоматизированных скриптов
- - на серверах не графического интерфейса
- - экономия интернет трафика, так как графический интерфейс требует передачи большего количества графической информации, а через командную строку передается исключительно текст команды.
Но, при работе в командной строке, все становится не так сложно, когда вы знаете, как пользоваться подсказками.
И так, первая команда которую мы изучим, это команда man. Само по себе слово man нам ничего не дает, однако это сокращение от слова manual, что переводится как «руководство»
man (manual) – руководство, справка о команде
В прошлом уроке мы использовали команду cd и ls. Вкратце, я объяснил, что команда cd – меняет директорию, а команда ls – выводит содержимое директории.
А теперь давайте узнаем более подробную информацию по этим командам.
Давайте очистим экран и перейдем в корневой каталог
clear
cd /
man ls
Идем сверху вниз
LS(1) - название команды и номер раздела. Про номера раздела поговорим чуть позже.
ls - list directory contents (имя и краткое описание команды «список содержимого каталога»)
SYNOPSIS – описание синтаксиса команды
DESCRIPTION – подробное описание где подробно описываются все аргументы, которые можно использовать совместно с данной командой.
И тут мы переходим к вопросу описания синтаксиса команд.
В большинстве случаев команды работают по следующей логике
<команда> <ключ> <аргумент>
команда (программа) — определяет необходимое действие (что делать);
ключи (опции) — как делать;
аргументы — с чем делать.
Давайте пока выйдем из справки man руководства команды LS, через кнопку Q и с составим аналогичную конструкцию.
В прошлом уроке мы вводили команду:
ls -la
Так вот, в данном случае у нас команда ls, ключи -la, аргумента нет, но мы можем его указать. По умолчанию, если мы не указываем аргумент, то команда применяется к нашему текущему расположению.
ls -la
Мы видим вывод содержимого текущего каталога.
Мы поможем вам легко получить базовые навыки работы с Linux, без лишней теории и воды. Убедитесь, что осваивать новое может быть просто!
Получите бесплатный доступ к первым модулям курса.
Можем добавить в качестве аргумента какой-нибудь другой каталог и посмотреть его содержимое, не перемещаясь в него
ls -la /home/it-skills
И так, в данном примере я использую ключи -la, давайте посмотрим, что они означают
man ls
Кнопкой «пробел» можно перелистывать страницы руководства, так же это можно делать кнопками PgUP PgDn, чтобы перемещаться между страницами. В общем, ищем ключи -l и ключ -a
-l (use a long listing format) - использовать формат длинного списка
-a, --all (do not ignore entries starting with) - не игнорировать записи начинающиеся с «.» в Linux c точки начинаются скрытые файлы и папки, т.е. данный ключ говорит что нужно отображать все файлы и папки, даже скрытые.
В итоге комбинация ls -la можно разложить в виде предложения
ls -la (list long all) - длинный список всех файлов и папок.
Давайте попробуем использовать эту же команду, но без ключей, кстати, чтобы упросить работу и не вводить команду еще раз, просто нажимаем клавишу вверх, чтобы прошлая команда появилась. Так мы можем перебирать команды из истории их использования.
ls /home/it-skills
Тут мы ничего не видим, почему? Судя из прошлого вывода, мы видим, что тут все файлы и папки начинаются с «.», а значит они скрытые, давайте добавил ключ -a чтобы отобразились все файлы и папки.
ls -a /home/it-skills
Файлы и папки появились, но они не в особо удобном формате отображения, все как правило используют формат полного вывода, а значит добавляем ключ -l
ls -a -l /home/it-skills
Кстати, данная команда будет аналогична команде
ls -la /home/it-skills
Так как, чтобы для каждого ключа не приписывать дефис, можно их объединять «-» а дальше необходимый список ключей.
ls -al /home/it-skills
Будет тот же эффект, так как от перестановки ключей вывод не меняется
Более подробно о данном формате вывода мы поговорим чуть позже.
Помните я говорил про номера разделов руководства?
man ls
тут в тексте руководства не описывается, что есть другие раздела данного руководства, но, если мы попробуем ввести команду man на саму команду man, т.е. узнать описание самой программы man
man man
то тут мы увидим в описании некоторые упоминания других разделов руководства man(7)
man 7 man
этой командой мы открываем седьмой раздел руководства для команды man
С командой ls разобрались, а что же с командой cd, давайте посмотрим руководство для этой команды
man cd
No manual entry for cd – нет руководства для команды cd.
В данном случае, можно попробовать воспользоваться другой командой, а точнее ключом --help, который выводит встроенную справку команды
cd --help
и как вы видите, справка у данной команды все же есть. Change the current directory
cd (change directory) - сменить директорию
Однако, думаю вы заметили, что я использовал «--» перед ключом help, почему? Дело в том, что ключ help это не сокращённый ключ, а полноценное слово и если я поставлю одно «-» то это будет восприниматься как будто я ввел ключи
cd -h -e -l -p
таких ключей у команды нет, поэтому появится ошибка.
Резюме: В итоге, в данном видео мы разобрались с логикой построения команд, а также рассмотрели такие команды как:
man (manual) – руководство, справка о команде
ls (list) - вывод содержимого директории списком
ls -la (list long all) - длинный список всех файлов и папок
cd (change directory) - сменить директорию
cd --help - справка о команде