Кол-во просмотров: 576
Скачать: Руководство пользователя FreeBSD 14.3 — 2025, русский язык
/etc/rc.d/lighttpd restart
/etc/rc.d/ipfw restart
#перезапуск службы вебсервера(nas4free), сетевого экрана и т.п. Или stop, start.
pwd
#показать директорию, в которой сейчас находимся
cat /etc/passwd
#вывести список пользователей в системе. Или так:
grep -v "^#" /etc/passwd|awk -F : '{print $1}'|sort #вывести список пользователей
grep -v "^#" /etc/passwd|awk -F : '{print $7"\t"$1}'|sort
#вывести доступ к шеллам SSH и пользователей
pw group show -a
#вывод всех групп
pw groupshow группа
#отобразить пользователей группы (Группы это механизм для контроля доступа к ресурсам на основе GID пользователя вместо его UID)
id root
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
#Как видим утилита показывает информацию, к каким группам принадлежит пользователь. У данной команды есть много полезных опций, поэтому почитайте манн.
Устройства и ядро
cat /var/run/dmesg.boot less /var/run/dmesg.boot
#Отобразить сообщения ядра при загрузке системы. Файл /var/run/dmesg.boot содержит информацию о текущем ядре, процессе его запуска и список обнаруженных ядром устройств.
Содержание
- Справка
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. - Samba
testparm, 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. - Ссылки
Справка
man [номер секции] страница
Отобразить страницу справки.
whatis ключевое-слово
man -k ключевое-слово
man -f ключевое-слово
Поиск по страницам справки. whatis и man -f — поиск слова целиком. apropos и man -k — поиск части слова.
info [раздел] [подраздел]
Чтение документации в формате Info.
info --apropos=текст
Поиск в info-документации.
man info
Руководство FreeBSD: Системный справочник (man)
FreeBSD. Подробное руководство: Страницы руководства
Пользователи и группы
adduser
#Добавить пользователя в интерактивном режиме.
rmuser пользователь
#Удалить пользователя.
passwd [пользователь]
#Сменить пароль пользователя.
Если пользователь не задан, сменить свой пароль.
pw lock пользователь
#Заблокировать пользователя.
pw unlock пользователь
#Разблокировать пользователя.
vipw
#Открыть файл паролей в текстовом редакторе.
pw groupadd группа
#Создать группу.
pw groupdel группа
#Удалить группу.
pw groupmod группа -m пользователь1,пользователь
#Добавить пользователей в группу.
pw groupmod группа -d пользователь1,пользователь2
Удалить пользователей из группы.
pw groupshow группа
Отобразить пользователей группы.
id пользователь
Отобразить принадлежность пользователя к группам.
Устройства и ядро
cat /var/run/dmesg.boot less /var/run/dmesg.boot
Отобразить сообщения ядра при загрузке системы. Файл /var/run/dmesg.boot содержит информацию о текущем ядре, процессе его запуска и список обнаруженных ядром устройств.
kenv
Отобразить параметры загрузки ядра, модель материнской платы и версию BIOS.
dmidecode
Отобразить информацию из DMI/SMBIOS о материнской плате, процессоре и памяти.
Требуется установка порта dmidecode.
devinfo -r
Дерево устройств с информацией об используемых ресурсах (IRQ, DMA, Memory).
devinfo -u
Список устройств с группировкой по типу ресурса.
pciconf -lcv
Информация о PCI устройствах.
vmstat -i
Информация о количестве прерываний (IRQ) и использующих их устройств.
Полезно для решения проблемы высокой нагрузки процессора обработчиками прерываний (% interrupt, отображаемый командой top).
camcontrol devlist atacontrol list
Список подключенных SCSI/ATA дисков.
camcontrol identify ada0 atacontrol cap ad0
Информация о SCSI/ATA диске.
camcontrol negotiate ada0 -v atacontrol mode ad0
Текущий режим обмена данными с диском.
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 информацию об устройстве.
usbconfig
Управление USB устройствами. Версия FreeBSD 8 и выше.
usbdevs -dv
Информация о USB устройствах. Версии FreeBSD 7 и более ранние.
acpiconf -i battery0
Информация о батарее ноутбука.
cu -l cuadN
Подключение терминалом к устройству на COM-порте N. Для завершения сессии ввести «~.» с новой строки.
kldstat
Список динамически загруженных драйверов.
kldstat -v -n kernel
Список драйверов, статически скомпилированных в ядро.
Загрузить драйверы.
Для постоянной загрузки драйвера при старте системы, необходимо добавить параметр: драйвер_load=»YES» в /boot/loader.conf.
kldunload драйвер1 драйвер2 ... kldunload -i id1 id2 ...
Выгрузить драйверы с заданными именами или идентификаторами.
-f — выгрузить драйвер принудительно, в случае если он используется.
sysctl -a
Отобразить список переменных ядра.
-d — отображать описания переменных, вместо их значений.
sysctl переменная var=`sysctl -n переменная`
Отобразить значение переменной ядра. Либо задать значение переменной скрипта.
sysctl переменная=значение
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
Сеть
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.
wpa_passphrase ИдентификаторСети [Пароль] > /etc/wpa_supplicant.conf
Создать конфиг для подключения к беспроводной сети: /etc/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
netstat -r
Отобразить таблицу маршрутов.
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-запрос имени узла.
ping -s 1470 -c 10 адрес
Проверка связи до заданного узла, оценка задержек и потерь.
-s — размер пакета без учета ICMP-заголовка (8 байт для TCP/IPv4).
-c — количество запросов. Если ключ -c не задан, пинг выполняется до остановки вручную по Ctrl+C.
arping 192.168.0.1
Пинг ARP-пакетами. Полезно если внутрисетевой хост не отвечает на ICMP-запросы.
Требуется установка порта arping.
traceroute -I адрес
Трассировка маршрута ICMP пакетами до заданного адреса. Если не указан ключ -I трассировка ведется UDP пакетами.
traceroute -P TCP -ep 443 адрес
Трассировка маршрута TCP пакетами на фиксированный порт. Полезно для обнаружения вышестоящих брандмауэров, блокирующих порты.
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-сокеты.
Список установленных сетевых соединений.
-4 — отображать только соединения по протоколу TCP/IP v4 (не отображать UNIX-сокеты).
-p порт1,порт2,... — фильтр соединений по заданным портам.
Также отображается пользователь и процесс, установивший соединение.
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: получение всевозможной информации о состоянии сети
iftop -i интерфейс
Мониторинг текущей загрузки сети.
Данные отображаются в реальном времени в формате: источник, получатель, средняя скорость (бит/с) за последние 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 — на заданном сетевом интерфейсе.
tcpdump -i интерфейс -n host 192.168.0.1
Перехват и анализ сетевого трафика, для заданного 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 — формат вывода
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
openssl s_client -connect адрес:порт
Тест SSL/TLS-подключения.
ssh [пользователь@]сервер
Установить SSH-подключение к серверу.
-i путь — путь к ключу авторизации.
-p порт — порт для подключения.
Параметры подключения к серверу могут быть заданы в файле конфигурации: ~/.ssh/config, или /etc/ssh/ssh_config.
Для завершения подключения, вводим комбинацию «~.» в новой строке.
SSH также поддерживает форвардинг TCP-подключений и создание VPN-туннелей через защищенное SSH-подключение.
scp файл1 файл2 ... [пользователь@]сервер:[путь-назначения] scp [пользователь@]сервер:"файл1 файл2 ..." путь-назначения
Передача файлов по SSH-протоколу на сервер, или с сервера.
-i путь — путь к ключу авторизации.
-P порт — порт для подключения.
-r — рекурсивное копирование каталогов.
-p — сохранить дату модификации и доступ исходного файла.
-C — использовать gzip-сжатие.
При передаче одного файла с сервера кавычки не требуются.
Для загрузки файлов в домашнюю папку пользователя на удаленном сервере или в текущую локальную папку, в качестве пути назначения, указываем точку.
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
Требуется установка порта samba.
testparm
Проверка файла конфигурации.
pdbedit -L -v
Получить список пользователей Samba.
-v — отобразить подробную информацию о пользователях.
smbpasswd -a логин
Добавить пользователя.
Предварительно пользователь должен быть зарегистрирован в системе командой adduser.
smbpasswd -x логин
Удалить пользователя.
Сменить пароль.
Отключить пользователя.
Включить пользователя.
Копирование текущей папки на удаленный 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 для смонтированных файловых систем.
Задать метку для файловой системы. Позволяет монтировать файловую систему из /dev/ufs/метка, без привязки к имени контроллера и номеру порта. Файловая система должна быть размонтирована.Начиная с 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 пакет
Заблокировать или разблокировать операции с пакетом и его зависимостями.
Блокировка необходима для предотвращения автоматического обновления программ, собранных из портов с нестандартными параметрами.
Для удаления заблокированного пакета, его необходимо разблокировать.
Обновить установленные пакеты.
Ранее загруженные версии пакетов сохраняются в папке /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.
Ссылки
Книга: «FreeBSD. Подробное руководство», автор: Майкл Лукас.
Википедия: Стандартные команды ОС UNIX
Переводы man-страниц: muff.kiev.ua/menutree/menu-man, vds-admin.ru/unix-commands, frdp.rinet.ru/man/