Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> system —> /bin

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

Автор: lissyara.


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

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


Ps1x, 2008-08-26 в 13:03:24

ss

sss, 2008-09-14 в 18:24:08

ss, 2008-10-23 в 16:43:59

ss

жопа, 2008-10-26 в 12:28:34

klkg жопа


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

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

stgib, 2007-11-06 в 15:49:48

cat(1) обычно используется для склеивания разбитых [c]split(1)'ом файлов:
for i in $dists; do
       echo "  Extracting source component: $i"
       cat s${i}.?? | tar --unlink -xpzf - -C ${DESTDIR}/usr/src
done

(код распаковки исходников с установочного диска)


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



klassik, 2008-02-25 в 18:51:04

chmod -R 777 /usr/local/www/*
Выдача прав папке и всем вложенным в эту папку филам и директориям.

NetSpider, 2008-07-12 в 17:53:55

find /usr/local/www/ -type f | xargs chmod 644
права 644 всем файлам (права директорий без изменений).
777 - моветон =)

., 2009-09-23 в 14:05:57

не юзать на корневую ФС!!! Будьте бдительны!


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 -


NetSpider, 2008-07-12 в 17:59:40

ls -il /bin/*csh


Archy, 2008-04-22 в 10:29:22

date ггГГммДДЧЧММ.сс
где
гг - это первые две цифры года (19 или 20), необязательный параметр;
ГГ - последние две цифры года;
мм - номер месяца, ведущий ноль обязателен;
ДД - день, ведущий ноль обязателен;
ЧЧ - часы в 24-х часовом формате, ведущий ноль обязателен;
ММ - минуты, ведущий ноль обязателен;
сс - секунды.

higin, 2008-07-30 в 0:00:54

date +%s
вывод даты в формате unix


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


ZIMMER, 2007-10-28 в 15:31:20

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

NetSpider, 2008-07-12 в 18:10:04

очень полезный ключ -i, дополнительно выводит статистику по inode



lissyara, 2007-02-28 в 16:04:52

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

stgib, 2007-11-17 в 21:40:49

в варианте sh(1) есть полезный ключик -e, кой позволяет печатать некоторые интересные символы не прибегая к printf(1). Например:
$ echo -e '\tTest\r'

       Test

NetSpider, 2008-07-12 в 18:47:02

Некоторые непечатаемые символы можно выводить просто с консоли вручную, например:
# echo ^L`hostname` > /dev/console
позволяет очистить и вывести имя хоста на главной консоли
при этом символ
^L
выводится с помощью последовательного нажатия клавиш V L при нажатой клавише CTRL

еще символы:
^K разбивает строку и выводит текст "лесенкой"
^J отображается как ^M, возврат каретки (^M перевод на новую строку)
^I символ табуляции
^H backspace
^K^J (отображается как ^K^M) - выведет текст в столбик:

# echo "Word^K^Mafter^K^Mword"
Word
after
word

NetSpider, 2008-07-12 в 18:48:57

echo -n > /var/logfile
позволяет быстро очистить файл, если какой-нибудь лог забил раздел /var

NetSpider, 2008-07-12 в 18:50:34

^K это собственно символ "new line" =)


stgib, 2007-08-03 в 13:38:15

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



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


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



lissyara, 2007-09-10 в 12:05:30

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






561, 2008-04-07 в 15:44:07

на днях столкнулся с нетривиальным использованием данной команды, догодайтесь что будет:
#cd /usr/local/etc
#mv nginx/* /*

serg, 2008-04-23 в 12:52:36

Как я понял этой командой мы все переносим в /var
[12:39][serg@serg] ~/download/shablony> mv nginx/* /*
mv: rename /COPYRIGHT to /var/COPYRIGHT: Permission denied
mv: rename /bin to /var/bin: Permission denied
mv: rename /boot to /var/boot: Permission denied
mv: rename /cdrom to /var/cdrom: Permission denied
mv: rename /compat to /var/compat: Permission denied
mv: rename /dev to /var/dev: Permission denied
mv: rename /dist to /var/dist: Permission denied
mv: rename /entropy to /var/entropy: Permission denied
mv: rename /etc to /var/etc: Permission denied
mv: rename /home to /var/home: Permission denied
override rwxr-xr-x  root/wheel for /var/lib? (y/n [n]) ^C

serg, 2008-04-23 в 12:53:50

., 2009-09-23 в 14:14:02

догодайтесь что будет:
#cd /usr/local/etc
#mv nginx/* /*

с под рута - аналог патча Бармина, скорее всего ))))


, 2008-10-30 в 19:58:21

MixUp, 2009-05-14 в 15:39:04

пример использования pax:
хотим сделать зеркало например каталога /var в /home/var
# mkdir /home/var
# cd /var
# pax -p eme -rw . /home/var
и ждём.


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)

stgib, 2007-11-17 в 21:42:07

в предыдущем примере x не нужен

NetSpider, 2008-07-12 в 19:58:53

а у меня такое не работает.. 0_о (csh)

Angel admin, 2008-12-31 в 3:00:28

Да Freebsd 7 и тоже не работает



Jimmy, 2007-08-09 в 20:06:22

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

Kolesya, 2008-04-15 в 16:20:27

так тож неплохо. строки длинные, но больше информации
ps -aux | less

NetSpider, 2008-07-12 в 20:00:42

ps axwwj | less
еще больше информации






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 на автомате гораздо меньше.




lissyara, 2007-02-28 в 15:53:15

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

Dron, 2008-03-25 в 16:48:54

на память:
ACL  указываются  так,  как  они отображаются на
  выводе команды getfacl. Попробуем удалить и воссоздать
  ACL для файла acl-test:

       $ setfacl -b acl-test
       $ setfacl -m user:nobody:rw-,group:wheel:rw- acl-test


  Опция "-b" удаляет все ACL, кроме стандартных полномочий пользователя,
  группы и остальных. Опция "-m" модифицирует ACL
  указанным   элементом   (или   несколькими   элементами,  разделенными
  запятой). Можно использовать аббревиатуры элементов :
  нижеприведенный      пример      может      быть      сокращен      до
  u:nobody:rw-,g:wheel:rw-. Вы даже можете использовать setfacl для
  модификации  "традиционных"  полномочий;  установка элемента user::rw-
  эквивалентна запуску chmod u=rw для изменения прав
  на файл.

  Удаление  ACL  почти  идентично:
 
          setfacl  -x u:nobody:rw-,g:wheel:rw-
 
 
  удаляет указанный ACL.



lissyara, 2007-02-28 в 16:20:59

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

NetSpider, 2008-07-12 в 20:06:03

так можно сразу
# sleep 10 && echo > ~/.cshrc & && exit




NetSpider, 2008-07-12 в 20:09:03

правильнЕй - хардлинк.



, 2008-10-16 в 9:34:24

цйу




размещено: 2007-02-28,
последнее обновление: 2007-03-09,
автор: lissyara



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0605 секунд
Из них PHP: 20%; SQL: 80%; Число SQL-запросов: 101 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 78199