/bin

Bin Давно было желание систематизировать в виде маленькой шпаргалки краткие описания команд в стандартных каталогах FreeBSD (/bin /sbin /usr/bin /usr/sbin). Однако, не так давно я обнаружил, что собрался изобретать велосипед. Господин Lissysra уже это сделал давно до меня. :)

Потому набравшись наглости, и спросив разрешения у автора материала (P.S.: Автор не против. ;) ), я просто переношу его в блог, делая свои дополнения и изменения.

Данная информация актуальна для FreeBSD 6.2

Итак, начнем с каталога /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

Понравился материал? Добавьте к себе в:

Тэги: , , , , , , ,

Об авторе Daemony

Это мой персональный Блог! Веду его с переменным успехом с 2007 года. Пишу здесь обо всем, что мне интересно. Среди моих интересов: системное администрирование *nix систем, компьютерные технологии, фотография и многое другое. Подробнее можно почитать на странице "О блоге". Связаться со мной можно через форму обратной связи на этом сайте. Спасибо, за то, что посетили My Live Blog!

Поделиться мнением

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Перед тем, как нажать кнопку "Отправить" введите проверочный код с изображения