Команды bash
Перед тем как перечислять в алфавитном порядке наиболее употребительные команды bash, необходимо назвать три «справочных» команды, используемых почти исключительно при интерактивной работе, — help, info и man. Команда help выдает краткое описание любой встроенной команды bash, info предоставляет доступ к входящему в состав системы GNU развернутому справочнику, в котором bash, разумеется, подробно описан. Команда man позволяет обратиться к другому, более старому справочнику, где есть информация о ряде команд, не описанных в справочнике info (вообще говоря, команда info, не найдя сведений в собственном справочнике, ищет их и в справочнике man, однако кое-что можно получить только с помощью самой man). Естественно, команда help help позволяет получить справку по help, команда info info — по info, а man man — по man.
В приводимом ниже списке каждая команда снабжена пометкой, указывающей, как получить ее более подробное описание: (b) означает, что команда встроенная и, следовательно, информацию о ней предоставляет команда help, (i) соответствует команде info, (m) — команде man.
. (b) — синоним для команды source
: (b) — синоним для команды true
[ (b) — сокращение для команды test, но, в отличие от нее, требует закрывающей квадратной скобки
(( (b) — соотносится с командой let так же, как [ соотносится с test
[[ (b) — не вполне команда, а особое выражение, очень похожее на команду [ (test)
alias(b) — позволяет задавать псевдонимы для других команд
at(m) — ставит программу в очередь на выполнение в заданное время
atq(m) — в заданное время проверяет очередь программ на выполнение
atrm(m) — в заданное время удаляет программу из очереди на выполнение
awk(i) — язык для построчного сканирования и обработки файлов: простой, маленький и быстрый, но притом достаточно мощный
batch(m) — выполняет программу, когда система не слишком загружена
builtin(b) — позволяет вызвать встроенную команду bash, даже когда ее имя перекрыто именем функции или псевдонимом
bzip2(i) — более новая, чем gzip, программа сжатия файлов; работает медленнее, чем gzip, но обеспечивает лучший коэффициент сжатия
cat(i) — «склеивает» заданные файлы и выдает их на стандартный выход
cd(b) — изменяет текущий каталог
chgrp(i), chmod(i), chown(i) — изменяют соответственно группу, права доступа и владельца файла
command(b) — позволяет вызвать команду — встроенную или внешнюю, даже когда ее имя перекрыто именем функции или псевдонимом
cp(i) — копирует файлы и каталоги
cpio(i) — CoPy In/Out — системная программа создания архивов; не содержит встроенной поддержки сжатия файлов, но может использоваться совместно с gzip или bzip2
crontab(m) — позволяет модифицировать список регулярных заданий пользователя
cut(i) — выдает на стандартный выход выбранные части строк текстового файла
dd(i) — копирует файл блоками, выполняя одновременно некоторые дополнительные действия
du(i) — вычисляет объем, занятый на диске указанными файлами
declare(b) — позволяет задать имя и тип переменной (применяется не слишком часто, так как bash допускает использование необъявленных переменных)
df(i) — сообщает количество свободного и занятого места на диске
diff(i) — находит различия между двумя файлами
dirs(b) — выводит список запомненных подкаталогов
echo(b/i) — выводит на стандартный выход заданное сообщение
enable(b) — позволяет разрешить или запретить использование встроенных команд
eval(b) — выполняет аргументы так, как если бы они были введены в командной строке (ранее часто использовалась для обращения к переменной, имя которой содержится в другой переменной)
exec(b) — выполняет системный вызов exec, т. е. замещает процесс, где исполняется скрипт, другим, заданным в качестве параметра; часто используется в так называемых «скриптах-обертках» (wrapper scripts), настраивающих среду для выполнения программ
exit(b) — завершает работу командного интерпретатора (и, стало быть, скрипта)
export(b) — делает переменные данного скрипта доступными для других процессов, запущенных из командного интерпретатора
file(m) — определяет тип файла ( по содержимому; эвристический анализ выполняется на основе гибкой настраиваемой базы данных)
find(m/i) — ищет файлы по множеству признаков, но не по содержимому
false(b/i) — возвращает код ненормального завершения
getopts(b) — довольно сложная команда, похожая на аналогичное средство системной библиотеки; позволяет создавать скрипты, понимающие сложные опции
grep(m) — ищет строки в файлах; может использоваться совместно с командами find и xargs для поиска файлов по содержимому
gzip(i) — стандартная для GNU программа сжатия файлов; способна распаковывать (но не создавать) файлы в формате compress — более старой UNIX-программы сжатия
install(i) — копирует файлы, одновременно позволяя устанавливать их атрибуты
kill(b/m) — позволяет послать процессу сигнал; по умолчанию посылается сигнал SIGTERM, останавливающий процесс; отсюда такое устрашающее название
less(m) — улучшенная по сравнению с more программа просмотра файлов
let(b) — вычисляет арифметическое выражение; выражение может содержать многие операторы языка Си, а также переменные
local(b) — создает локальную (внутри функции) переменную
logout(b) — завершает работу командного интерпретатора, являющегося основным (login shell)
ln(i) — создает ссылки на файлы (дополнительные жесткие или символические)
ls(i) — выводит список файлов (например, для заданного каталога)
md5sum(i) — подсчитывает для файлов 128-битовую контрольную сумму
mkdir(i) — создает подкаталог
mktemp(m) — создает временный файл (чтобы избежать «дыр» в безопасности, создавайте временные файлы только с помощью mktemp)
more(m) — постранично выводит файл на экран (служит для просмотра длинных файлов)
mv(i) — перемещает или переименовывает файлы (каталоги)
patch(i) — применяет diff-файл (см. diff) к исходному файлу
popd(b) — удаляет подкаталоги из списка запомненных подкаталогов
printf(b/i) — обеспечивает форматированную печать данных (имеет много общего с одноименной функцией стандартной библиотеки Си)
pushd(b) — добавляет подкаталог в список запомненных подкаталогов и перемещает подкаталоги внутри этого списка
pwd(b/i) — выводит путь к текущему каталогу
read(b) — считывает строку со стандартного ввода и присваивает прочитанные значения указанным переменным
readonly(b) — защищает переменную от случайных изменений
return(b) — выходит из функции и передает управление в вызвавшую программу
rm(i) — удаляет файлы (подкаталоги)
rmdir(i) — удаляет пустые подкаталоги
sed(i) — потоковый редактор (a Stream EDitor); дает возможность быстро производить с текстом простые операции (например, поиск с заменой)
select(b) — довольно сложная команда, позволяющая организовывать меню с выбором вариантов из списка (в действительности это даже не команда, а особая синтаксическая форма, родственная синтаксическим формам while и for)
set(b/i) — очень сложная команда:
(Команда help set не дает полного описания set; оно есть только в описании bash, получаемом командой info bash.)
shift(b) — сдвигает позиционные параметры ($1 становится равным $N, $2 — $N+1, $3 — $N+2 и т.д.)
sort(i) — сортирует файл
source(b) — читает и выполняет команды, содержащиеся в файле (часто используется для того, чтобы вынести определение переменных в отдельный файл конфигурации)
tar(i) — программа создания архивов (Tape ARchiver); не содержит встроенной поддержки сжатия файлов, но может использоваться совместно с gzip или bzip2
test(b/i) — вычисляет значение логического выражения; в основном проверяет атрибуты файлов (существует? пуст? исполняемый? подкаталог? и т. д.), однако может также сравнивать строки
tr(i) — заменяет одни символы на другие по заданной таблице подстановки
trap(b) — позволяет связать с сигналом особую обработку
true(b/i) — возвращает код успешного завершения
type(b) — возвращает «тип» слова, заданного в качестве аргумента (встроенная команда, псевдоним, функция и т. д.)
ulimit(b) — устанавливает или сообщает системные квоты для процесса (процессов)
umask(b) — назначение описано в статье «Файлы, файлы, файлы»
unalias(b) — удаляет имя из списка псевдонимов
uniq(i) — выводит уникальные (или, наоборот, повторяющиеся) строки в отсортированном файле
unset(b) — удаляет имя из списка переменных
wc(i) — подсчитывает число символов, слов и строк в файле
xargs(m) — получает параметры со стандартного входа и вызывает с этими параметрами заданную программу (по умолчанию echo)
Как уже говорилось, здесь перечислены далеко не все команды. В типичной системе GNU/Linux их значительно больше: есть, например, команды, выводящие восьмеричный и шестнадцатеричный дамп памяти (od и hexdump), печатающие начало и конец файла (head и tail), а ко многим упомянутым командам есть дополнительные (например, diff3 позволяет сравнить три файла, а bzcat — просмотреть файл, упакованный программой bzip2). Не попали в наш обзор и системные переменные, имеющие для bash особый смысл. Обо всем этом и о многом другом вы сможете узнать, набрав в командной строке слова info bash.
Вернуться