- Справка
- man,
apropos,
whatis,
info. - Пользователи и группыadduser,
rmuser,
passwd,
pw,
vipw,
id. - Устройства и ядро/var/run/dmesg.boot,
kenv,
dmidecode,
devinfo,
pciconf,
vmstat,
camcontrol,
atacontrol,
smartctl,
usbconfig,
usbdevs,
acpiconf,
cu,
kldstat,
kldload,
kldunload,
sysctl,
vidcontrol. - Сетьifconfig,
wpa_passphrase,
wpa_supplicant.conf,
wpa_supplicant,
wpa_cli,
netstat -r,
route,
ping,
arping,
traceroute,
drill,
host,
dig,
nslookup,
sockstat,
netstat,
iftop,
arp,
tcpdump,
fetch,
axel,
openssl s_client,
ssh,
scp,
snmpwalk,
wake. - Sambatestparm,
pdbedit,
smbpasswd,
smbclient. - SMB-протоколmount,
smbutil. - Мониторинг системыdmesg,
systat,
gstat,
vmstat,
w,
who,
last,
fstat,
lsof,
truss. - Процессыtop,
atop,
ps,
pgrep,
killall,
pkill,
kill,
procstat,
nice,
renice,
idprio,
rtprio. - Файловые системыgpart,
newfs,
tunefs,
glabel,
dumpfs,
fsck,
fsdb,
mount,
ntfs-3g,
umount,
mdconfig,
dump,
restore,
df,
du. - Файлыls,
stat,
cp,
mv,
ln,
truncate,
mkdir,
rm,
chown,
chgrp,
chmod,
bzip2,
bzcat,
tar,
find,
cpio,
mtree,
md5,
md5deep. - Работа с текстомcat,
more,
less,
head,
tail,
ee,
fg,
grep,
egrep,
diff,
sdiff,
cut,
awk,
sed,
iconv. - Дата и времяdate,
ntpdate,
tzsetup,
ncal. - Порты и пакетыpkg,
freebsd-update,
portsnap,
svnlite,
svn,
whereis,
make,
portupgrade,
pkgdb,
portaudit,
ldd,
libchk,
service,
rcorder. - Shell-скрипты2>&1,
mail,
pgrep,
test,
stat,
date,
uname,
sleep,
exit. - Разноеtmux,
bsdconfig,
sysinstall,
sysrc,
service,
bc,
echo $,
7z b,
script,
tee. - Завершение работыexit,
shutdown,
poweroff,
halt,
reboot. - Ссылки
Справка
Отобразить страницу справки.
whatis ключевое-слово
man -k ключевое-слово
man -f ключевое-слово
Поиск по страницам справки. whatis и man -f — поиск слова целиком. apropos и man -k — поиск части слова.
Чтение документации в формате Info.
Поиск в info-документации.
man info
Руководство FreeBSD: Системный справочник (man)
FreeBSD. Подробное руководство: Страницы руководства
Пользователи и группы
Добавить пользователя в интерактивном режиме.
man adduser
Руководство FreeBSD: Пользователи и основы управления учетными записями
FreeBSD. Подробное руководство: Безопасность и пользователи
Удалить пользователя.
Заблокировать пользователя.
Разблокировать пользователя.
Создать группу.
Удалить группу.
Добавить пользователей в группу.
Удалить пользователей из группы.
Отобразить пользователей группы.
Отобразить принадлежность пользователя к группам.
Устройства и ядро
less /var/run/dmesg.boot
Отобразить сообщения ядра при загрузке системы. Файл /var/run/dmesg.boot содержит информацию о текущем ядре, процессе его запуска и список обнаруженных ядром устройств.
Отобразить параметры загрузки ядра, модель материнской платы и версию BIOS.
Отобразить информацию из DMI/SMBIOS о материнской плате, процессоре и памяти.
Требуется установка порта dmidecode.
Дерево устройств с информацией об используемых ресурсах (IRQ, DMA, Memory).
Список устройств с группировкой по типу ресурса.
Информация о PCI устройствах.
Информация о количестве прерываний (IRQ) и использующих их устройств.
Полезно для решения проблемы высокой нагрузки процессора обработчиками прерываний (% interrupt, отображаемый командой top).
atacontrol list
Список подключенных SCSI/ATA дисков.
atacontrol cap ad0
Информация о SCSI/ATA диске.
atacontrol mode ad0
Текущий режим обмена данными с диском.
Список устройств поддерживаемых smartctl.
Требуется установка порта smartmontools.
Информация о дисковом устройстве и поддержке SMART.
Включение SMART на устройстве.
Получить SMART-атрибуты с устройства.
smartctl -x /dev/ada0
Отобразить всю доступную smartctl информацию об устройстве.
Управление USB устройствами. Версия FreeBSD 8 и выше.
Информация о USB устройствах. Версии FreeBSD 7 и более ранние.
Информация о батарее ноутбука.
Подключение терминалом к устройству на COM-порте N. Для завершения сессии ввести «~.» с новой строки.
Список динамически загруженных драйверов.
Список драйверов, статически скомпилированных в ядро.
Загрузить драйверы.
Для постоянной загрузки драйвера при старте системы, необходимо добавить параметр: драйвер_load=»YES» в /boot/loader.conf.
kldunload -i id1 id2 …
Выгрузить драйверы с заданными именами или идентификаторами.
-f — выгрузить драйвер принудительно, в случае если он используется.
Отобразить список переменных ядра.
-d — отображать описания переменных, вместо их значений.
var=`sysctl -n переменная`
Отобразить значение переменной ядра. Либо задать значение переменной скрипта.
vidcontrol MODE_режим
Задать разрешение экрана физической консоли.
-i mode
— отобразить список доступных видеорежимов.
Для автоматической смены разрешения при старте системы, необходимо задать параметр allscreens_flags="MODE_режим"
в /etc/rc.conf
Руководство FreeBSD: Виртуальные консоли и терминалы
man rc.conf
Получить содержимое первой физической консоли.
-H
— включая буфер истории.
Для записи сообщений выводимых на консоль в лог-файл, необходимо раскомментировать строчку в /etc/syslog.conf:
console.info /var/log/console.log
Создать лог-файл и задать права доступа:
touch /var/log/console.log chmod 600 /var/log/console.log
Сеть
Отобразить список сетевых интерфейсов, соответствующие им IP и MAC-адреса, статус и параметры подключения.
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 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 delete
Удалить IP-адрес для интерфейса ifn.
Задать MAC-адрес для интерфейса ifn.
Для постоянной подмены MAC-адреса, необходимо создать стартовый скрипт /etc/start_if.интерфейс, и прописать данную команду.
Принудительно задать стандарт передачи данных для интерфейса ifn, в случае, если при автосогласовании скорость определена неверно.
Для постоянного переопределения скорости, корректируем параметр ifconfig_интерфейс в /etc/rc.conf:
ifconfig_интерфейс="inet 192.168.0.1 netmask 255.255.255.0 media 100baseTX mediaopt full-duplex"
Отобразить список поддерживаемых стандартов передачи данных интерфейсом ifn.
Включить интерфейс ifn.
Отключить интерфейс ifn.
ifconfig wlan0 up scan
Создать псевдоустройство wlan0 на базе ath0. Сканировать и отобразить доступные точки доступа Wi-Fi.
Создать конфиг для подключения к беспроводной сети: /etc/wpa_supplicant.conf.
Если пароль не задан в параметрах, будет выдан запрос на ввод пароля.
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_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel
Отобразить таблицу маршрутов.
Добавить маршрут к сети 192.168.1.0, маска /24, шлюз 192.168.2.1.
Добавить маршрут к хосту 192.168.1.123, шлюз 192.168.2.1.
route change default 192.168.2.1
Задать шлюз по умолчанию 192.168.2.1.
Удалить маршрут к сети 192.168.1.0, маска /24.
Получить маршрут для заданного адреса.
-n
— не выполнять реверсный DNS-запрос имени узла.
Проверка связи до заданного узла, оценка задержек и потерь.
-s
— размер пакета без учета ICMP-заголовка (8 байт для TCP/IPv4).
-c
— количество запросов. Если ключ -c не задан, пинг выполняется до остановки вручную по Ctrl+C.
Пинг ARP-пакетами. Полезно если внутрисетевой хост не отвечает на ICMP-запросы.
Требуется установка порта arping.
Трассировка маршрута ICMP пакетами до заданного адреса. Если не указан ключ -I трассировка ведется UDP пакетами.
Трассировка маршрута TCP пакетами на фиксированный порт. Полезно для обнаружения вышестоящих брандмауэров, блокирующих порты.
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
Список открытых портов.
-4
— отображать только порты протокола TCP/IP v4 (не отображать UNIX-сокеты).
-L
— не отображать порты, открытые на локальных адресах: 127.0.0.0/8.
-u
— отображать только UNIX-сокеты.
Список установленных сетевых соединений.
-4
— отображать только соединения по протоколу TCP/IP v4 (не отображать UNIX-сокеты).
-p порт1,порт2,...
— фильтр соединений по заданным портам.
Также отображается пользователь и процесс, установивший соединение.
Список установленных сетевых соединений и открытых UDP-портов.
-n
— отображать адреса и порты в числовом формате.
-f inet
— отображать только соединения по протоколу TCP/IP v4 (не отображать UNIX-сокеты).
-x
— отображать статистику сокетного буфера и tcp-таймеров.
В полях Recv-Q и Send-Q отображается входящая и исходящая очередь пакетов. Ненулевое значение входящей очереди, сигнализирует о проблеме: локальное приложение не успевает обрабатывать входящий трафик. Наличие исходящей очереди, является нормой, локальное приложение формирует трафик быстрее, чем он отправляется по сети.
Состояние сетевых интерфейсов. Число полученных и отправленных пакетов, количество ошибок и коллизий.
-d
— отображать число отброшенных пакетов.
-b
— отображать число полученных и отправленных байт.
-h
— отображать данные в удобочитаемом формате.
Мониторинг числа полученных и отправленных пакетов, байт, количества ошибок и коллизий в заданном временном интервале.
-w
— итервал в секундах.
-I
— сетевой интерфейс для мониторинга. Если интерфейс не задан, отображаются суммарные данные по всем интерфейсам.
-q количество
— выход после заданного каличества интервалов.
-d
— отображать число отброшенных пакетов.
Мониторинг текущей загрузки сети.
Данные отображаются в реальном времени в формате: источник, получатель, средняя скорость (бит/с) за последние 2 секунды, 10 секунд, 40 секунд.
Требуется установка порта iftop.
Ключи запуска:
-F 192.168.0.0/16
— считать внешний трафик относительно заданной сети.
-t
— текстовый режим вывода, без использования ncurses.
Параметры запуска могут быть заданы в файле конфигурации, путь по умолчанию ~/.iftoprc
Горячие клавиши:
s, d
— агрегация по источнику или получателю.
S, D
— отображать порты для источника и получателя.
t
— режим отображения.
<, >, 1, 2, 3
— Сортировка по источнику, получателю или одной из трех колонок скорости.
P, o
— пауза или заморозка отображения.
j, k
— прокрутка списка.
q
— выход.
arp хост
Отобразить текущую ARP-таблицу или запись для заданного хоста.
-a
— отобразить все записи.
-n
— адреса в числовом формате.
-i
— на заданном сетевом интерфейсе.
Перехват и анализ сетевого трафика, для заданного IP-адреса.
-i
— сетевой интерфейс для захвата пакетов.
-n
— отображать адреса и порты в числовом формате, не выполнять реверсных DNS-запросов.
-e
— отображать данные канального уровня (MAC-адрес, протокол, длина пакета).
-A
— отображать данные пакета в текстовой форме.
-s размер
— число байт, захватываемых из пакета, по умолчанию начиная с FreeBSD 9 — 65535, в предыдущих версиях — 96 байт.
-w файл
— запись пакетов в файл. Полученный файл можно просмотреть в Tcpdump или загрузить в Wireshark.
-C размер
— максимальный размер сохраняемого файла, при превышении будет создан новый файл со следующим порядковым номером. Размер задается в миллионах байт.
-c число
— максимальное количество захватываемых пакетов, выход при превышении заданного количества.
Перехват сетевого трафика, по заданным портам.
Перехват сетевого трафика, для заданного MAC-адреса.
Перехват сетевого трафика, c фильтром по первым трем байтам MAC-адреса (идентификатору производителя устройства).
ether[0:4]
и ether[6:4]
— получаем старшие 4 байта MAC-адреса получателя и отправителя.
>> 8
— сдвигаем младший байт.
= 0x112233
— сравниваем оставшиеся 3 байта с искомым адресом: 11:22:33
man tcpdump
Википедия: tcpdump
Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)
tcpdump — формат вывода
Загрузить файл по заданному 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
Тест SSL/TLS-подключения.
Установить SSH-подключение к серверу.
-i путь
— путь к ключу авторизации.
-p порт
— порт для подключения.
Параметры подключения к серверу могут быть заданы в файле конфигурации: ~/.ssh/config
, или /etc/ssh/ssh_config
.
Для завершения подключения, вводим комбинацию «~.
» в новой строке.
SSH также поддерживает форвардинг TCP-подключений и создание VPN-туннелей через защищенное SSH-подключение.
scp [пользователь@]сервер:»файл1 файл2 …» путь-назначения
Передача файлов по SSH-протоколу на сервер, или с сервера.
-i путь
— путь к ключу авторизации.
-P порт
— порт для подключения.
-r
— рекурсивное копирование каталогов.
-p
— сохранить дату модификации и доступ исходного файла.
-C
— использовать gzip-сжатие.
При передаче одного файла с сервера кавычки не требуются.
Для загрузки файлов в домашнюю папку пользователя на удаленном сервере или в текущую локальную папку, в качестве пути назначения, указываем точку.
Получить всю доступную информацию от SNMP-агента.
-v
— версия SNMP-протокола: 1, 2с, 3.
-Cp
— отобразить общее число полученных переменных.
-c public
— строка сообщества, она же пароль.
Требуется установка порта net-snmp.
man snmpwalk
Сайт проекта: www.net-snmp.org
Samba
Требуется установка порта samba.
Проверка файла конфигурации.
Получить список пользователей Samba.
-v
— отобразить подробную информацию о пользователях.
Добавить пользователя.
Предварительно пользователь должен быть зарегистрирован в системе командой adduser
.
Удалить пользователя.
Сменить пароль.
Отключить пользователя.
Включить пользователя.
Копирование текущей папки на удаленный SMB сервер, с предварительной очисткой удаленной папки.
2>/dev/null
— отключает вывод сообщений при использовании в сценарии.
Требуется установка порта samba-smbclient.
SMB-протокол
Команды входят в базовую поставку FreeBSD, установка пакета Samba не требуется. Подробнее о настройке SMB-клиента читаем FreeBSD. Подробное руководство: FreeBSD и CIFS.
mount -t smbfs -o -E=KOI8-R:CP866,-I=адрес //пользователь@сервер/ресурс /mnt
Подключить сетевой диск Windows.
-I=адрес
— использовать заданный IP-адрес или DNS, минуя разрешение имен NetBIOS.
Подключение производится по устаревшему SMB-протоколу на 139 порт.
Получить IP-адрес по NetBIOS-имени хоста.
Отобразить список сетевых дисков хоста.
Требует ручной загрузки модуля ядра, командой: kldload smbfs.ko
Мониторинг системы
Отобразить недавние сообщения ядра. -a — отобразить весь буфер сообщений системы, включая записи syslog и сообщения консоли.
Мониторинг нагрузки сетевых интерфейсов.
Мониторинг текущих сетевых подключений.
Мониторинг загрузки процессора и дисковой подсистемы.
Мониторинг загрузки дисковой подсистемы.
man gstat
FreeBSD. Подробное руководство: Дисковый ввод-вывод
Мониторинг статистики IP протокола.
vmstat
Комплексный мониторинг различных параметров системы: использование памяти, прерывания, нагрузку дисковой подсистемы.
man systat
man vmstat
FreeBSD. Подробное руководство: Выявление узких мест с помощью vmstat(8)
Список последних пользовательских сессий.
Отобразить все файлы, открытые на заданной файловой системе, а также открывшие их процессы. Полезно если не удается размонтировать файловую систему или перевести ее в режим чтения.
truss -p PID
Процессы
Мониторинг нагрузки системы и процессов.
-P
— раздельное отображение нагрузки для каждого ядра процессора.
man top
FreeBSD. Подробное руководство: Исследование процессора, памяти и операций ввода-вывода с помощью top(1)
procstat -a
Отобразить список процессов.
Параметры команды ps:
-a
— отображать процессы всех пользователей.
-x
— отображать процессы не связанные с терминалами.
-j
, -l
, -u
, -v
вывод различного набора столбцов.
-d
— отобразить процессы в виде дерева родитель-потомок.
-r
— упорядочить список по текущей нагрузке на процессор.
-ww
— отображать команду запуска полностью.
ps -axl | grep процесс
Отображение информации о процессе c заданным PID или именем.
man ps
man procstat
man grep
FreeBSD. Подробное руководство: Исследование процессов
Найти процессы с именем, соответствующим заданному шаблону. Проверить, запущен ли процесс.
-l
— отображать имя процесса в дополнение к идентификатору.
pkill regexp-шаблон
Отправить сигнал завершения всем процессам с заданным именем, либо именем, соответствующим заданному шаблону.
Отправить сигнал завершения процессу с заданным PID.
procstat -b PID
procstat -b `pgrep -a ^процесс$`
Отобразить путь к исполняемому файлу процесса.
procstat -c PID
procstat -c `pgrep -a ^процесс$`
Отобразить командную строку запуска процесса.
procstat -f `pgrep -a ^процесс$`
Отобразить список файлов, открытых процессом.
procstat -s `pgrep -a ^процесс$`
Отобразить параметры безопасности процесса: идентификаторы пользователя и группы, umask, флаги.
procstat -t `pgrep -a ^процесс$`
Отобразить потоки процесса.
Выполнить команду с минимальным приоритетом.
Выполнить команду с минимальным приоритетом. Вариант для csh
man csh
FreeBSD. Подробное руководство: Изменение приоритетов с помощью nice
Задать приоритет процессу.
Приоритет задается в диапазоне от -20 до 20, отрицательные значения увеличивают приоритет, положительные — уменьшают.
idprio 15 —PID
Выполнять команду или процесс только при простое системы.
15
— приоритет среди других процессов, работающих в режиме бездействия.
rtprio 15 —PID
Выполнять команду или процесс в реальном времени.
15
— приоритет среди других процессов реального времени.
Файловые системы
Отобразить таблицу разделов на диске ada0.
-p
— отобразить имена устройств, вместо индексов разделов.
Создать таблицу разделов формата GPT на диске ada5.
gpart bootcode -p /boot/gptboot -i 1 ada5
Создать загрузочный раздел, -s размером 64Кб, -a 8 — выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
Записать загрузчик системы, -i — индекс раздела для записи загрузчика.
Создать swap-раздел, -s — размером 4Гб , -a 8 — выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
Создать UFS-раздел, -s — размером 10Гб, -a 8 — выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
Создать UFS-раздел, занимающий все доступное пространство, -a 8 — выравнивание для дисков Advanced Format в режиме эмуляции 512 байтных секторов.
Удалить раздел на диске ada5. -i — индекс раздела.
Удалить таблицу разделов на диске ada5. -F — вместе с имеющимися разделами.
Создать новую файловую систему, оно же форматирование раздела. Все данные на указанном устройстве будут уничтожены.
-U — включить Soft Updates.
-j — включить журналирование Soft Updates (версия FreeBSD 9 и выше), при использовании этого режима в FreeBSD 9.1 не поддерживаются снапшоты, вследствие чего не работает dump для смонтированных файловых систем.
-L — метка тома. Позволяет монтировать файловую систему из /dev/ufs/метка, без привязки к имени контроллера и номеру порта.
Задать параметры файловой системы. Файловая система должна быть размонтирована, либо смонтирована в режиме чтения. -n enable — включить Soft Updates. -j enable — включить журналирование Soft Updates (версия FreeBSD 9 и выше), при использовании этого режима в FreeBSD 9.1 не поддерживаются снапшоты, вследствие чего не работает dump для смонтированных файловых систем.
Начиная с FreeBSD 7.2, поддерживаются метки на основе уникальных идентификаторах файловых систем, называемых ufsid. Что позволяет монтировать файловую систему из /dev/ufsid/идентификатор, без необходимости присвоения меток.
Задать метку на уровне GEOM. Работает для swap-раздела, и любых других файловых систем, включая UFS2. Позволяет монтировать файловую систему из /dev/label/метка, без привязки к имени контроллера и номеру порта.
glabel list
Получить список меток, ufsid и соответствующих им устройств.
Отобразить параметры файловой системы.
fsck ada0p2
Проверка файловой системы, исправление ошибок. -y — отвечать «да» на все запросы (лечить всё). -n — отвечать «нет» на все запросы.
Низкоуровневое редактирование файловой системы. Использовать с осторожностью, можно убить файловую систему. -r — запуск в режиме чтения, команды модификации будут недоступны.
Отобразить смонтированные устройства и параметры монтирования.
-p — вывод в формате fstab.
-v — вывод дополнительной информации о файловых системах.
Перевод смонтированной файловой системы в режим чтения.
Перевод смонтированной на чтение файловой системы в режим записи.
man mount
man fstab
Руководство FreeBSD: Монтирование и размонтирование файловых систем
FreeBSD. Подробное руководство: Таблица файловых систем /etc/fstab
Монтировать флешку в формате FAT32.
Монтировать NTFS-раздел, на чтение и запись. Начиная с версии 2009.1.1, перекодировка кириллицы в KOI8-R больше не поддерживается. Настройка UTF-8 в FreeBSD.
Требуется установка порта fusefs-ntfs и запуск демона fusefs.
Демонтировать устройство.
-f — демонтировать принудительно, если устройство используется.
mount -t udf -o -C=KOI8-R /dev/`mdconfig -f образ.iso` /mnt
Монтировать iso-образ диска.
Команда «mdconfig -f образ.iso» создает виртуальный диск и возвращает имя устройства.
Затем команда «mount -t cd9660 /dev/устройство /media» монтирует созданный диск в /media.
Демонтировать виртуальный диск.
После размонтирования необходимо отключить виртуальный диск командой mdconfig -d. Параметр «-u 0» задает номер md-устройства.
Отобразить список подключенных виртуальных дисков.
Резервное копирование файловой системы (раздела).
-a — отключить разбивку архива по лентам, разбивать только при исчерпании дискового пространства.
-C — размер кэша в мегабайтах.
-L — бэкап файловой системы, смонтированной на запись, использовать снапшот (не работает в FreeBSD 9.1 при использовании журналирования Soft Updates).
-f — путь к архиву.
/ — точка монтирования копируемой файловой системы.
Восстановление файловой системы из резервной копии в текущую папку. Перед восстановлением файловую систему необходимо отформатировать (newfs), смонтировать (mount), сделать текущей папкой (cd). При загрузке с LiveCD, также необходимо смонтировать раздел /tmp, либо задать путь в переменной окружения TMPDIR, при нехватке свободного пространства в /tmp возникнет ошибка.
Восстановление файловой системы из сжатого gzip-архива.
Извлечение файлов в текущую папку. Путь задает папки или файлы для извлечения.
Список файлов в архиве с фильтром по заданному пути.
Проверка архива.
Извлечение данных в интерактивном режиме.
man restore
Руководство FreeBSD: Основы технологии резервного копирования
FreeBSD. Подробное руководство: dump
HOTFREEBSD.RU: Резервное копирование FreeBSD при помощи DUMP и RESTORE
OpenNET: Резервное копирование и восстановление системного раздела FreeBSD с применением SMB-ресурса
Системный дамп FreeBSD
Отобразить свободное место на дисках.
-g
— в гигабайтах.
-m
— в мегабайтах.
Рассчитать объем дискового пространства, занимаемое папкой и ее подпапками. Сортировать список по возрастанию.
-k
— отображать объем в килобайтах.
-x
— игнорировать точки монтирования.
-d 1
— отображать размер подпапок с уровнем вложенности не более 1.
По умолчанию, символические ссылки и повторные жесткие ссылки не учитываются. Расчет ведется в занятых блоках на диске.
man du
man sort
FreeBSD. Подробное руководство: Насколько заполнен раздел?
Файлы
Список файлов в папке.
-T
— отображать полную дату и время модификации.
-i
— отображать номер индексного дескриптора файла (inode).
Список файлов в папке.
-U
— в качестве даты использовать дату создания,
-t
— сортировать список по убыванию даты,
-r
— сортировать в обратном порядке.
stat -x файл
Отображение информации о файле.
-x
— в развернутом формате с заголовками полей. В этом режиме не отображается дата создания файла.
Копировать файлы в заданную папку.
cp -Rpx папка-источник/ папка-назначение
Копировать заданные папки в папку назначения либо копировать содержимое папки источника в папку назначения.
-R
— включая вложенные папки,
-p
— копировать атрибуты и права доступа,
-x
— исключить файлы с других файловых систем.
mv файл1 файл2 папка-назначение
Переименование либо перемещение файлов.
ln -s файл1 файл2 папка
Создать символическую ссылку.
Усечь размер файла до нуля. Полезно для обнуления логов, в отличие от удаления, открытые ранее дескрипторы не устаревают, запись в лог-файл будет продолжена, перезапуск демона не требуется.
Создать папку, -p создавать родительские папки, если отсутствуют.
rm -r папка …
Удалить файл либо удалить папку, включая вложенные папки и файлы. -P — уничтожение файлов путем тройной перезаписи содержимого.
Смена владельца файлов.
Смена группы-владельца файлов
chmod -R 755 папка …
Задать права доступа к указанным файлам, или для всех файлов в заданной папке. -R — включая подпапки.
Доступ определяется восьмеричными значениями, каждое из которых соответственно задает разрешения для владельца файла, группы-владельца и остальных пользователей. Права доступа определяются суммой следующих значений: 4 — чтение, 2 — запись, 1 — исполнение файла. В рассмотренном примере, режим 755 разрешает чтение, запись и исполнение владельцу; чтение и исполнение для одногруппников и прочих пользователей
Особый режим запуска двоичного исполняемого файла: 4 — setuid, запускать от имени владельца вместо текущего пользователя; 2 — setgid, запускать от имени группы-владельца. Использование данных флагов для файлов с владельцем root, представляет собой риск повышения привилегий. Система уведомляет об обнаружении таких файлов в ежедневном отчете безопасности.
1 — sticky bit, задается для папок, разрешает удаление и переименование файла только его владельцу, либо владельцу папки. Обычно используется для папки /tmp.
man chmod
Статья Википедии
Руководство FreeBSD: Права доступа
Руководство FreeBSD: Списки контроля доступа файловой системы (ACL)
Сжать файлы в файл1.bz2, файл2.bz2 с удалением исходных файлов.
Распаковать файлы с удалением сжатой версии.
Архивация файлов и папок в tar.bzip2-архив.
Архивация файлов и папок в tar.gzip-архив.
Отобразить список файлов в tar-архиве.
Извлечь все файлы из tar-архива в заданную папку.
Архивация папки в cpio-архив. Список файлов, сформированный командой find, подается на ввод cpio. -y включает bzip2-сжатие, также доступные алгоритмы сжатия: -J — xz, -lzma — LZMA, -z — gzip, -Z — compress.
Отобразить список файлов в cpio-архиве.
Извлечь все файлы из cpio-архива в текущую папку.
man cpio
Смотри также: man pax
Руководство FreeBSD: Backup Basics
Рассчитать контрольные суммы, MD5 и SHA-256 хеши для файлов в указанной папке. Сохранить полученную спецификацию в файле mtree.out. -x — пропускать точки монтирования.
Сравнить две спецификации, отобразить различия.
Чтобы проверить целостность файлов с помощью mtree, рассчитываем текущую спецификацию файлов и сравниваем со спецификацией, созданной ранее.
man mtree
FreeBSD. Подробное руководство: Подготовка к вторжению с помощью mtree(1)
sha256 -r файл1 файл2 …
Рассчитать MD5 или SHA-256 хеши для заданных файлов. -r — вывод в формате: «хеш файл».
Создать список хешей для всех файлов в текущей папке, и сохранить в files.md5.
-r — включая подпапки.
-e — отображать прогресс.
-l — выводить относительные пути.
-o f — обсчитывать только файлы (исключить символьные ссылки).
Требуется установка порта md5deep.
Работа с текстом
Объединить текстовые файлы.
Отобразить первые десять строк файла.
Отобразить последние десять строк файла.
Отобразить последние десять строк файла, ожидать и отображать последующие добавляемые в файл строки. Удобно для мониторинга логов в реальном времени.
Тесктовый редактор
Вернуться в программу, приостановленную по Ctrl+Z.
Поиск текста во всех файлах текущей папки, включая вложенные папки.
egrep -v ‘^ *[#]|^$’ файл
Отобразить незакомментированные строки в файле конфигурации. Второй вариант корректно обрабатывает пробелы перед символом комментария.
Сравнить файлы, отобразить различия.
Сравнить файлы, отобразить различия с выводом в два столбца. -s — отображать только несовпадающие строки.
Сравнение файлов двух папках. -r — включая вложенные папки.
Отобразить определенные столбцы файла, в данном примере — имена и идентификаторы пользователей. Ключ «-d :» задает разделитель столбцов — двоеточие, ключ -f задает вывод первого и третьего столбца.
Отобразить определенный столбец файла средствами awk, в данном примере — список имен пользователей. Ключ -F: задает разделитель столбцов — двоеточие, команда print($1); отображает первый столбец. Описание языка.
Поиск и замена текста в файле. Ключ -i — править исходный файл, сохранить копию, добавив к имени файла .bak. Строка поиска является регулярным выражением. Флаги: g — заменять все найденные вхождения, I — поиск без учета регистра.
Перекодировать файл из KOI8-R в кодировку Windows-1251.
В FreeBSD 10 входит в базовую систему, для предыдущих версий потребуется установка порта iconv.
Дата и время
Отобразить текущую дату и время.
Установить дату и время в 20.02.2009 03:51.
Установить время в 03:51 без изменения даты.
Синхронизировать время с NTP-сервером.
man ntpdate
Руководство FreeBSD: Синхронизация часов через NTP
Выбор часового пояса.
Преобразовать время в формате год, месяц день, часы, минуты в UNIX-время.
Расшифровать UNIX-время.
Отобразить календарь на текущий или заданный месяц.
Порты и пакеты
Получить список доступных для установки пакетов.
Деинсталлировать заданные пакеты или порты,
-f
— принудительное удаление, если имеются зависимые пакеты.
Удалить пакеты, которые были установлены в качестве зависимостей и больше не требуются.
Список установленных пакетов.
pkg info -drl пакет
Информация об установленном пакете:
-d
— список пакетов, от которых зависит данный пакет;
-r
— список пакетов, которые зависят от данного пакета;
-l
— список установленных файлов.
Определить пакет, которому принадлежит указанный файл.
Проверить целостность установленных пакетов, отобразить измененные файлы.
Проверить целостность системы, отобразить измененные файлы.
man freebsd-update
Руководство FreeBSD: Сравнение состояния системы
pkg unlock пакет
pkg lock —show-locked
Заблокировать или разблокировать операции с пакетом и его зависимостями.
Блокировка необходима для предотвращения автоматического обновления программ, собранных из портов с нестандартными параметрами.
Для удаления заблокированного пакета, его необходимо разблокировать.
--show-locked
— отобразить список заблокированных пакетов.
Обновить установленные пакеты.
Ранее загруженные версии пакетов сохраняются в папке /var/cache/pkg
. В случае проблем после обновления, можно переустановить предыдущую версию пакета из этой папки.
Список установленных пакетов, с сортировкой по дате установки пакета.
pkg query
запрашивает следующие данные:
%t
— дата установки в формате UNIX-времени, расшифровать значение можно командой date -r число
%#d
— число зависимостей пакета
%n
— наименование пакета
%v
— версия пакета
man pkg-query
man pkg
man pkg.conf
Руководство FreeBSD: Использование pkgng для управления бинарными пакетами
Получить коллекцию портов, используя portsnap.
Обновить коллекцию портов, используя portsnap.
svn checkout svn://svn.FreeBSD.org/ports/head /usr/ports
Получить коллекцию портов, используя Subversion.
При переходе на Subversion, для исключения конфликтов, необходимо удалить имеющуюся коллекцию портов:
rm -r /usr/ports mkdir /usr/ports
Команда svnlite доступна начиная с FreeBSD 10. В предыдущих версиях требуется установка полной версии из порта subversion.
svn update /usr/ports
Обновить коллекцию портов, используя Subversion.
svn log -l 10 /usr/ports/категория/порт
Получить журнал ревизий порта.
-l
— число получаемых записей
-q
— список ревизий в кратком формате
svn update -r номер ревизии /usr/ports/категория/порт
Откатить порт к заданной ревизии.
svn help
Справка по параметрам.
Найти путь к заданному порту.
Кроме коллекции портов, выполняется поиск системных исполняемых файлов, man-страниц, исходных файлов системы.
Поиск по индексу коллекции портов с частичным совпадением имени.
Настройка порта.
Сборка порта.
Установка порта.
Создать пакет для порта.
В процессе создания пакета выполняется установка порта.
pkg_delete порт-версия
Удаление порта.
portupgrade -o категория/портV2 портV1
Получить и собрать свежую версию порта, в случае успеха, удалить предыдущую версию и установить новую.
-o категория/портV2
— обновление с заменой порта.
-f
— принудительная пересборка текущей версии порта, например, после обновления зависимостей.
Требуется установка порта portupgrade.
man portupgrade
Руководство FreeBSD: Обновление портов
FreeBSD. Подробное руководство: Обновление установленных «портов»
Восстановить целостность базы пакетов: поиск дубликатов, восстановление зависимостей после принудительного удаления зависимых пакетов и др.).
Требуется установка порта portupgrade.
portaudit -Fda
Проверка установленных портов и пакетов на наличие известных уязвимостей.
-F
— получить свежую базу уязвимостей,
-d
— отобразить дату создания базы,
-a
— отобразить список уязвимостей в установленных портах.
В первой команде аудит выполняется средствами pkgng. Для работы второй команды, потребуется установка порта portaudit.
man pkg-audit
man portaudit
FreeBSD. Подробное руководство: Обеспечение безопасности при работе с «портами» и пакетами
Настройка почтовых уведомлений
Список динамических библиотек, необходимых для запуска программы.
man ldd
FreeBSD. Подробное руководство: Управление разделяемыми библиотеками
Сканировать исполняемые файлы, отобразить ссылки на отсутствующие библиотеки.
Требуется установка порта libchk.
rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
Отобразить порядок загрузки служб и ошибки при анализе зависимостей.
Полезно при нарушении порядка старта служб.
Shell-скрипты
Перенаправить вывод команды в файл, включая ошибки.
Отправить вывод команды на почту заданному адресату. -E не выполнять отправку, если вывод пуст.
pgrep процесс >/dev/null || echo Процесс не запущен
Выполнить действие в зависимости от того, запущен или не запущен процесс.
test -e файл || echo Файл отсутствует
Проверка наличия файла.
-e
— любой файл,
-d
— папка,
-f
— обычный файл
-L
— символическая ссылка,
-s
— файл ненулевого размера,
-r
— файл доступен для чтения,
-w
— доступен для записи,
-x
— исполняемый файл,
-b
— блочное устройство,
-c
— символьное устройство и др.
Извлечение информации о файле в переменные скрипта.
test -n «$str1» && echo $str1
test -z «$str1» && echo Пустая строка
Строковое сравнение.
Доступны операторы: =, !=, <, >
.
-n
— строка ненулевого размера,
-z
— пустая строка.
Числовое сравнение.
-eq
— равно, -ne — не равно,
-gt
— больше,
-ge
— больше или равно,
-lt
— меньше,
-le
— меньше или равно.
Получить текущую дату и время в формате 2009-02-20-03_51 в переменную shell-скрипта. Полезно для скриптов архивации.
Получить версию системы в переменную $ver.
Приостановка выполнения скрипта на заданное число секунд.
Завершение выполнения скрипта. Код завершения: 0 — в случае успеха, номер ошибки от 1 до 255.
Разное
tmux attach
Терминальный мультиплексор, или терминальный оконный менеджер.
Позволяет открыть несколько терминальных сессий на одном экране. При разрыве SSH-подключения, запущенные программы не завершаются.
Первая команда создает новый сеанс. Вторая выполняет подключение к сеансу, запущенному ранее.
Требуется установка порта tmux.
Комбинации клавиш:
Ctrl+b
— переход в режим управления Tmux, все команды, указанные ниже, вызываются с данным префиксом.
c
— создать новое окно.
n, p, l
— переход к следующему, предыдущему или предыдущему активному окну.
0 ... 9
— переход к окну с заданным номером.
w
— выбор окна в меню.
&
— закрыть окно.
", %
— разбивка окна на две панели, вертикальная или горизонтальная.
o
— переход к следующей панели.
стрелки
— переход панели расположенной сверху, снизу, слева, справа.
пробел, Alt+1 ... 5
— переключение схемы расположения панелей.
Ctrl+o, Alt+o
— ротация панелей по часовой и против часовой стрелки.
z
— развернуть или свернуть текущую панель.
d
— выход с сохранением сессии.
?
— отобразить все клавиатурные комбинации.
sysinstall
Интерактивная настройка системы: управление пользователями, разметка диска, параметры консоли, сетевые параметры и другие настройки.
sysrc параметр
sysrc параметр=значение
Получение и изменение параметров в rc.conf.
-a
— отобразить все измененные параметры.
Команда доступна начиная с FreeBSD 9.2.
service rc.d-скрипт start
service rc.d-скрипт stop
service rc.d-скрипт restart
Запуск и остановка служб.
-e
— отобразить все включенные службы в порядке их запуска.
Калькулятор.
Переменные калькулятора:
scale=7
— число знаков после запятой.
ibase=16
— задает шестнадцатеричную систему для ввода. Шестнадцатеричные значения вводятся заглавными буквами.
obase=10
— задает систему счисления для вывода. Если для ввода была задана шестнадцатеричная система счисления, то в качестве значения задаем «A» для выбора десятичной системы, или «10» — для шестнадцатеричной.
Быстрая конвертация шестнадцатеричного числа в десятичное средствами bash.
Сохранить копию вывода команды в файл, включая ввод пользователя.
Дублировать вывод команды 1 в файл и передать на ввод команды 2.
Завершение работы
Выход из командного интерпретатора, завершение сеанса.
poweroff
Завершение работы системы с отключением компьютера.
Перезагрузка системы.
shutdown -r ГГММДДЧЧММ
Отложенная перезагрузка системы.
+15
— через заданное число минут.
ГГММДДЧЧММ
— дата и время перезагрузки в формате: год, месяц, день, час, минута.
Пригодится для тестирования новых правил брандмауэра и других сетевых настроек, если в случае ошибки доступ к системе будет утерян. Перезагрузка вернет рабочие параметры, если конфигурация загрузки системы не была изменена.
Запланированную перезагрузку можно отменить, завершив процесс командой: pkill ^shutdown$
reboot
Быстрое отключение или перезагрузка системы, без выполнения остановки служб. Для нормальной перезагрузки следует использовать команду shutdown.