Автор Тема: Полезные команды FreeBSD  (Прочитано 9690 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Fray

  • Администратор
  • Олдфаг
  • *****
  • Сообщений: 5959
  • Рейтинг: 53
  • Пол: Мужской
    • fray@it-blojek.ru
    • lushikafu
    • lushikafu
    • Просмотр профиля
    • IT-Бложек
  • Откуда: Петербург
Полезные команды FreeBSD
« : 30 Декабря 2010, 09:03:43 »
Проверить соответствие установленного ПО с деревом портов (на предмет новых версий)
[root@nas ~]# pkg_version -vL=
en-freebsd-doc-20090913             <   needs updating (port has 20100519)
ghostscript8-nox11-8.71_1           <   needs updating (port has 8.71_2)
sane-backends-1.0.20_6              <   needs updating (port has 1.0.21)

Узнать из какой директории портов ставилась программа
[root@nas ~]# pkg_info -o rtorrent-0.8.6_1
Information for rtorrent-0.8.6_1:


Origin:
net-p2p/rtorrent

Провести аудит установленного ПО
[root@nas ~]# portaudit -Fda
auditfile.tbz                                 100% of   61 kB   42 kBps
New database installed.
Database created: Thu May 27 19:55:00 NOVST 2010
0 problem(s) in your installed packages found.

Cменить шелл у пользователя

1. Смотрим доступные
[root@nas ~]# cat /etc/shells 
# $FreeBSD: src/etc/shells,v 1.5.36.1.2.1 2009/10/25 01:10:29 kensmith Exp $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.


/bin/sh
/bin/csh
/bin/tcsh
/usr/local/bin/bash
/usr/local/bin/rbash

2. Меняем
[root@nas ~]# chsh -s csh pascal
chsh: user information updated

Посмотреть rc переменные скриптов автозапуска
[root@ca-blade-8-BSD ~]# /usr/local/etc/rc.d/rsyncd rcvar
# rsyncd
$rsyncd_enable=YES

Посмотреть сетевые соединения
[root@dio-archive ~]# sockstat -4 | grep 873 
root     rsync      6120  4  tcp4   *:873                 *:*

Посмотреть активность жестких дисков
# gstat

dT: 1.007s  w: 1.000s
 L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    0      0      0      0    0.0      0      0    0.0    0.0| acd0
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1a
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1b
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1c
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1d
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1e
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1f
    0      0      0      0    0.0      0      0    0.0    0.0| mfid0s1g

Отслеживать параметры системы в реальном времени
# vmstat -w 3
 procs      memory      page                   disk   faults         cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr mf0   in   sy   cs us sy id
 0 1 0    607M   184M   132   0   0   0   131   1   0   65 1236  771  0  0 100
 0 1 0    617M   180M  1518   0   0   0  1178   0   1   57 1893  725  1  0 98
 0 1 0    617M   180M     3   0   0   0     7   0   2   67  817  804  0  0 100
 1 1 0    617M   180M   118   0   0   0   108   0  97  104 5892  900  0  0 100
 0 1 0    617M   180M     1   0   0   0     6   0   1   52  498  614  0  0 100

Мониторинг загрузги сетевых интерфейсов
# systat -ifstat



              /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average


      Interface           Traffic               Peak                Total
            lo0  in      2.469 KB/s          2.469 KB/s            1.280 GB
                 out     2.469 KB/s          2.469 KB/s            1.280 GB


            em0  in     31.014 KB/s         48.655 KB/s            3.831 GB
                 out    20.426 KB/s         32.246 KB/s            2.314 GB

Определение занятого\свободного места на разделах
# df -h
Filesystem       Size    Used   Avail Capacity  Mounted on
/dev/mfid0s1a    9.7G    246M    8.7G     3%    /
devfs            1.0K    1.0K      0B   100%    /dev
/dev/mfid0s1d    4.8G     13M    4.4G     0%    /tmp
/dev/mfid0s1f    145G     96G     38G    72%    /usr
/dev/mfid0s1e     39G    1.5G     34G     4%    /var
/dev/mfid0s1g    129G     39G     80G    33%    /smb

#cd  = Сменить директорию (#cd /user/music)
#cd ~   = Переход в домашний каталог (так же как и просто #cd)
#cd   ~otheruser = Переход в домашний каталог другого пользователя
#cd   - (минус) = Вернуться в предидущую директорию
#pwd =   Посмотреть текущее местонахождение
#ls = Покажет содержимое   директории
#cat = Показывает содержимое файла
#echo =   Предназначенна для вывода параматров и перенаправление ввода/вывода
#head   = Посмотреть первые несколько строк файла (#head -n 10 - показать   первые 10 строк файла)
#tail = Посмотреть последние несколько   строк файла (#tail -n 10 - показать последние 10 строк файла)
 #df   -h = Инфо по дисковому пространству.
#last reboot =   Покажет историю перезагрузок.
#dmesg = Покажет сообщения ядра   полученные после перезагрузки.
#mkdir = Создает директорию
#mkdir   -p = Создает сразу несколько директорий (например   /root/newf1/newf2/newf3/newf4)
#rmdir = Удаляет директорию   (удаляет только пустую директорию)
#rm     =  Удаляет один   файл
#rm -r = Удаляет директорию и все содержимое (папки,   файлы)
#touch = Создает пустой файл. Если файл существует, то   тогда комманда touch меняет дату модификации файла.
#chown =   Сменить владельца и поменять права доступа на директорию. (#chown   username foldername)
#chown -R username foldername =   Сменить владельца на директорию и все её поддиректоии и файлы
#chgrp   = Изменить группу
#chmod = Изменяет права доступа для   файла/директории
    #chmod ugo +-= rwx (u-user; g-group; o-other)   (+allow; -deny; =add) (r-read; w-write; x-execute)
#chmod u+rwx   test.cf   = Разрешить пользователю "читать", "изменять" и   "выполнять" файл test.cf

Для работы с pkg_info при использовании ключа x нет необходимости указывать версию по, например:
%pkg_info -xo apache
Information for apache-2.2.15_9:


Origin:
www/apache22


%pkg_info -xD apache
Information for apache-2.2.15_9:


Install notice:
To run apache www server from startup, add apache22_enable="YES"
in your /etc/rc.conf. Extra options can be found in startup script.


Your hostname must be resolvable using at least 1 mechanism in
/etc/nsswitch typically DNS or /etc/hosts or apache might
have issues starting depending on the modules you are using.

Проверяем наличие библиотек в зависимостях определенного бинарника
$  ldd `which bash`
/usr/local/bin/bash:
        libncurses.so.7 => /lib/libncurses.so.7 (0x28101000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28144000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2814d000)
        libc.so.7 => /lib/libc.so.7 (0x28242000)
$ csh
% ldd `which bash`
/usr/local/bin/bash:
        libncurses.so.7 => /lib/libncurses.so.7 (0x28101000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28144000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2814d000)
        libc.so.7 => /lib/libc.so.7 (0x28242000)
%bash
[ooorc@ns ~]$ ldd `which bash`
/usr/local/bin/bash:
        libncurses.so.7 => /lib/libncurses.so.7 (0x28101000)
        libintl.so.8 => /usr/local/lib/libintl.so.8 (0x28144000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2814d000)
        libc.so.7 => /lib/libc.so.7 (0x28242000)

Источник - http://unixadmins.su
MCSE: Messaging, MCSE: Communication, MCSE: Productivity, MCSA: Office 365, MCPS
my blog - http://it-blojek.ru

Оффлайн ds0m

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 1220
  • Рейтинг: 19
  • Пол: Мужской
    • ds0m.spb@gmail.com
    • Просмотр профиля
    • SHIT HAPPENS
  • Откуда: DC
Re: Полезные команды FreeBSD
« Ответ #1 : 30 Декабря 2010, 09:27:04 »
Часть описанных команд - не уникальная только для FreeBSD.
<root> помимо принципа "работает - не трогай", есть ещё один важный принцип - "бритва Оккама" - "не приумножай сущность сверх необходимости"
А спонсор этого поста - прививка от бешенства. Прививка от бешенства - не твоя, вот ты и бесишься.

Оффлайн myst

  • Постоялец
  • ***
  • Сообщений: 372
  • Рейтинг: 8
  • Пол: Мужской
    • mistiq.master@gmail.com
    • mistiq.master
    • Просмотр профиля
  • Откуда: Владивосток
Re: Полезные команды FreeBSD
« Ответ #2 : 12 Января 2011, 17:08:52 »
Проверить соответствие установленного ПО с деревом портов (на предмет новых версий)
[root@nas ~]# pkg_version -vL=
[/quote]Ладно, а ты знаешь что нужно чтоб во фре появилась команда pkg_*? похоже нет, зато тупой копипаст рулит...
Да-да, менно тупой...
٩(●̮̮̃•̃)۶

Оффлайн Fray

  • Администратор
  • Олдфаг
  • *****
  • Сообщений: 5959
  • Рейтинг: 53
  • Пол: Мужской
    • fray@it-blojek.ru
    • lushikafu
    • lushikafu
    • Просмотр профиля
    • IT-Бложек
  • Откуда: Петербург
Re: Полезные команды FreeBSD
« Ответ #3 : 12 Января 2011, 18:18:01 »
Ладно, а ты знаешь что нужно чтоб во фре появилась команда pkg_*? похоже нет, зато тупой копипаст рулит...
Да-да, менно тупой...
Нет, не знаю. Зато слежу за правильностью расстановки тегов :)
MCSE: Messaging, MCSE: Communication, MCSE: Productivity, MCSA: Office 365, MCPS
my blog - http://it-blojek.ru

Оффлайн myst

  • Постоялец
  • ***
  • Сообщений: 372
  • Рейтинг: 8
  • Пол: Мужской
    • mistiq.master@gmail.com
    • mistiq.master
    • Просмотр профиля
  • Откуда: Владивосток
Re: Полезные команды FreeBSD
« Ответ #4 : 13 Января 2011, 09:36:27 »
Часть описанных команд - не уникальная только для FreeBSD.
а большинство там просто не работает...
٩(●̮̮̃•̃)۶

Оффлайн Pascal

  • Начинающий
  • *
  • Сообщений: 44
  • Рейтинг: 5
  • Пол: Мужской
    • Просмотр профиля
    • UNIXDEV
Re: Полезные команды FreeBSD
« Ответ #5 : 14 Января 2011, 14:05:09 »
адно, а ты знаешь что нужно чтоб во фре появилась команда pkg_*? похоже нет, зато тупой копипаст рулит...
Да-да, менно тупой...

Ничего не надо, pkg-* входит в базовую систему
вот пруф:

gentooVM pascal # mkdir /tmp/bsd
gentooVM pascal # mount -o loop /mnt/share/FreeBSD-8.1-RELEASE-i386-disc1.iso /mnt/cdrom/
gentooVM pascal # cd /mnt/cdrom/8.1-RELEASE/base/
gentooVM base # export DESTDIR=/tmp/bsd
gentooVM base # ./install.sh
You are about to extract the base distribution into /tmp/bsd - are you SURE
you want to do this over your installed system (y/n)? y
gentooVM base # find /tmp/bsd/ -name "*pkg*"
/tmp/bsd/var/db/pkg
/tmp/bsd/usr/sbin/pkg_info
/tmp/bsd/usr/sbin/pkg_version
/tmp/bsd/usr/sbin/pkg_updating
/tmp/bsd/usr/sbin/pkg_create
/tmp/bsd/usr/sbin/pkg_add
/tmp/bsd/usr/sbin/pkg_delete




слабоумие и отвага!

Оффлайн myst

  • Постоялец
  • ***
  • Сообщений: 372
  • Рейтинг: 8
  • Пол: Мужской
    • mistiq.master@gmail.com
    • mistiq.master
    • Просмотр профиля
  • Откуда: Владивосток
Re: Полезные команды FreeBSD
« Ответ #6 : 20 Января 2011, 00:36:30 »
В 7ке ещё небыло. Дальше не смотрел т.к. фря в продакшене мне не интересна ниразу.
٩(●̮̮̃•̃)۶

Оффлайн Pascal

  • Начинающий
  • *
  • Сообщений: 44
  • Рейтинг: 5
  • Пол: Мужской
    • Просмотр профиля
    • UNIXDEV
Re: Полезные команды FreeBSD
« Ответ #7 : 21 Января 2011, 14:38:30 »
В 7ке ещё небыло. Дальше не смотрел т.к. фря в продакшене мне не интересна ниразу.

Что-то я в этом неуверен, будет время проверю в семерке.
слабоумие и отвага!

Оффлайн myst

  • Постоялец
  • ***
  • Сообщений: 372
  • Рейтинг: 8
  • Пол: Мужской
    • mistiq.master@gmail.com
    • mistiq.master
    • Просмотр профиля
  • Откуда: Владивосток
Re: Полезные команды FreeBSD
« Ответ #8 : 21 Января 2011, 15:09:24 »
В 7ке ещё небыло. Дальше не смотрел т.к. фря в продакшене мне не интересна ниразу.

Что-то я в этом неуверен, будет время проверю в семерке.
проверь проверь... до 7ки или 6ки (точно не помню) это ставильно отдельным портом.
٩(●̮̮̃•̃)۶

Оффлайн boykov

  • Начинающий
  • *
  • Сообщений: 21
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: оттуда
Re: Полезные команды FreeBSD
« Ответ #9 : 20 Июля 2011, 22:40:06 »
*завершает споры про pkg_xxx  : )
Как и предполагалось по логике вещей, базоывая система установеки ПО есть бай дефолт.
# uname -a
FreeBSD  4.10-RELEASE FreeBSD 4.10-RELEASE #0: Tue May 25 22:47:12 GMT 2004     root@perseus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
# pkg_info
pkg_info: no packages installed
# pkg_add
ns2.boykov{1230} # pkg_info -a | grep pkg
please refer to ${PORTSDIR}/x11/gnome/pkg/DESCR.
ns2.boykov{1231} # uname -a
FreeBSD ns2.kolasc.net.ru 3.1-RELEASE FreeBSD 3.1-RELEASE #0: Wed Sep  1 16:55:19 MSD 1999     root@ns2.kolasc.net.ru:/usr/src/sys/compile/KERNEL_REMOTE  i386
двойку лень в исо перегонять.
cat /dev/zero > /dev/null &

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 888
  • Рейтинг: 21
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Полезные команды FreeBSD
« Ответ #10 : 08 Января 2014, 09:40:52 »
Системные команды, которыми можно проверить ресурсы системы, текущую нагрузку и просто просматривать различную информацию.

HDD

atacontrol list - просмотр всех жестких дисков в системе (показывает в том числе и их модели)
mount – показывает смонтированные подразделы и флаги из монтирования
cat /etc/fstab – таблица монтирования при загрузке
disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0
swapinfo – показывает список подразделов свопинга на дисках и их использование

gstat – нагрузка на диски
fstat – показывает список открытых файлов (имена файлов не выводятся)
pstat -f – выводит список открытых файлов (имена файлов не выводятся)
iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.
iostat -d -w1 -c7 – нагрузка на диски. Статистика в удобном виде
vmstat – выводит количество операций на диске в секунду
sysinstall – можно посмотреть и изменить разметку диска и монтирование

systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.
systat -io start 1 - HDD + CPU
diskinfo -t ad4 – тест на дисковую производительность
tunefs -p /var/ – информация о настройках файловой системы (UFS)


df -H – количество свободного места
df -i – количество свободных инодов

Network

ifconfig – список сетевых интерфейсов с ip-адресами, масками, mac-адресами, типами карт и их статусами (названия карточек можно посмотреть в файле конфигурации ядра)
ifconfig -d  - Просмотреть список отключенных интерфейсов
ifconfig -u  - Список включенных сетевух
netstat – вывод активных сетевых соединений (сокетов)
netstat -i ошибки на интерфейсах
netstat -m - просмотр хватает ли mbuf и т.д.
netstat -inb – сколько передано через интерфейс в байтах
netstat -ibt – список интерфейсов, разбитых по ip-адресам (!) с объемом трафика на каждом, количеством ошибок, коллизий, значением watchdog-таймера
netstat -hdw 1 -i net1 - Просмотр количества пакетов в сек, ошибок и дропов на интерфейсе (online)
netstat -r – таблица маршрутизации

systat -ifstat n– интенсивность передачи трафика (online) по всем сетевым интерфейсам за n секунд
systat -netstat n – аналог netstat в реальном времениsysctl kern.ipc.numopensockets – количество открытых сокетов
systat -ip n – таблица IP-пакетов и ошибок по типам за n секунд
systat -tcp n – таблица TCP-пакетов и ошибок по типам за n секунд
systat -icmp n – таблица ICMP-пакетов и ошибок по типам за n секунд

arp -a – просмотр всей таблицы ARP
arp -ad – очистка всей таблицы ARP

tcpdump -i rl0 host 192.168.61.20 and port 80 – сниффер пакетов на интерфейсе rl0, фильтрующий пакеты, содержащие адрес 192.168.61.20 и порт 80
trafshow -i rl0 – программа для сортировки и вывода сетевых потоков (устанавливается дополнительно пакетом или из портов)
System
top -mio – показать I/O по процессам
top -S – показать системные процессы в топе (по дефолту они не показываются)
top -SHPI - показать загрузку по ядрам, в том числе и системные процессы, кроме тех что в простое. Наиболее удобный вариант.

vmstat -z чего не хватает
vmstat -i прерывания по устройствам
systat -vmstat n – просмотр всей сводной статистики по системе(online).  вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см)
uptime - можно просмотреть время работы системы без перезагрузок и load averages системы
pcpustat - мониторинг CPU (порт)
ps afx – список запущенных процессов и время процессора на каждый
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* - Посмотреть очередность запуска сервисов в freebsd.

Memory
freecolor – очень симпатичная утилита для мониторинга использования памяти (ставится из портов)
Для детальной информации по расходу памяти:

fetch -o /usr/local/bin/free http://people.freebsd.org/~rse/dist/freebsd-memory
chmod +x /usr/local/bin/free
free

Службы времени

date – выводит текущее время и дату
w – выводит, сколько времени назад система загрузилась и список залогиненных пользователей
last – выводит историю перезагрузок и входов пользователей
lastlogin - выводит по пользователям дату и время последнего входа в систему


взято тут - http://nix-sa.blogspot.ru/2011/09/freebsd.html
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Онлайн Triangle

  • Модераторы
  • Ветеран
  • *****
  • Сообщений: 4823
  • Рейтинг: 35
  • Пол: Мужской
    • s.popov-skype
    • Просмотр профиля
  • Откуда: замкадыш
Полезные команды FreeBSD
« Ответ #11 : 15 Февраля 2015, 16:23:44 »
http://itadept.ru/freebsd-commands/
Спойлер для скрыто:

Команды добавленные недавно
tcpdump -i интерфейс -n host 192.168.0.1

Перехват и анализ сетевого трафика, для заданного IP-адреса.
-i - сетевой интерфейс для захвата пакетов.
-n - отображать адреса и порты в числовом формате, не выполнять реверсных DNS-запросов.
-e - отображать данные канального уровня (MAC-адрес, протокол, длина пакета).
-A - отображать данные пакета в текстовой форме.
-s размер - число байт, захватываемых из пакета, по умолчанию начиная с FreeBSD 9 - 65535, в предыдущих версиях - 96 байт.
tcpdump -i интерфейс tcp port 80 or 443

Перехват сетевого трафика, по заданным портам.
tcpdump -i интерфейс ether host 11:22:33:44:55:66

Перехват сетевого трафика, для заданного MAC-адреса.
tcpdump -i интерфейс "ether[0:4] >> 8 = 0x112233 or ether[6:4] >> 8 = 0x112233"

Перехват сетевого трафика, c фильтром по первым трем байтам MAC-адреса (идентификатору производителя устройства):
ether[0:4] и ether[6:4] - получаем старшие 4 байта MAC-адреса получателя и отправителя.
>> 8 - сдвигаем младший байт.
= 0x112233 - сравниваем оставшиеся 3 байта с искомым адресом: 11:22:33

man tcpdump
Википедия: tcpdump
Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)
tcpdump - формат вывода
arp -an
arp хост

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

man arp
ntpdate pool.ntp.org

Синхронизировать время с NTP-сервером.

man ntpdate
Руководство FreeBSD: Синхронизация часов через NTP
tzsetup

Выбор часового пояса.

man tzsetup
fetch URL

Загрузить файл по заданному URL.
-o имя - задать имя локального файла.
-n - не сохранять дату модификации файла.

Поддерживаются протоколы: HTTP, HTTPS, FTP.

При работе по HTTPS-протоколу возникнет ошибка: "Certificate verification failed", необходимо установить пакет корневых сертификатов ca_root_nss, поддерживаемый проектом Mozilla, и создать ссылку в /etc/ssl:

pkg install ca_root_nss
ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem

man fetch
pkg info пакет
pkg info -drl пакет

Информация об установленном пакете:
-d - список пакетов, от которых зависит данный пакет,
-r - список пакетов, которые зависят от данного пакета,
-l - список установленных файлов.

man pkg-info
man pkg_info
pkg lock пакет
pkg unlock пакет

Заблокировать или разблокировать операции с пакетом и его зависимостями.

Блокировка пригодится для предотвращения автоматического обновления пакетов, собранных из портов с нестандартными параметрами.

Для удаления пакета, его необходимо разблокировать.

man pkg-lock
pkg query "%t %#d %n-%v" | sort
ls -lTtrU /var/db/pkg

Список установленных пакетов, с сортировкой по дате установки пакета.

pkg query запрашивает следующие данные:
%t - дата установки в формате UNIX-времени, расшифровать значение можно командой date -r число
%#d - число зависимостей пакета
%n - наименование пакета
%v - версия пакета

На устаревших системах похожий список можно получить командой ls, задав сортировку по дате создания папки пакета, которая обычно совпадает с датой установки.

Пригодится для переустановки и чистки устаревших пакетов, после обновления системы.

man pkg-query
man ls
man pkg
man pkg.conf
Руководство FreeBSD: Использование pkgng для управления бинарными пакетами
sysrc -a
sysrc параметр
sysrc параметр=значение

Получение и изменение параметров в rc.conf.
-a - отобразить все измененные параметры.

Команда доступна начиная с FreeBSD 9.2.

man sysrc
service -e
service rc.d-скрипт start
service rc.d-скрипт stop
service rc.d-скрипт restart

Запуск и остановка служб.
-e - отобразить все включенные службы в порядке их запуска.

man service
Справка
man [номер секции] страница

Отобразить страницу справки.

man man
apropos ключевое-слово
whatis ключевое-слово
man -k ключевое-слово
man -f ключевое-слово

Поиск по страницам справки. whatis и man -f - поиск слова целиком. apropos и man -k - поиск части слова.

man apropos
man whatis
man man
info [раздел] [подраздел]

Чтение документации в формате Info.
info --apropos=текст

Поиск в info-документации.

man info
Руководство FreeBSD: Системный справочник (man)
FreeBSD. Подробное руководство: Страницы руководства
Пользователи и группы
adduser

Добавить пользователя в интерактивном режиме.

man adduser
Руководство FreeBSD: Пользователи и основы управления учетными записями
FreeBSD. Подробное руководство: Безопасность и пользователи
rmuser пользователь

Удалить пользователя.

man rmuser
passwd [пользователь]

Сменить пароль пользователя.

Если пользователь не задан, сменить свой пароль.

man passwd
pw lock пользователь

Заблокировать пользователя.
pw unlock пользователь

Разблокировать пользователя.

man pw
vipw

Открыть файл паролей в текстовом редакторе.

Будет запущен редактор, заданный в переменной окружения EDITOR, по умолчанию vi. В скрипте запуска командной оболочки: "/root/.cshrc", в строке: "setenv EDITOR", можно задать другой редактор, например ее или mcedit.

man vipw
pw groupadd группа

Создать группу.
pw groupdel группа

Удалить группу.
pw groupmod группа -m пользователь1,пользователь2

Добавить пользователей в группу.
pw groupmod группа -d пользователь1,пользователь2

Удалить пользователей из группы.
pw groupshow группа

Отобразить пользователей группы.

man pw
id пользователь

Отобразить принадлежность пользователя к группам.

man id
Устройства и ядро
cat /var/run/dmesg.boot
less /var/run/dmesg.boot

Отобразить сообщения ядра при загрузке системы. Файл /var/run/dmesg.boot содержит информацию о текущем ядре, процессе его запуска и список обнаруженных ядром устройств.
kenv

Отобразить параметры загрузки ядра, модель материнской платы и версию BIOS.

man kenv
dmidecode

Отобразить информацию из DMI/SMBIOS о материнской плате, процессоре и памяти.

Требуется установка порта dmidecode.

man dmidecode
devinfo -r

Дерево устройств с информацией об используемых ресурсах (IRQ, DMA, Memory).
devinfo -u

Список устройств с группировкой по типу ресурса.

man devinfo
pciconf -lcv

Информация о PCI устройствах.

man pciconf
vmstat -i

Информация о количестве прерываний (IRQ) и использующих их устройств.

Полезно для решения проблемы высокой нагрузки процессора обработчиками прерываний (% interrupt, отображаемый командой top).

man vmstat
camcontrol devlist
atacontrol list

Список подключенных SCSI/ATA дисков.
camcontrol identify ada0
atacontrol cap ad0

Информация о SCSI/ATA диске.
camcontrol negotiate ada0 -v
atacontrol mode ad0

Текущий режим обмена данными с диском.

man camcontrol
man atacontrol
smartctl --scan

Список устройств поддерживаемых smartctl.

Требуется установка порта smartmontools.
smartctl -i /dev/ada0

Информация о дисковом устройстве и поддержке SMART.
smartctl -s on /dev/ada0

Включение SMART на устройстве.
smartctl --attributes /dev/ada0

Получить SMART-атрибуты с устройства.
smartctl -a /dev/ada0
smartctl -x /dev/ada0

Отобразить всю доступную smartctl информацию об устройстве.

man smartctl
Настройка постоянного мониторинга
usbconfig

Управление USB устройствами. Версия FreeBSD 8 и выше.

man usbconfig
usbdevs -dv

Информация о USB устройствах. Версии FreeBSD 7 и более ранние.

man usbdevs
acpiconf -i battery0

Информация о батарее ноутбука.

man acpiconf
cu -l cuadN

Подключение терминалом к устройству на COM-порте N. Для завершения сессии ввести "~." с новой строки.

man cu
kldstat

Список динамически загруженных драйверов.
kldstat -v -n kernel

Список драйверов, статически скомпилированных в ядро.

man kldstat
kldload драйвер1 драйвер2 ...

Загрузить драйверы.

Для постоянной загрузки драйвера при старте системы, необходимо добавить параметр: драйвер_load="YES" в /boot/loader.conf.

man kldload
man loader.conf
kldunload драйвер1 драйвер2 ...
kldunload -i id1 id2 ...

Выгрузить драйверы с заданными именами или идентификаторами.
-f - выгрузить драйвер принудительно, в случае если он используется.

man kldunload
FreeBSD. Подробное руководство: Модули ядра
sysctl -a

Отобразить список переменных ядра.
-d - отображать описания переменных, вместо их значений.
sysctl переменная
var=`sysctl -n переменная`

Отобразить значение переменной ядра. Либо задать значение переменной скрипта.
sysctl переменная=значение

Изменить значение переменной ядра.

man sysctl
Руководство FreeBSD: Настройка с помощью sysctl
FreeBSD. Подробное руководство: sysctl
FreeBSD. Подробное руководство: Некоторые полезные sysctl MIBS
vidcontrol -i mode | more
vidcontrol MODE_режим

Задать разрешение экрана физической консоли.
-i mode - отобразить список доступных видеорежимов.

Для автоматической смены разрешения при старте системы, необходимо задать параметр allscreens_flags="MODE_режим" в /etc/rc.conf

Руководство FreeBSD: Виртуальные консоли и терминалы
man rc.conf
vidcontrol -P -H < /dev/ttyv0

Получить содержимое первой физической консоли.
-H - включая буфер истории.

Для записи сообщений выводимых на консоль в лог-файл, необходимо раскомментировать строчку в /etc/syslog.conf:

console.info                                    /var/log/console.log

Создать лог-файл и задать права доступа:

touch /var/log/console.log
chmod  600 /var/log/console.log

man vidcontrol
man syslog.conf
Сеть
ifconfig

Отобразить список сетевых интерфейсов, соответствующие им IP и MAC-адреса, статус и параметры подключения.
ifconfig ifn inet 192.168.0.1 netmask 255.255.255.0
ifconfig ifn inet 192.168.0.1/24

Задать IP-адрес и маску сети для интерфейса ifn. Адрес действителен до перезагрузки системы.

Постоянный адрес задается в /etc/rc.conf строкой:

ifconfig_интерфейс="inet 192.168.0.1 netmask 255.255.255.0"

ifconfig ifn inet 192.168.0.2 netmask 255.255.255.255 alias
ifconfig ifn inet 192.168.0.2 netmask 0xffffffff add

Задать дополнительный IP-адрес для интерфейса ifn. Если дополнительный адрес находится в той же подсети, что и основной адрес, в качестве маски подсети задаем: 255.255.255.255.

Постоянный адрес задается в /etc/rc.conf параметром ifconfig_интерфейс_aliasN. Где N - порядковый номер дополнительного адреса:

ifconfig_интерфейс_alias0="inet 192.168.0.2 netmask 255.255.255.255"
ifconfig_интерфейс_alias1="inet 192.168.0.3 netmask 255.255.255.255"

man rc.conf
Руководство FreeBSD: Настройка карт сетевых интерфейсов
FreeBSD. Подробное руководство: Настройка подключения к Ethernet
ifconfig ifn inet 192.168.0.2 -alias
ifconfig ifn inet 192.168.0.2 delete

Удалить IP-адрес для интерфейса ifn.
ifconfig ifn ether 00:1D:7D:E5:E5:EF

Задать MAC-адрес для интерфейса ifn.

Для постоянной подмены MAC-адреса, необходимо создать стартовый скрипт /etc/start_if.интерфейс, и прописать данную команду.
ifconfig ifn media 100baseTX mediaopt full-duplex

Принудительно задать стандарт передачи данных для интерфейса ifn, в случае, если при автосогласовании скорость определена неверно.

Для постоянного переопределения скорости, корректируем параметр ifconfig_интерфейс в /etc/rc.conf:

ifconfig_интерфейс="inet 192.168.0.1 netmask 255.255.255.0 media 100baseTX mediaopt full-duplex"

ifconfig -m ifn

Отобразить список поддерживаемых стандартов передачи данных интерфейсом ifn.
ifconfig ifn up

Включить интерфейс ifn.
ifconfig ifn down

Отключить интерфейс ifn.
ifconfig wlan0 create wlandev ath0
ifconfig wlan0 up scan

Создать псевдоустройство wlan0 на базе ath0. Сканировать и отобразить доступные точки доступа Wi-Fi.

man ifconfig
wpa_passphrase ИдентификаторСети [Пароль] > /etc/wpa_supplicant.conf

Создать конфиг для подключения к беспроводной сети: /etc/wpa_supplicant.conf.

Если пароль не задан в параметрах, будет выдан запрос на ввод пароля.

man wpa_passphrase
man wpa_supplicant.conf
ifconfig wlan0 create wlandev ath0
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf
dhclient wlan0

1. Создать псевдоустройство wlan0 на базе ath0.

2. Подключиться к беспроводной сети.
Дополнительные параметры для wpa_supplicant:
-B - запуск в фоновом режиме.
-s - отправлять сообщения в syslog вместо текущего терминала.

3. Получить сетевые реквизиты с DHCP-сервера.

Для автоматического подключения при старте системы добавим в /etc/rc.conf следующие параметры:

wlans_ath0="wlan0"
ifconfig_wlan0="DHCP WPA"

man wpa_supplicant
man rc.conf
Руководство FreeBSD: Wireless Networking
wpa_cli status

Статус текущего беспроводного подключения.

Для работы команды необходимо настроить интерфейс управления в wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel

man wpa_cli
netstat -r

Отобразить таблицу маршрутов.

man netstat
route add -net 192.168.1.0/24 192.168.2.1

Добавить маршрут к сети 192.168.1.0, маска /24, шлюз 192.168.2.1.
route add -host 192.168.1.123 192.168.2.1

Добавить маршрут к хосту 192.168.1.123, шлюз 192.168.2.1.
route add default 192.168.2.1
route change default 192.168.2.1

Задать шлюз по умолчанию 192.168.2.1.
route del -net 192.168.1.0/24

Удалить маршрут к сети 192.168.1.0, маска /24.
route -n get адрес

Получить маршрут для заданного адреса.
-n - не выполнять реверсный DNS-запрос имени узла.

man route
Руководство FreeBSD: Сетевые шлюзы и маршруты
ping -s 1470 -c 10 адрес

Проверка связи до заданного узла, оценка задержек и потерь.
-s - размер пакета без учета ICMP-заголовка (8 байт для TCP/IPv4).
-c - количество запросов. Если ключ -c не задан, пинг выполняется до остановки вручную по Ctrl+C.

man ping
arping 192.168.0.1

Пинг ARP-пакетами. Полезно если внутрисетевой хост не отвечает на ICMP-запросы.

Требуется установка порта arping.

man arping
traceroute -I адрес

Трассировка маршрута ICMP пакетами до заданного адреса. Если не указан ключ -I трассировка ведется UDP пакетами.
traceroute -P TCP -ep 443 адрес

Трассировка маршрута TCP пакетами на фиксированный порт. Полезно для обнаружения вышестоящих брандмауэров, блокирующих порты.

man traceroute
drill адрес [@DNS-сервер] [типЗаписи]
host [-t типЗаписи] адрес [DNS-сервер]
dig [@DNS-сервер] адрес [типЗаписи]
nslookup [-query=типЗаписи] адрес [DNS-сервер]

Выполнение DNS-запросов.

Начиная с FreeBSD 10, dig и nslookup больше не входят в базовую поставку, но могут быть установлены из порта dns/bind-tools.

man drill
man host
man dig
man nslookup
FreeBSD. Подробное руководство: Основные инструменты DNS
sockstat -l -4

Список открытых портов.
-4 - отображать только порты протокола TCP/IP v4 (не отображать UNIX-сокеты).
-L - не отображать порты, открытые на локальных адресах: 127.0.0.0/8.
-u - отображать только UNIX-сокеты.
sockstat -c -4

Список установленных сетевых соединений.
-4 - отображать только соединения по протоколу TCP/IP v4 (не отображать UNIX-сокеты).
-p порт1,порт2,... - фильтр соединений по заданным портам.

Также отображается пользователь и процесс, установивший соединение.

man sockstat
FreeBSD. Подробное руководство: Открытые порты
netstat -nf inet

Список установленных сетевых соединений и открытых UDP-портов.
-n - отображать адреса и порты в числовом формате.
-f inet - отображать только соединения по протоколу TCP/IP v4 (не отображать UNIX-сокеты).
-x - отображать статистику сокетного буфера и tcp-таймеров.

В полях Recv-Q и Send-Q отображается входящая и исходящая очередь пакетов. Ненулевое значение входящей очереди, сигнализирует о проблеме: локальное приложение не успевает обрабатывать входящий трафик. Наличие исходящей очереди, является нормой, локальное приложение формирует трафик быстрее, чем он отправляется по сети.
netstat -i

Состояние сетевых интерфейсов. Число полученных и отправленных пакетов, количество ошибок и коллизий.
-d - отображать число отброшенных пакетов.
-b - отображать число полученных и отправленных байт.
-h - отображать данные в удобочитаемом формате.
netstat -w секунды [-I интерфейс]

Мониторинг числа полученных и отправленных пакетов, байт, количества ошибок и коллизий в заданном временном интервале.
-w - итервал в секундах.
-I - сетевой интерфейс для мониторинга. Если интерфейс не задан, отображаются суммарные данные по всем интерфейсам.
-q количество - выход после заданного каличества интервалов.
-d - отображать число отброшенных пакетов.

man netstat
UnixSystem: Команда netstat: получение всевозможной информации о состоянии сети
arp -an
arp хост

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

man arp
tcpdump -i интерфейс -n host 192.168.0.1

Перехват и анализ сетевого трафика, для заданного IP-адреса.
-i - сетевой интерфейс для захвата пакетов.
-n - отображать адреса и порты в числовом формате, не выполнять реверсных DNS-запросов.
-e - отображать данные канального уровня (MAC-адрес, протокол, длина пакета).
-A - отображать данные пакета в текстовой форме.
-s размер - число байт, захватываемых из пакета, по умолчанию начиная с FreeBSD 9 - 65535, в предыдущих версиях - 96 байт.
tcpdump -i интерфейс tcp port 80 or 443

Перехват сетевого трафика, по заданным портам.
tcpdump -i интерфейс ether host 11:22:33:44:55:66

Перехват сетевого трафика, для заданного MAC-адреса.
tcpdump -i интерфейс "ether[0:4] >> 8 = 0x112233 or ether[6:4] >> 8 = 0x112233"

Перехват сетевого трафика, c фильтром по первым трем байтам MAC-адреса (идентификатору производителя устройства):
ether[0:4] и ether[6:4] - получаем старшие 4 байта MAC-адреса получателя и отправителя.
>> 8 - сдвигаем младший байт.
= 0x112233 - сравниваем оставшиеся 3 байта с искомым адресом: 11:22:33

man tcpdump
Википедия: tcpdump
Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)
tcpdump - формат вывода
fetch URL

Загрузить файл по заданному URL.
-o имя - задать имя локального файла.
-n - не сохранять дату модификации файла.

Поддерживаются протоколы: HTTP, HTTPS, FTP.

При работе по HTTPS-протоколу возникнет ошибка: "Certificate verification failed", необходимо установить пакет корневых сертификатов ca_root_nss, поддерживаемый проектом Mozilla, и создать ссылку в /etc/ssl:

pkg install ca_root_nss
ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem

man fetch
openssl s_client -connect адрес:порт

Тест SSL/TLS-подключения.

man openssl s_client
snmpwalk -v 2c -Cp -c public адрес .iso

Получить всю доступную информацию от SNMP-агента.
-v - версия SNMP-протокола: 1, 2с, 3.
-Cp - отобразить общее число полученных переменных.
-c public - строка сообщества, она же пароль.

Требуется установка порта net-snmp.

man snmpwalk
Сайт проекта: www.net-snmp.org
Samba
testparm

Проверка файла конфигурации.

man testparm
smbclient //server/share -U 'логин%пароль' -D ПапкаНаСервере -c 'prompt off;del *;mput *' 2>/dev/null

Копирование текущей папки на удаленный SMB сервер, с предварительной очисткой удаленной папки, 2>/dev/null отключает вывод сообщений при использовании в сценарии.

man smbclient
smbpasswd -a логин

Добавить новый логин.
smbpasswd -x логин

Удалить логин.
smbpasswd логин

Сменить пароль.
smbpasswd -d логин

Отключить логин.
smbpasswd -e логин

Включить логин

man smbpasswd
SMB-протокол

Команды входят в базовую поставку FreeBSD, установка пакета Samba не требуется. Подробнее о настройке SMB-клиента читаем FreeBSD. Подробное руководство: FreeBSD и CIFS.
mount -t smbfs -o -E=KOI8-R:CP866 //пользователь@сервер/ресурс /mnt
mount -t smbfs -o -E=KOI8-R:CP866,-I=адрес //пользователь@сервер/ресурс /mnt

Подключить сетевой диск Windows.

-I=адрес - использовать заданный IP-адрес или DNS, минуя разрешение имен NetBIOS.

Подключение производится по устаревшему SMB-протоколу на 139 порт.

man mount_smbfs
smbutil lookup хост

Получить IP-адрес по NetBIOS-имени хоста.
smbutil view //пользователь@хост

Отобразить список сетевых дисков хоста.

Требует ручной загрузки модуля ядра, командой: kldload smbfs.ko

man smbutil
Мониторинг системы
dmesg -a

Отобразить недавние сообщения ядра. -a - отобразить весь буфер сообщений системы, включая записи syslog и сообщения консоли.

man dmesg
systat -ifstat

Мониторинг нагрузки сетевых интерфейсов.
systat -netstat

Мониторинг текущих сетевых подключений.
systat -iostat

Мониторинг загрузки процессора и дисковой подсистемы.
gstat

Мониторинг загрузки дисковой подсистемы.

man gstat
FreeBSD. Подробное руководство: Дисковый ввод-вывод
systat -ip

Мониторинг статистики IP протокола.
systat -vmstat
vmstat

Комплексный мониторинг различных параметров системы: использование памяти, прерывания, нагрузку дисковой подсистемы.

man systat
man vmstat
FreeBSD. Подробное руководство: Выявление узких мест с помощью vmstat(8)
w
who

Список активных пользовательских сессий.

man w
man who
last

Список последних пользовательских сессий.

man last
fstat -f /mnt/fs

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

man fstat
lsof

Отобразить все открытые файлы, сокеты, сетевые подключения и открывшие их процессы.

Требуется установка порта lsof.

man lsof
truss command
truss -p PID

Отобразить системные вызовы команды или запущенного процесса: операции с файлами и библиотеками, управление памятью, сигналы и пр.

Смотри также: ktrace, strace, DTrace.

man truss
Процессы
top -P

Мониторинг нагрузки системы и процессов.
-P - раздельное отображение нагрузки для каждого ядра процессора.

man top
FreeBSD. Подробное руководство: Исследование процессора, памяти и операций ввода-вывода с помощью top(1)
atop

Мониторинг нагрузки на процессор, память, дисковую подсистему и сеть. Отображение списка активных процессов. Возможность фонового сбора статистики.

Требуется установка порта atop.

man atop
ps -ax -l
procstat -a

Отобразить список процессов.

Параметры команды ps:
-a - отображать процессы всех пользователей.
-x - отображать процессы не связанные с терминалами.
-j, -l, -u, -v вывод различного набора столбцов.
-d - отобразить процессы в виде дерева родитель-потомок.
-r - упорядочить список по текущей нагрузке на процессор.
-ww - отображать команду запуска полностью.
ps -lp PID
ps -axl | grep процесс

Отображение информации о процессе c заданным PID или именем.

man ps
man procstat
man grep
FreeBSD. Подробное руководство: Исследование процессов
pgrep -l regexp-шаблон

Найти процессы с именем, соответствующим заданному шаблону. Проверить, запущен ли процесс.
-l - отображать имя процесса в дополнение к идентификатору.

man pgrep
killall имя-процесса
pkill regexp-шаблон

Отправить сигнал завершения всем процессам с заданным именем, либо именем, соответствующим заданному шаблону.

man killall
man pkill
kill PID

Отправить сигнал завершения процессу с заданным PID.

man kill
procstat -b -a
procstat -b PID
procstat -b `pgrep -a ^процесс$`

Отобразить путь к исполняемому файлу процесса.
procstat -c -a
procstat -c PID
procstat -c `pgrep -a ^процесс$`

Отобразить командную строку запуска процесса.
procstat -f PID
procstat -f `pgrep -a ^процесс$`

Отобразить список файлов, открытых процессом.
procstat -s PID
procstat -s `pgrep -a ^процесс$`

Отобразить параметры безопасности процесса: идентификаторы пользователя и группы, umask, флаги.
procstat -t PID
procstat -t `pgrep -a ^процесс$`

Отобразить потоки процесса.

man procstat
man pgrep
nice -n 20 команда

Выполнить команду с минимальным приоритетом.

man nice
nice +20 команда

Выполнить команду с минимальным приоритетом. Вариант для csh

man csh
FreeBSD. Подробное руководство: Изменение приоритетов с помощью nice
renice приоритет -p PID

Задать приоритет процессу.

Приоритет задается в диапазоне от -20 до 20, отрицательные значения увеличивают приоритет, положительные - уменьшают.

man renice
idprio 15 команда
idprio 15 -PID

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

man idprio
rtprio 15 команда
rtprio 15 -PID

Выполнять команду или процесс в реальном времени.
15 - приоритет среди других процессов реального времени.

man rtprio
Файловые системы
gpart show -p ada0

Отобразить таблицу разделов на диске ada0.
-p - отобразить имена устройств, вместо индексов разделов.
gpart create -s GPT ada5

Создать таблицу разделов формата GPT на диске ada5.

Таблица разделов GUID
gpart bootcode -b /boot/pmbr ada5

Установить загрузчик в таблицу разделов на диск ada5.
gpart add -t freebsd-boot -a 8 -s 64kb ada5
gpart bootcode -p /boot/gptboot -i 1 ada5

Создать загрузочный раздел, -s размером 64Кб, -a 8 - выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
Записать загрузчик системы, -i - индекс раздела для записи загрузчика.
gpart add -t freebsd-swap -a 8 -s 4gb ada5

Создать swap-раздел, -s - размером 4Гб , -a 8 - выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
gpart add -t freebsd-ufs -a 8 -s 10gb ada5

Создать UFS-раздел, -s - размером 10Гб, -a 8 - выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
gpart add -t freebsd-ufs -a 8 ada5

Создать UFS-раздел, занимающий все доступное пространство, -a 8 - выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
gpart delete -i 3 ada5

Удалить раздел на диске ada5. -i - индекс раздела.
gpart destroy ada5

Удалить таблицу разделов на диске ada5. -F - вместе с имеющимися разделами.

man gpart
newfs -j -L метка ada5p1

Создать новую файловую систему, оно же форматирование раздела. Все данные на указанном устройстве будут уничтожены.
-U - включить Soft Updates.
-j - включить журналирование Soft Updates (версия FreeBSD 9 и выше), при использовании этого режима в FreeBSD 9.1 не поддерживаются снапшоты, вследствие чего не работает dump для смонтированных файловых систем.
-L - метка тома. Позволяет монтировать файловую систему из /dev/ufs/метка, без привязки к имени контроллера и номеру порта.

man newfs
tunefs -j enable /dev/ada0p2

Задать параметры файловой системы. Файловая система должна быть размонтирована, либо смонтирована в режиме чтения. -n enable - включить Soft Updates. -j enable - включить журналирование Soft Updates (версия FreeBSD 9 и выше), при использовании этого режима в FreeBSD 9.1 не поддерживаются снапшоты, вследствие чего не работает dump для смонтированных файловых систем.

Руководство FreeBSD: Soft Updates
tunefs -L метка /dev/ada0p2
Задать метку для файловой системы. Позволяет монтировать файловую систему из /dev/ufs/метка, без привязки к имени контроллера и номеру порта. Файловая система должна быть размонтирована.

Начиная с FreeBSD 7.2, поддерживаются метки на основе уникальных идентификаторах файловых систем, называемых ufsid. Что позволяет монтировать файловую систему из /dev/ufsid/идентификатор, без необходимости присвоения меток.

man tunefs
glabel label метка /dev/ada0p1

Задать метку на уровне GEOM. Работает для swap-раздела, и любых других файловых систем, включая UFS2. Позволяет монтировать файловую систему из /dev/label/метка, без привязки к имени контроллера и номеру порта.
glabel status
glabel list

Получить список меток, ufsid и соответствующих им устройств.

man glabel
Руководство FreeBSD: Метки дисковых устройств
dumpfs ada0p2 | more

Отобразить параметры файловой системы.

man dumpfs
fsck /
fsck ada0p2

Проверка файловой системы, исправление ошибок. -y - отвечать "да" на все запросы (лечить всё). -n - отвечать "нет" на все запросы.

man fsck
FreeBSD. Подробное руководство: «Грязные» диски
fsdb -r /dev/ada0p2

Низкоуровневое редактирование файловой системы. Использовать с осторожностью, можно убить файловую систему. -r - запуск в режиме чтения, команды модификации будут недоступны.

man fsdb
mount

Отобразить смонтированные устройства и параметры монтирования.
-p - вывод в формате fstab.
-v - вывод дополнительной информации о файловых системах.
mount -ufr /usr

Перевод смонтированной файловой системы в режим чтения.
mount -uw /usr

Перевод смонтированной на чтение файловой системы в режим записи.

man mount
man fstab
Руководство FreeBSD: Монтирование и размонтирование файловых систем
FreeBSD. Подробное руководство: Таблица файловых систем /etc/fstab
mount -t msdosfs -o -L=ru_RU.KOI8-R,-D=CP866 /dev/da0 /mnt

Монтировать флешку в формате FAT32.

man mount_msdosfs
ntfs-3g /dev/da0s1 /mnt

Монтировать NTFS-раздел, на чтение и запись. Начиная с версии 2009.1.1, перекодировка кириллицы в KOI8-R больше не поддерживается. Настройка UTF-8 в FreeBSD.

Требуется установка порта fusefs-ntfs и запуск демона fusefs.

man ntfs-3g
umount /mnt

Демонтировать устройство.
-f - демонтировать принудительно, если устройство используется.

man umount
mount -t cd9660 -o -C=KOI8-R /dev/`mdconfig -f образ.iso` /mnt
mount -t udf -o -C=KOI8-R /dev/`mdconfig -f образ.iso` /mnt

Монтировать iso-образ диска.

Команда "mdconfig -f образ.iso" создает виртуальный диск и возвращает имя устройства.

Затем команда "mount -t cd9660 /dev/устройство /media" монтирует созданный диск в /media.

man mount_cd9660
man mount_udf
umount /media && mdconfig -d -u 0

Демонтировать виртуальный диск.

После размонтирования необходимо отключить виртуальный диск командой mdconfig -d. Параметр "-u 0" задает номер md-устройства.
mdconfig -lv

Отобразить список подключенных виртуальных дисков.

man mdconfig
dump -a -C 32 -L -f архив /

Резервное копирование файловой системы (раздела).
-a - отключить разбивку архива по лентам, разбивать только при исчерпании дискового пространства.
-C - размер кэша в мегабайтах.
-L - бэкап файловой системы, смонтированной на запись, использовать снапшот (не работает в FreeBSD 9.1 при использовании журналирования Soft Updates).
-f - путь к архиву.
/ - точка монтирования копируемой файловой системы.
dump -a -C 32 -L -f - / | gzip -9 > архив.gz

Резервное копирование файловой системы с gzip-сжатием. -9 - степень сжатия от 1 до 9.

man dump
man gzip
restore -rf архив

Восстановление файловой системы из резервной копии в текущую папку. Перед восстановлением файловую систему необходимо отформатировать (newfs), смонтировать (mount), сделать текущей папкой (cd). При загрузке с LiveCD, также необходимо смонтировать раздел /tmp, либо задать путь в переменной окружения TMPDIR, при нехватке свободного пространства в /tmp возникнет ошибка.
gunzip -c архив.gz | restore -rf -

Восстановление файловой системы из сжатого gzip-архива.

man gunzip
restore -xf архив [путь1 путь2 ...]

Извлечение файлов в текущую папку. Путь задает папки или файлы для извлечения.
restore -tf архив [путь1 путь2 ...]

Список файлов в архиве с фильтром по заданному пути.
restore -rNyf архив

Проверка архива.
restore -if архив

Извлечение данных в интерактивном режиме.

man restore
Руководство FreeBSD: Основы технологии резервного копирования
FreeBSD. Подробное руководство: dump
HOTFREEBSD.RU: Резервное копирование FreeBSD при помощи DUMP и RESTORE
OpenNET: Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса
Системный дамп FreeBSD
df [-g]

Отобразить свободное место на дисках.
-g - в гигабайтах.
-m - в мегабайтах.

man df
du -kxd 1 папка | sort -n

Рассчитать объем дискового пространства, занимаемое папкой и ее подпапками. Сортировать список по возрастанию.
-k - отображать объем в килобайтах.
-x - игнорировать точки монтирования.
-d 1 - отображать размер подпапок с уровнем вложенности не более 1.

По умолчанию, символические ссылки и повторные жесткие ссылки не учитываются. Расчет ведется в занятых блоках на диске.

man du
man sort
FreeBSD. Подробное руководство: Насколько заполнен раздел?
Файлы
ls -lT [папка]

Список файлов в папке. -T - отображать полную дату и время модификации. -i - отображать номер индексного дескриптора файла (inode).
ls -lTUtr [папка]

Список файлов в папке. -U - в качестве даты использовать дату создания, -t - сортировать список по убыванию даты, -r - сортировать в обратном порядке.

man ls
cp файл1 файл2 ... папка

Копировать файлы в заданную папку.
cp -Rpx папка1 папка2 ... папка-назначение
cp -Rpx папка-источник/ папка-назначение

Копировать заданные папки в папку назначения либо копировать содержимое папки источника в папку назначения. -R включая вложенные папки, -p копировать атрибуты и права доступа, -x исключить файлы с других файловых систем.

man cp
mv источник назначение
mv файл1 файл2 папка-назначение

Переименование либо перемещение файлов.

man mv
ln -s файл ссылка
ln -s файл1 файл2 папка

Создать символическую ссылку.

man ln
truncate -s 0 файл

Усечь размер файла до нуля. Полезно для обнуления логов, в отличие от удаления, открытые ранее дескрипторы не устаревают, запись в лог-файл будет продолжена, перезапуск демона не требуется.

man truncate
mkdir -p путь

Создать папку, -p создавать родительские папки, если отсутствуют.

man mkdir
rm файл1 файл2 ...
rm -r папка ...

Удалить файл либо удалить папку, включая вложенные папки и файлы. -P - уничтожение файлов путем тройной перезаписи содержимого.

man rm
chown пользователь:группа файл1 файл2 ...

Смена владельца файлов.

man chown
chgrp группа файл1 файл2 ...

Смена группы-владельца файлов

man chgrp
chmod 755 файл1 файл2 ...
chmod -R 755 папка ...

Задать права доступа к указанным файлам, или для всех файлов в заданной папке. -R - включая подпапки.

Доступ определяется восьмеричными значениями, каждое из которых соответственно задает разрешения для владельца файла, группы-владельца и остальных пользователей. Права доступа определяются суммой следующих значений: 4 - чтение, 2 - запись, 1 - исполнение файла. В рассмотренном примере, режим 755 разрешает чтение, запись и исполнение владельцу; чтение и исполнение для одногруппников и прочих пользователей
chmod 6755 файл

Особый режим запуска двоичного исполняемого файла: 4 - setuid, запускать от имени владельца вместо текущего пользователя; 2 - setgid, запускать от имени группы-владельца. Использование данных флагов для файлов с владельцем root, представляет собой риск повышения привилегий. Система уведомляет об обнаружении таких файлов в ежедневном отчете безопасности.
chmod 1777 папка

1 - sticky bit, задается для папок, разрешает удаление и переименование файла только его владельцу, либо владельцу папки. Обычно используется для папки /tmp.

man chmod
Статья Википедии
Руководство FreeBSD: Права доступа
Руководство FreeBSD: Списки контроля доступа файловой системы (ACL)
bzip2 файл1 файл2 ...

Сжать файлы в файл1.bz2, файл2.bz2 с удалением исходных файлов.

man bzip2
bzcat файл.bz2

Отобразить содержимое сжатого файла, оно же распаковка на стандартный вывод. Имеется также bzgrep.

man bzcat
bzip2 -d файл1.bz2 файл2.bz2 ...

Распаковать файлы с удалением сжатой версии.

man bzip2
tar -cyf архив.tar.bz2 файл1 файл2 ...

Архивация файлов и папок в tar.bzip2-архив.
tar -czf архив.tar.gz файл1 файл2 ...

Архивация файлов и папок в tar.gzip-архив.
tar -tvvf архив.tar

Отобразить список файлов в tar-архиве.
tar -xf архив.tar -C папка-назначение

Извлечь все файлы из tar-архива в заданную папку.

man tar
find папка -depth -print0 | cpio -o0 -y -F архив.cpio

Архивация папки в cpio-архив. Список файлов, сформированный командой find, подается на ввод cpio. -y включает bzip2-сжатие, также доступные алгоритмы сжатия: -J - xz, -lzma - LZMA, -z - gzip, -Z - compress.

man find
cpio -itF архив.cpio

Отобразить список файлов в cpio-архиве.
cpio -idmF архив.cpio

Извлечь все файлы из cpio-архива в текущую папку.

man cpio
Смотри также: man pax
Руководство FreeBSD: Backup Basics
mtree -c -x -K cksum -K md5digest -K sha256digest -p папка > mtree.out

Рассчитать контрольные суммы, MD5 и SHA-256 хеши для файлов в указанной папке. Сохранить полученную спецификацию в файле mtree.out. -x - пропускать точки монтирования.
mtree -f список1 -f список2

Сравнить две спецификации, отобразить различия.

Чтобы проверить целостность файлов с помощью mtree, рассчитываем текущую спецификацию файлов и сравниваем со спецификацией, созданной ранее.

man mtree
FreeBSD. Подробное руководство: Подготовка к вторжению с помощью mtree(1)
md5 -r файл1 файл2 ...
sha256 -r файл1 файл2 ...

Рассчитать MD5 или SHA-256 хеши для заданных файлов. -r - вывод в формате: "хеш файл".

man md5
Википедия: алгоритм хеширования MD5
md5deep -rel -o f * >files.md5

Создать список хешей для всех файлов в текущей папке, и сохранить в files.md5.
-r - включая подпапки.
-e - отображать прогресс.
-l - выводить относительные пути.
-o f - обсчитывать только файлы (исключить символьные ссылки).

Требуется установка порта md5deep.
md5deep -erlx files.md5 -o f *

Сравнить все файлы в текущей папке со списком: -x /path/to/files.md5, созданным ранее и отобразить различия, Для частичной проверки файлов можно указать путь к папке.

CFV - программа с тем же функционалом.

AIDE - контроль целостности системы путем сравнения хешей файлов с рассчитанными ранее.

man md5deep
Работа с текстом
cat файл
more файл
less файл

Отобразить содержимое файла.

man cat
man more
man less
cat файл1 файл2 >файл3

Объединить текстовые файлы.

man cat
head

Отобразить первые десять строк файла.

man head
tail

Отобразить последние десять строк файла.
tail -f файл

Отобразить последние десять строк файла, ожидать и отображать последующие добавляемые в файл строки. Удобно для мониторинга логов в реальном времени.

man tail
ee

Тесктовый редактор

man ee
fg

Вернуться в программу, приостановленную по Ctrl+Z.
grep -R text *

Поиск текста во всех файлах текущей папки, включая вложенные папки.

man grep
egrep "^[^#]" файл
egrep -v '^ *
  • |^$' файл


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

man egrep
diff файл1 файл2

Сравнить файлы, отобразить различия.

man diff
sdiff -s файл1 файл2

Сравнить файлы, отобразить различия с выводом в два столбца. -s - отображать только несовпадающие строки.

man sdiff
diff -r папка1 папка2

Сравнение файлов двух папках. -r - включая вложенные папки.

man diff
cut -d : -f 1,3 /etc/passwd

Отобразить определенные столбцы файла, в данном примере - имена и идентификаторы пользователей. Ключ "-d :" задает разделитель столбцов - двоеточие, ключ -f задает вывод первого и третьего столбца.

man cut
awk -F: '{print($1);}' /etc/passwd

Отобразить определенный столбец файла средствами awk, в данном примере - список имен пользователей. Ключ -F: задает разделитель столбцов - двоеточие, команда print($1); отображает первый столбец. Описание языка.

man awk
sed -i .bak "s/найти/заменить/gI" file

Поиск и замена текста в файле. Ключ -i - править исходный файл, сохранить копию, добавив к имени файла .bak. Строка поиска является регулярным выражением. Флаги: g - заменять все найденные вхождения, I - поиск без учета регистра.

man sed
iconv -f koi8-r -t cp1251 file.txt

Перекодировать файл из KOI8-R в кодировку Windows-1251.

В FreeBSD 10 входит в базовую систему, для предыдущих версий потребуется установка порта iconv.

man iconv
Википедия: iconv
Дата и время
date

Отобразить текущую дату и время.
date 200902200351

Установить дату и время в 20.02.2009 03:51.
date 0351

Установить время в 03:51 без изменения даты.

man date
ntpdate pool.ntp.org

Синхронизировать время с NTP-сервером.

man ntpdate
Руководство FreeBSD: Синхронизация часов через NTP
tzsetup

Выбор часового пояса.

man tzsetup
date -j 200902200351 '+%s'

Преобразовать время в формате год, месяц день, часы, минуты в UNIX-время.
date -r UNIX-время

Расшифровать UNIX-время.

man date
ncal [-my месяц год]

Отобразить календарь на текущий или заданный месяц.

man ncal
Порты и пакеты
pkg install пакет1 [пакет2 ...]
pkg_add -r пакет1 [пакет2 ...]

Установить пакет, с загрузкой из удаленного репозитория.

pkgng является основным пакетным менеджером в FreeBSD 10. В FreeBSD 9.1, 9.2 и 9.3 устанавливается автоматически при первом обращении. Может использоваться, начиная с FreeBSD 8.3, требуется установка порта ports-mgmt/pkg.

В более ранних версиях использовался pkg_tools.

man pkg
man pkg-install
Руководство FreeBSD: Использование pkgng для управления бинарными пакетами
 
man pkg_add
Руководство FreeBSD: Использование бинарных пакетов
FreeBSD. Подробное руководство: Применение пакетов
pkg search РегулярноеВыражение

Получить список доступных для установки пакетов.

man pkg-search
man uname
man awk
man ftp
pkg delete -f пакет1 [пакет2 ...]
pkg_delete -f пакет1 [пакет2 ...]

Деинсталлировать заданные пакеты или порты. -f - принудительное удаление, если имеются зависимые пакеты.

man pkg-delete
man pkg_delete
pkg autoremove

Удалить пакеты, которые были установлены для удовлетворения зависимостей и больше не требуются.

Выполняется после удаления пакета, для работы которого требовались дополнительные пакеты.

man pkg-autoremove
pkg info
pkg_info

Список установленных пакетов.
pkg info пакет
pkg info -drl пакет

Информация об установленном пакете:
-d - список пакетов, от которых зависит данный пакет,
-r - список пакетов, которые зависят от данного пакета,
-l - список установленных файлов.

man pkg-info
man pkg_info
pkg which /полный/путь/к/файлу
pkg_info -W файл

Определить пакет, которому принадлежит указанный файл.

man pkg-which
pkg check -s -a
cd /var/db/pkg && pkg_info -g *

Проверить целостность установленных пакетов, отобразить измененные файлы.

man pkg-check
man pkg_info
pkg lock пакет
pkg unlock пакет

Заблокировать или разблокировать операции с пакетом и его зависимостями.

Блокировка пригодится для предотвращения автоматического обновления пакетов, собранных из портов с нестандартными параметрами.

Для удаления пакета, его необходимо разблокировать.

man pkg-lock
pkg upgrade

Обновить все установленные пакеты.

man pkg-upgrade
pkg query "%t %#d %n-%v" | sort
ls -lTtrU /var/db/pkg

Список установленных пакетов, с сортировкой по дате установки пакета.

pkg query запрашивает следующие данные:
%t - дата установки в формате UNIX-времени, расшифровать значение можно командой date -r число
%#d - число зависимостей пакета
%n - наименование пакета
%v - версия пакета

На устаревших системах похожий список можно получить командой ls, задав сортировку по дате создания папки пакета, которая обычно совпадает с датой установки.

Пригодится для переустановки и чистки устаревших пакетов, после обновления системы.

man pkg-query
man ls
man pkg
man pkg.conf
Руководство FreeBSD: Использование pkgng для управления бинарными пакетами
portsnap fetch extract

Получить коллекцию портов, используя portsnap.
portsnap fetch update

Обновить коллекцию портов, используя portsnap.

man portsnap
man portsnap.conf
svnlite checkout svn://svn.FreeBSD.org/ports/head /usr/ports
svn checkout svn://svn.FreeBSD.org/ports/head /usr/ports

Получить коллекцию портов, используя Subversion.

При переходе на Subversion, для исключения конфликтов, необходимо удалить имеющуюся коллекцию портов:

rm -r /usr/ports
mkdir /usr/ports

Команда svnlite доступна начиная с FreeBSD 10. В предыдущих версиях требуется установка полной версии из порта subversion.
svnlite update /usr/ports
svn update /usr/ports

Обновить коллекцию портов, используя Subversion.
svnlite log -l 10 /usr/ports/категория/порт
svn log -l 10 /usr/ports/категория/порт

Получить журнал ревизий порта.
-l - число получаемых записей
-q - список ревизий в кратком формате
svnlite update -r номер ревизии /usr/ports/категория/порт
svn update -r номер ревизии /usr/ports/категория/порт

Откатить порт к заданной ревизии.
svnlite help
svn help

Справка по параметрам.

man svn
Книга о Subversion
whereis порт

Найти путь к заданному порту.

Кроме коллекции портов, выполняется поиск системных исполняемых файлов, man-страниц, исходных файлов системы.

man whereis
cd /usr/ports && make search name=имя

Поиск по индексу коллекции портов с частичным совпадением имени.
cd /usr/ports/категория/порт && make config

Настройка порта.
cd /usr/ports/категория/порт && make

Сборка порта.
cd /usr/ports/категория/порт && make install

Установка порта.
cd /usr/ports/категория/порт && make package

Создать пакет для порта.

В процессе создания пакета выполняется установка порта.
cd /usr/ports/категория/порт && make deinstall
pkg_delete порт-версия

Удаление порта.
cd /usr/ports/категория/порт && make clean

Удалить исходники порта.

man ports
Руководство FreeBSD: Использование Коллекции Портов
FreeBSD. Подробное руководство: Применение «портов»
portupgrade порт
portupgrade -o категория/портV2 портV1

Получить и собрать свежую версию порта, в случае успеха, удалить предыдущую версию и установить новую.
-o категория/портV2 - обновление с заменой порта.
-f - принудительная пересборка текущей версии порта, например, после обновления зависимостей.

Требуется установка порта portupgrade.

man portupgrade
Руководство FreeBSD: Обновление портов
FreeBSD. Подробное руководство: Обновление установленных «портов»
pkgdb -F

Восстановить целостность базы пакетов: поиск дубликатов, восстановление зависимостей после принудительного удаления зависимых пакетов и др.).

Требуется установка порта portupgrade.

man pkgdb
pkg audit -F
portaudit -Fda

Проверка установленных портов и пакетов на наличие известных уязвимостей.
-F - получить свежую базу уязвимостей,
-d - отобразить дату создания базы,
-a - отобразить список уязвимостей в установленных портах.

В первой команде аудит выполняется средствами pkgng. Для работы второй команды, потребуется установка порта portaudit.

man pkg-audit
man portaudit
FreeBSD. Подробное руководство: Обеспечение безопасности при работе с «портами» и пакетами
Настройка почтовых уведомлений
ldd программа

Список динамических библиотек, необходимых для запуска программы.

man ldd
FreeBSD. Подробное руководство: Управление разделяемыми библиотеками
libchk

Сканировать исполняемые файлы, отобразить ссылки на отсутствующие библиотеки.

Требуется установка порта libchk.

man libchk
Shell-скрипты
команда >лог-файл 2>&1

Перенаправить вывод команды в файл, включая ошибки.
echo текст | mail -E -s "Тема письма" user@domain.ru

Отправить вывод команды на почту заданному адресату. -E не выполнять отправку, если вывод пуст.

man mail
pgrep процесс >/dev/null && echo Процесс запущен
pgrep процесс >/dev/null || echo Процесс не запущен

Выполнить действие в зависимости от того, запущен или не запущен процесс.

man pgrep
test -e файл && echo Файл существует
test -e файл || echo Файл отсутствует

Проверка наличия файла. -e - любой файл, -d - папка, -f - обычный файл -L - символическая ссылка, -s - файл ненулевого размера, -r - файл доступен для чтения, -w - доступен для записи, -x - исполняемый файл, -b - блочное устройство, -c - символьное устройство и др.
test "$str1" = "$str2" && echo Равно
test -n "$str1" && echo $str1
test -z "$str1" && echo Пустая строка

Строковое сравнение. Доступны операторы: =, !=, <, >. -n - строка ненулевого размера, -z - пустая строка.
test $n1 -eq $n2 && echo Равно

Числовое сравнение. -eq - равно, -ne - не равно, -gt - больше, -ge - больше или равно, -lt - меньше, -le - меньше или равно.

man test
tm=`date "+%Y-%m-%d-%H_%M"`

Получить текущую дату и время в формате 2009-02-20-03_51 в переменную shell-скрипта. Полезно для скриптов архивации.

man date
ver=`uname -r`

Получить версию системы в переменную $ver.
ver=`uname -r | awk '{print(tolower($0));}'`

Получить версию системы с преобразованием прописных букв в строчные в переменную $ver.

man uname
man awk
sleep секунды

Приостановка выполнения скрипта на заданное число секунд.

man sleep
exit [код завершения]

Завершение выполнения скрипта. Код завершения: 0 - в случае успеха, номер ошибки от 1 до 255.

man sleep
Прочие
bsdconfig
sysinstall

Интерактивная настройка системы: управление пользователями, разметка диска, параметры консоли, сетевые параметры и другие настройки.

man bsdconfig
man sysinstall
sysrc -a
sysrc параметр
sysrc параметр=значение

Получение и изменение параметров в rc.conf.
-a - отобразить все измененные параметры.

Команда доступна начиная с FreeBSD 9.2.

man sysrc
service -e
service rc.d-скрипт start
service rc.d-скрипт stop
service rc.d-скрипт restart

Запуск и остановка служб.
-e - отобразить все включенные службы в порядке их запуска.

man service
bc

Калькулятор.

man bc
7z b

Тест производительности процессора. Дополнительная фишка известного архиватора.

Требуется установка порта p7zip.

man 7z
script файл команда

Сохранить копию вывода команды в файл, включая ввод пользователя.

man script
команда1 | tee файл | команда2

Дублировать вывод команды 1 в файл и передать на ввод команды 2.

man tee
Завершение работы
exit

Выход из командного интерпретатора, завершение сеанса.
shutdown -p now
poweroff

Завершение работы системы с отключением компьютера.
shutdown -r now

Перезагрузка системы.
shutdown -r +15
shutdown -r ГГММДДЧЧММ

Отложенная перезагрузка системы.
+15 - через заданное число минут.
ГГММДДЧЧММ - дата и время перезагрузки в формате: год, месяц, день, час, минута.

Пригодится для тестирования новых правил брандмауэра и других сетевых настроек, если в случае ошибки доступ к системе будет утерян. Перезагрузка вернет рабочие параметры, если конфигурация загрузки системы не была изменена.

Запланированную перезагрузку можно отменить, завершив процесс командой: pkill ^shutdown$

man shutdown
halt -p
reboot

Быстрое отключение или перезагрузка системы, без выполнения остановки служб. Для нормальной перезагрузки следует использовать команду shutdown.

man halt
man reboot
Ссылки

Книга: «FreeBSD. Подробное руководство», автор: Майкл Лукас.

Википедия: Программы UNIX-подобных операционных систем

Переводы man-страниц: muff.kiev.ua/menutree/menu-man, vds-admin.ru/unix-commands, frdp.rinet.ru/man/

commandlinefu.com
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.