Системные приложения из '/bin' во FreeBSD


Автор: lissyara.

Родилось случайно - решил сделать вообще по всем - ибо оказалось довольно много применений, а в форуме развернулись дебаты - как и что лучше применять. Итог - представлен тут. Тут же можно и примеры применения писать.
Ввиду большого количества приложений, можно развернуть все, ну и наверно добавлю режим просто просмотра - без поля ввода коммента... Если руки дойдут :))

P.S. Дано для FreeBSD 6.2

“[” — жёсткая ссылка на программу test [0 шт.]

“cat” — перенаправление потоков ввода-вывода [4 шт.]
1, 2007-02-28 в 23:32:58

Lissyara - ну тщательнее надо!
man cat:
cat — concatenate and print files
Не веди салаг во блуд!(С)Боцман

lissyara, 2007-02-28 в 23:41:02

я старый больной человек :)))
Чё-то писал по памяти.
А вообще - мне моё определение ближе :)
Я с ним всю жизнь прожил, а тут облом :)

GR, 2007-03-02 в 18:34:17

Ну перенаправление это все таки '>' да '<' ну исправь злодей! :)

lissyara, 2007-03-02 в 18:55:44

Ну а зачем? :)))
Уже все прокомментили, всё разжевали - а так пропадёт смысл того что мы тут обсуждаем :)))

“chflags” — установка/снятие флагов - типа неудаляемый, неизменяемый и т.п. на файлы [3 шт.]
lissyara, 2007-02-27 в 21:49:19

Позволяет делать файлы неизменяемыми. Чтоб изменить - надо хоть что-то понимать в системе. Я так от помошников пару серверов защищал - чтоб не поломали :) Например, так:
# cd /etc
# chflags schg master.passwd passwd spwd.db pwd.db
# passwd lissyara
Changing local password for lissyara
New Password:
Retype New Password:
pwd_mkdb: /etc/pwd.db.tmp to /etc/pwd.db: Operation not permitted
passwd: pam_chauthtok(): error in service module
Ни root, ни тем более юзер не изменит такой файл, пока не снимет флаг.

lissyara, 2007-02-27 в 21:55:00

Ну а в другом случае обошёлся
chflags schg /etc/rc.conf /etc/rc.firewall
Ибо не надо на сервере тренироваться :)

pv, 2007-04-13 в 19:26:11

Увидеть эти флаги на файле можно командой
# ls -lo

“chio” — управление дисковым чейнджером [0 шт.]

“chmod” — установка прав на файлы/директории - кому чё можно - читать/писать/выполнять [0 шт.]

“cp” — копирование файлов/директорий [2 шт.]
lissyara, 2007-03-05 в 13:08:03

Постоянно использую в таком виде:
# cp -Rpv /etc/mail /tmp/test
/etc/mail -> /tmp/test/mail
/etc/mail/mailer.conf.sendmail -> /tmp/test/mail/mailer.conf.sendmail
/etc/mail/freebsd.mc -> /tmp/test/mail/freebsd.mc
/etc/mail/freebsd.cf -> /tmp/test/mail/freebsd.cf
/etc/mail/freebsd.submit.mc -> /tmp/test/mail/freebsd.submit.mc
/etc/mail/freebsd.submit.cf -> /tmp/test/mail/freebsd.submit.cf
/etc/mail/helpfile -> /tmp/test/mail/helpfile
/etc/mail/sendmail.cf -> /tmp/test/mail/sendmail.cf
/etc/mail/submit.cf -> /tmp/test/mail/submit.cf
/etc/mail/Makefile -> /tmp/test/mail/Makefile
/etc/mail/README -> /tmp/test/mail/README
/etc/mail/access.sample -> /tmp/test/mail/access.sample
/etc/mail/virtusertable.sample -> /tmp/test/mail/virtusertable.sample
/etc/mail/mailertable.sample -> /tmp/test/mail/mailertable.sample
/etc/mail/aliases -> /tmp/test/mail/aliases
/etc/mail/aliases.db -> /tmp/test/mail/aliases.db
/etc/mail/mailer.conf.exim -> /tmp/test/mail/mailer.conf.exim
/etc/mail/mailer.conf -> /tmp/test/mail/mailer.conf
Удобно, если много копировать - отображается что копируется, а также сохраняются все права на файлы.

stgib, 2007-08-03 в 13:40:40

В случае с хардлинками проще использовать tar cf - | tar xf -

“csh” — cи-шелл (на самом деле жёсткий линк на tcsh) - один из вариантов шелла [0 шт.]

“date” — вывод/установка даты/времени [0 шт.]

“dd” — конвертирование и копирование файлов [3 шт.]
lissyara, 2007-02-27 в 21:19:57

Полезная программа. Позволяет делать образы дисков, например:
# dd if=/dev/ad0s1a of=root.img bs=512

lissyara, 2007-02-27 в 21:19:57

Самое прикольное применение из man - для проверки диска на бэды:
# dd if=/dev/ad0 of=/dev/null bs=1m
Ну а результаты смотрим в /var/log/messages

Также можно секурно затереть инфу на диске:
# dd if=/dev/random of=/dev/ad0 bs=512

Надо заметить, что у неё богатые деструктивные свойства. Аккуратней!

Павел, 2007-03-13 в 12:17:40

А еще можно удобно создавать бинарные файлы для разных тестов, например для тестов скорости скачивания:
#dd if=/dev/zero of=100_megabyte.bin bs=10240 count=10240

“df” — вывод занятого/свободного места на дисках/разделах [1 шт.]
ZIMMER, 2007-10-28 в 15:31:20

df -h Очень удобный вывод с процентами занятого места

“domainname” — установка/вывод текущего YP/NIS домена [0 шт.]

“echo” — выводит аргументы на стандартный вывод [1 шт.]
lissyara, 2007-02-28 в 16:04:52

С учётом числа возможных параметров - тут комментить - нечего :)))

“ed” — текстовый редактор [1 шт.]
stgib, 2007-08-03 в 13:38:15

Очень полезная вещь когда способности терминала не определены и нужно быстро подредактировать какие-то строки в конфигурационных файлах.

“expr” — работа с выражениями - типа больше меньше, может выполнять арифметические действия (тока с целыми числами - дробные усекаются) [0 шт.]

“getfacl” — вывод расширенных атрибутов (ACL) файлов/директорий [1 шт.]
lissyara, 2007-03-01 в 11:54:18

Отображает расширенные права доступа, установленные setfacl. Может сохранять выводимую инbyae в файл (полезно при переносе с места на место файлов).
# getfacl users_music/
#file:users_music/
#owner:10001
#group:10042
user::rwx
group::rwx
group:domain users:rwx
mask::rwx
other::r-x

“hostname” — установка/вывод имени хоста [1 шт.]
lissyara, 2007-02-28 в 17:08:27

# hostname
lissyara.eliron.local
# hostname -s
lissyara
# hostname ttt.jjj.333
# hostname
ttt.jjj.333
# hostname lissyara.eliron.local
# hostname
lissyara.eliron.local

“kenv” — вывод/модификация переменных ядра [0 шт.]

“kill” — послать сигнал процессу (убить, перечитать конфиг и т.п.) [1 шт.]
lissyara, 2007-09-10 в 12:05:30

Кусок мана по командам:
1 - HUP (перечитать конфиг)
2 - INT (прерывание)
3 - QUIT (выход)
6 - ABRT (прерывание)
9 - KILL (непрерываемое, неперехватываемое завершение)
14 - ALRM (сигнальный таймер)
15 - TERM (софтверный сигнал завершения)

“link” — создание ссылок на файлы (больше известна как ln) [0 шт.]

“ln” — хардлинк на link [0 шт.]

“ls” — вывод содержимого директории [0 шт.]

“mkdir” — создание директорий [0 шт.]


“mv” — перемещение файлов/директорий [0 шт.]

“pax” — читает/пишет файловые архивы, копирует структуру директорий [0 шт.]

“pgrep” — находит процесс по имени, или посылает сигнал процессу по имени процесса [1 шт.]
stgib, 2007-08-03 в 13:35:10

Вот так можно вывести все нужные процессы не потеряв при этом заголовок:
> ps xlp`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 [0 шт.]

“ps” — вывод списка процессов [1 шт.]
Jimmy, 2007-08-09 в 20:06:22

Пользуюсь для просмотра процесов на системе. Пробуйте мне так удобно ps -ax |less

“pwd” — вывод пути рабочей директории [0 шт.]

“rcp” — копирование фалов между машинами [0 шт.]

“realpath” — вывод реального пути (все симлинки резольвятся) [0 шт.]

“red” — хардлинк на ed [0 шт.]

“rm” — удаление файлов/директорий [7 шт.]
dikens3, 2007-02-28 в 17:58:03

Пользоваться данным примером с осторожностью:
#cd /var
#rm -R log
в итоге директория /var/log исчезнет без каких-либо приключений и напоминаний.

lissyara, 2007-02-28 в 19:07:10

а у меня в .cshrc висит альяс
rm -> rm -iv
я хотябы получаю подтверждения...

GR aka 1, 2007-02-28 в 23:37:27

Дык! Классика:
rm -rf / (C)Унивесальный патч Бармина :)

lissyara, 2007-02-28 в 23:42:59

ай, ну хватит другим советовать чё не пробовали :)))
/usr/home/lissyara/.kde/Autostart/>uname -a
FreeBSD ussr.lissyara.int.otradno.ru 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 26 22:41:13 MSK 2007 lissyara@ussr.lissyara.int.otradno.ru:/usr/obj/usr/src/sys/ussr-v1 i386
/usr/home/lissyara/.kde/Autostart/>id
uid=0(root) gid=0(wheel) groups=0(wheel), 5(operator)
/usr/home/lissyara/.kde/Autostart/>rm -Rf /
rm: "/" may not be removed
/usr/home/lissyara/.kde/Autostart/>

abigor, 2007-03-01 в 3:50:56

корень надо дерить так, проверял =)
rm -rfd /*

GR, 2007-03-02 в 18:59:08

Ну да / - may not be removed, да вот только все что в нем и ниже may, and will :)
Впрочем ваша правда - я на 6.* не проверял ... и на 5.* и на 4.* не проверял, а вот на 2.* - было дело в прошлом веке :) Нас тогда так старшие товарищи разуму учили - за что им и спасибо, хотя тогда думал вот же [beeeeeeeeep]! :)

stgib, 2007-10-31 в 2:04:39

если в (t)csh установить переменную rmstar (i.e., set rmstar), то в случае неумышленного пробела перед/после звуздочки будет выдаваться подтверждение. Спасает от частой ошикби вида rm tes_*
А поскольку предупреждение вылезает только в опасные моменты, а не на каждый файл (-i) или на каждые 3 файла(-I), то вероятность нажать y на автомате гораздо меньше.

“rmail” — управление удалённой почтой через uucp [0 шт.]

“rmdir” — удаление директорий (пустых) [0 шт.]

“setfacl” — установка расширенных файловых аттрибутов (ACL) [1 шт.]
lissyara, 2007-02-28 в 15:53:15

К сожалению, в отличие от линуховой версии, FreeBSD`шная не умеет расставлять расширенные пермишены рекурсивно...
Поэтому, приходиться изаляться...
# find . -type d -exec setfacl -m u:lissyara:rwx {} ;
Например, так :)))

“sh” — единственный настоящий шелл [0 шт.]

“sleep” — задержка выполнения на заданное число секунд [1 шт.]
lissyara, 2007-02-28 в 16:20:59

Бесценнейшая утилита, когда уходя с сервера надо затереть за собой следы :))
# sleep 10 && echo > ~/.cshrc &
# exit

“stty” — установка опций для устройства терминала [0 шт.]

“sync” — принудительная синхронизация кэша записи (сброс содержимого на диск) [0 шт.]

“tcsh” — симлинк на csh (правильней обратное утверждение csh -->tcsh) [0 шт.]

“test” — сравнение условий [0 шт.]

“unlink” — хардлинк на rm [0 шт.]

Обновлено: 12.03.2015