Давно было желание систематизировать в виде маленькой шпаргалки краткие описания команд в стандартных каталогах FreeBSD (/bin /sbin /usr/bin /usr/sbin). Однако, не так давно я обнаружил, что собрался изобретать велосипед. Господин уже это сделал давно до меня.
Потому набравшись наглости, и спросив разрешения у автора материала (P.S.: Автор не против.
), я просто переношу его в блог, делая свои дополнения и изменения.
Итак, начнем с каталога /bin. Здесь 42 файла.
- “[” — жесткая ссылка на программу test
- “cat” — перенаправление потоков ввода-вывода. Конкатенация и вывод файлов.”cat” можно использовать для склеивания разбитых [c]split(1)’ом файлов:
for i in $dists; do echo ” Extracting source component: $i” cat s${i}.?? | tar –unlink -xpzf - -C ${DESTDIR}/usr/src done(код распаковки исходников с установочного диска)
- “chflags” — установка/снятие флагов - типа неудаляемый, неизменяемый и т.п. на файлы. Позволяет делать файлы неизменяемыми.
# chflags schg /etc/master.passwd /etc/passwd /etc/spwd.db /etc/pwd.db
Чтобы просмотреть установленные командой chflags флаги:
# ls -lo
- “chio” — управление дисковым чейнджером
- “chmod” — установка прав на файлы/директории. Чтобы закрыть от просмотра домашний каталог пользователя root и все файлы и подпапки в нем:
# chmod -R og-rwx /root
- “cp” — копирование файлов/директорий. Рекурсивное копирование всех вложенных файлов с сохранением прав на файлы:
# cp -Rpv /etc/mail /tmp/test
- “csh” — cи-шелл (жесткая ссылка на tcsh) - один из вариантов командной оболочки
- “date” — вывод/установка даты/времени
- “dd” — конвертирование и копирование файлов. Пример создания образа диска:
# dd if=/dev/ad0s1a of=root.img bs=512
Проверка диска на наличие плохих секторов (бэды). Результат будет отображен в /var/log/messages:
# dd if=/dev/ad0 of=/dev/null bs=1m
Безопасное удаление данных с диска:
# dd if=/dev/random of=/dev/ad0 bs=512
Cоздание бинарных файлов в тестовых целях:
#dd if=/dev/zero of=100_megabyte.bin bs=10240 count=10240
Надо заметить, что у этой программы богатые деструктивные свойства. Аккуратней! (© Lissyara)
- “df” — вывод занятого/свободного места на дисках/разделах. Вывод результата занятности дискового пространства с указанием процентов:
#df -h
- “domainname” — установка/вывод текущего YP/NIS домена
- “echo” — выводит аргументы на стандартный вывод. В варианте sh(1) есть полезный ключ -e, который позволяет печатать некоторые интересные символы не прибегая к printf(1). Например:
# echo -e ‘\tTest\r’ Test - “ed” — текстовый редактор. Очень полезная вещь когда способности терминала не определены и нужно быстро подредактировать какие-то строки в конфигурационных файлах.
- “expr” — работа с выражениями - вроде “больше / меньше”; может выполнять арифметические действия (только с целыми числами - дробные отсекаются)
- “getfacl” — вывод расширенных атрибутов (ACL) файлов/директорий. Программа отображает расширенные права доступа, установленные setfacl. Может сохранять выводимую информацию в файл (полезно при переносе с места на место файлов):
# getfacl users_music/ #file:users_music/ #owner:10001 #group:10042 user::rwx group::rwx group:domain users:rwx mask::rwx other::r-x - “hostname” — установка/вывод имени хоста. Например:
# hostname my-server.com # hostname -s my-server # hostname ttt.jjj.333 # hostname ttt.jjj.333 # hostname my-server.com # hostname my-server.comСледует помнить, что после перезагрузки параметры заданные этой командой теряются. Для того, чтобы установить hostname “навсегда”, следует прописать соответствующее значение в /etc/rc.conf
- “kenv” — вывод/модификация переменных ядра
- “kill” — послать сигнал процессу (уничтожить, перечитать конфигурацию и т.п.). Выдержка из мануала по команде kill:1 - HUP (перечитать конфигурацию)
2 - INT (прерывание)
3 - QUIT (выход)
6 - ABRT (прерывание)
9 - KILL (непрерываемое, неперехватываемое завершение)
14 - ALRM (сигнальный таймер)
15 - TERM (программный сигнал завершения)
- “link” — создание ссылок на файлы (больше известна как ln)
- “ln” — жесткая ссылка на link
- “ls” — вывод содержимого директории (создание листинга каталога)
- “mkdir” — создание директорий
- “mv” — перемещение файлов/директорий
- “pax” — читает/пишет файловые архивы, копирует структуру директорий
- “pgrep” — находит процесс по имени, или посылает сигнал процессу по имени процесса. Вывод списка всех нужных процессов без потери заголовка:
# ps lp`pgrep ntp` UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND 0 1333 1 0 44 0 3072 1092 select Ss ?? 0:00.01 ntpd: [priv] (ntpd) 123 1335 1333 0 44 0 3072 936 select S ?? 0:00.39 ntpd: ntp engine (ntpd) - “pkill” — жесткая ссылка на pgrep
- “ps” — вывод списка процессов. В таком исполнении покажет список всех процессов в системе, с указанием имени пользователя, от которого запущен процесс:
# ps -aux
- “pwd” — (Print Working Directory) вывод пути рабочей директории.
- “rcp” — копирование фалов между машинами. Но я предпочитаю использовать scp
- “realpath” — вывод реального пути (все символические ссылки резолвятся)
- “red” — жесткая ссылка на ed
- “rm” — удаление файлов/директорий. Наверное, самая известная команда в *nix. В кривых руках может превратить систему в “черную дыру”!
# rm -rf /* - (©) Унивесальный патч Бармина
Если Вы запрашиваете рекурсивное удаление файлов, указывая абсолютный путь, всегда проверяйте, не попал ли случайно залетный пробел после первого слеша. Потому что в таком виде:
# rm -rf / home/user/files/*
Вы, вместо каталога /home/user/files/ уничтожите всю систему. Для предохранения от такой “тупой” ошибки в (t)csh установите переменную rmstar (i.e., set rmstar). Тогда в случае неумышленного пробела перед/после звездочки будет выдаваться подтверждение.
- “rmail” — управление удалённой почтой через uucp
- “rmdir” — удаление директорий (пустых). Если каталог содержит файлы, удалить его неполучится:
# mkdir /test_dir # touch /test_dir/test.file # rmdir /test_dir/ rmdir: /test_dir/: Directory not empty # rm -r /test_dir/
- “setfacl” — установка расширенных файловых аттрибутов (ACL). К сожалению, в отличие от линуксовой версии, FreeBSD`шная не умеет расставлять расширенные права рекурсивно. Поэтому, приходиться изгаляться…
# find . -type d -exec setfacl -m u:user:rwx {} \; - “sh” — стандартная и, пожалуй, самая известная командная оболочка *nix, которая присутствует в любой *nix подобной системе
- “sleep” — задержка выполнения команды на заданное число секунд
- “stty” — установка опций для устройства терминала
- “sync” — принудительная синхронизация кэша записи (сброс содержимого на диск)
- “tcsh” — симлинк на csh (правильней обратное утверждение csh –>tcsh)
- “test” — сравнение условий
- “unlink” — жесткая ссылка на rm









