Васильев Андрей Михайлович, 2024
Версии презентации
$ type touch
touch является /bin/touchХорошие консольные приложения предоставляют встроенную помощь по использованию,
которую можно посмотреть с помощью аргумента --help
$ mkdir --help
Использование: mkdir [КЛЮЧ]… КАТАЛОГ…
Создает КАТАЛОГ(и), если он ещё не существует.
Аргументы, обязательные для длинных ключей, обязательны
и для коротких.
  -m, --mode=РЕЖИМ   установить права доступа к файлу
                     (как в chmod), а не a=rwx - umask
  -p, --parents      не выдавать ошибку, если существует,
                     создавать родительские каталоги,
                     если необходимо
  -v, --verbose      печатать сообщение о каждом созданном
                     каталогеНе все приложения поддерживают данный аргумент, но большинство хороших поддерживают
Много приложений предоставляют информацию о своём использовании в формате
руководства в системе man
Для получения руководства с названием program достаточно запустить приложение
и в качестве аргумента передать ему program
man programЕсли руководство будет найдено, то оно будет отображено с помощью приложения для
просмотра текстовых документов less
При появлении текстовых терминалов встала задача: просмотреть большой текстовый документ при наличии всего 24 строк в выводе
Решение: использовать приложение-пейджер для постраничного просмотра текстовых файлов
Классическая реализация приложения — more
Интерактивные приложения взаимодействуют с эмулятором терминала, чтобы
less
  #
less — интерактивное приложение для просмотра текстов, less is more
less data.txtПриложение после запуска продолжает работать, предоставляя возможности по навигации с текстом
Поддерживаемые горячие клавиши:
Page UP, b подняться на страницу вверхPage Down, space, d опуститься на страницу внизСтрелка ввех подняться на одну строкуСтрелка вниз опуститься на одну строкуG перейти к концу текстового файла1G или g перейти к началу файла/СТРОКА начать поиск вниз до следующего вхождения строки СТРОКАn повторить поиск и переходh показать поискq завершить работу lessПосмотрим на руководство по приложению cp
$ man cpCP(1)                                       User Commands
NAME
       cp - copy files and directories
SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...
DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to
       DIRECTORY.
       -a, --archive
              same as -dR --preserve=allman manСИНТАКСИС
       man [параметры man] [[раздел] страница ...] ...Просмотр информации об использовании приложения passwd
$ man 1 passwd
passwd(1)                             Пользовательские команды
НАЗВАНИЕ
       passwd - изменяет пароль пользователяПросмотр информации о конфигурационном файле passwd
$ man 5 passwd
passwd(5)                                  Форматы файлов
НАЗВАНИЕ
       passwd - файл паролейСуществует множество страниц с разными названиями, которые могут не совпадать с названием приложения
Для поиска руководств можно воспользоваться:
apropos: apropos passwdman: man -k passwdchpasswd (8)         - обновляет пароли в пакетном режиме
gpasswd (1)          - administer /etc/group and /etc/gshadow
passwd (1)           - изменяет пароль пользователяРуководства справочной системы man находятся в файловой системе
Каталоги, в которых происходит их поиск, описаны в конфигурационном файле /etc/man_db.conf
MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/manМножество приложений помимо установки могут поставлять документацию в любом
удобном для них формате. Обычно документация располагается в каталоге
/usr/share/doc/, в подкаталоге с именем приложения
Для простых приложений там может располагаться текстовый файл README, который
можно посмотреть с помощью less
Некоторые файлы могут иметь расширение .gz, что обозначает что они
заархивированы. less тоже может их открыть и просмотреть, если они текстовые
Если пользователь хочет запустить приложение, то существуют 2 способа:
При указании пути необходимо явно сообщить, что мы указали путь:
/usr/bin/mkdir — абсолютный путь, первый символ /./app.py — относительный путь, первый символ .Вы не можете использовать относительные пути без указания локального имени каталога
Если не задан символ / или ., то будет происходить поиск по директориям
Переменная окружения PATH определяет список директорий, в котором Bash ищет
исполняемые файлы, которые мы можем вызвать
Для просмотра текущего значения переменной PATH можно воспользоваться
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/gamesПути в списке разделены двоеточием
Поиск исполняемых файлов происходит в порядке указания каталогов:
/usr/local/bin/usr/bin/bin/usr/gamesЕсли в каталогах /usr/bin и /bin есть исполняемые файлы с одинаковыми
именами, то будет запущен файл из /usr/bin, так как в списке он идёт раньше
/bin
/usr/bin/application/bin/applicationЕсли пользователь запустит приложение application в командном интерфейсе, то
будет запущен исполняемый файл /usr/bin/application, а не /bin/application
Для определения абсолютного пути к исполняемому файлу используйте which
$ man which
NAME
       which - locate a command
SYNOPSIS
       which [-a] filename ...Троеточие обозначает, что команде можно передать несколько названий приложений одновременно
$ which mkdir which
/usr/bin/mkdir
/usr/bin/which