Готовый перевод bash Cookbook / bash: Сборник рецептов: 1.3 Finding and Running Commands / Нахождение и запуск команд
Проблема
Вам необходимо найти и запустить редко используемую команду в bash.
Решение
Попробуйте команды type, which, apropos, locate, slocate, find и ls.
Bash хранит список каталогов, в которых он должен искать команды, в переменной окружения $PATH. Встроенная команда type ищет в окружении (включая алиасы, ключевые слова, функции, встроенные команды и файлы в $PATH) исполнимые файлы, соответствующие ее аргументам и отображает тип и местоположение всех совпадений. У нее есть несколько аргументов. Стоит отметить флаг -a, который заставляет команду type выводить все совпадения, вместо того чтобы останавливаться после нахождения первого.
Команда which действует походим способом, но ищет только в $PATH и алиасах csh. Эта команда отличается от системы к системе (обычно это csh-скрипт в BSD и бинарный файл в Linux), и обычно как и type имеет флаг -a.
Используйте эти команды когда вы знаете имя команды, и нужно выяснить точное ее расположение, или узнать, есть ли она вообще на компьютере.
$ type which
which is hashed (/usr/bin/which)
$ type ls
ls is aliased to ls -F -h'
$ type -a ls
ls is aliased to ls -F -h'
ls is /bin/ls
$ which which
/usr/bin/which
Почти все команды имеют возможность выдачи подсказки по использованию. Обычно имеются страницы документации - manpages, где man это сокращение слова manual. Получить к ним доступ можно при помощи команды man. Так, man ls выдаст документацию по команде ls. Многие программы также имеют встроенные средства помощи, вызываемые аргументами вроде -h или --help. Некоторые программы, особенно на других операционных система, выдут помощь, если вы вызовете их без аргументов. Некоторые UNIX-команды тоже так себя ведут, но подавляющее большинство из них этого не делает. Это связано со способом связывания UNIX-команд, так называемыми пайпами, о которых мы поговорим позже. Но что делать если вы не помните или не знаете название нужной команды?
Команда apropos ищет названия страниц руководства man и описания по регулярному выражению, указанному в качестве аргумента. Это очень полезно, когда вы не помните название необходимой команды. То же самое делает и man -k.
$ apropos music
cms (4) - Creative Music System device driver
$ man -k music
cms (4) - Creative Music System device driver
$ locate apropos
/usr/bin/apropos
/usr/share/man/de/man1/apropos.1.gz
/usr/share/man/es/man1/apropos.1.gz
/usr/share/man/it/man1/apropos.1.gz
/usr/share/man/ja/man1/apropos.1.gz
/usr/share/man/man1/apropos.1.gz
Подробности по команде find смотрите в Главе 9.
Смотрите также
• help type
• man which
• man apropos
• man locate
• man slocate
• man find
• man ls
• Глава 9
• Рецепт 4.1, “Запускаем выполняемые файлы”
• Рецепт 14.10, “Добавляем текущую директорию в переменную $PATH”
Переведено на Нотабеноиде
http://notabenoid.org/book/750/3520
Переводчики: bbrodriges, kbdfck
Настройки
Готово:
