Васильев Андрей Михайлович, 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 cp
CP(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=all
man man
СИНТАКСИС
man [параметры man] [[раздел] страница ...] ...
Просмотр информации об использовании приложения passwd
$ man 1 passwd
passwd(1) Пользовательские команды
НАЗВАНИЕ
passwd - изменяет пароль пользователя
Просмотр информации о конфигурационном файле passwd
$ man 5 passwd
passwd(5) Форматы файлов
НАЗВАНИЕ
passwd - файл паролей
Существует множество страниц с разными названиями, которые могут не совпадать с названием приложения
Для поиска руководств можно воспользоваться:
apropos
: apropos passwd
man
: man -k passwd
chpasswd (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