Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Операционные системы > UNIX > BSD > FreeBSD

FreeBSD FAQ

Полезные команды

Анализ файловых систем

badblocks -v /dev/hda1	проверить раздел hda1 на наличие bad-блоков
fsck /dev/hda1	проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1	проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck /dev/hda1
e2fsck -j /dev/hda1	проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck.ext3 /dev/hda1	проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1	проверить/восстановить целостность файловой системы fat раздела hda11
fsck.msdos /dev/hda1
dosfsck /dev/hda1

Преобразование наборов символов и файловых форматов

dos2unix filedos.txt fileunix.txt	конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)
unix2dos fileunix.txt filedos.txt	конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode ..HTML < page.txt > page.html	конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more	вывести список доступных форматов

Форматирование файловых систем

mkfs /dev/hda1	создать linux-файловую систему на разделе hda1
mke2fs /dev/hda1	создать файловую систему ext2 на разделе hda1
mke2fs -j /dev/hda1	создать журналирующую файловую систему ext3 на разделе hda1
mkfs -t vfat 32 -F /dev/hda1	создать файловую систему FAT32 на разделе hda1
fdformat -n /dev/fd0	форматирование флоппи-диска без проверки
mkswap /dev/hda3	создание swap-пространства на разделе hda3

swap-пространство

mkswap /dev/hda3	создание swap-пространства на разделе hda3
swapon /dev/hda3	активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3	активировать swap-пространства, расположенные на разделах hda2 и hdb3

Создание резервных копий (backup)

dump -0aj -f /tmp/home0.bak /home	создать полную резервную копию директории /home в файл /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /home 	создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
restore -if /tmp/home0.bak	восстановить из резервной копии /tmp/home0.bak
rsync -rogpav --delete /home /tmp	синхронизировать /tmp с /home
rsync -rogpav -e ssh --delete /home ip_address:/tmp 	синхронизировать через SSH-туннель
rsync -az -e ssh --delete ip_addr:/home/public /home/local	синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием
rsync -az -e ssh --delete /home/local ip_addr:/home/public	синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'	сделать "слепок" локального диска в файл на удалённом компьютере через ssh-туннель
tar -Puf backup.tar /home/user	создать инкрементальную резервную копию директории '/home/user' в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'	копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 	копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
tar cf - . | (cd /tmp/backup ; tar xf - )	копирование одной директории в другую с сохранением полномочий и линков
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents	поиск в /home/user1 всех файлов, имена которых оканчиваются на '.txt', и копирование их в другую директорию
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2	поиск в /var/log всех файлов, имена которых оканчиваются на '.log', и создание bzip-архива из них
dd if=/dev/hda of=/dev/fd0 bs=512 count=1	создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
dd if=/dev/fd0 of=/dev/hda bs=512 count=1	восстановить MBR с флоппи-диска на /dev/hda
CDROM
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force	clean a rewritable cdrom
mkisofs /dev/cdrom > cd.iso	create an iso image of cdrom on disk
mkisofs /dev/cdrom | gzip > cd_iso.gz	create a compressed iso image of cdrom on disk
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd	create an iso image of a directory
cdrecord -v dev=/dev/cdrom cd.iso	burn an ISO image
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -	burn a compressed ISO image
mount -o loop cd.iso /mnt/iso	mount an ISO image
cd-paranoia -B	rip audio tracks from a CD to wav files
cd-paranoia -- "-3"	rip first three audio tracks from a CD to wav files
cdrecord --scanbus	scan bus to identify the channel scsi

Сеть (LAN и WiFi)

ifconfig eth0	показать конфигурацию сетевого интерфейса eth0
ifup eth0	активировать (поднять) интерфейс eth0
ifdown eth0	деактивировать (опустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0	выставить интерфейсу eth0 ip-адрес и маску подсети
ifconfig eth0 promisc	перевести интерфейс eth0 в promiscuous-режим для "отлова" пакетов (sniffing)
ifconfig eth0 -promisc	отключить promiscuous-режим на интерфейсе eth0
dhclient eth0	активировать интерфейс eth0 в dhcp-режиме.
route -n	вывести локальную таблицу маршрутизации
netstat -rn
route add -net 0/0 gw IP_Gateway	задать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1	добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gateway	удалить ip-адрес шлюза по умолчанию (default gateway)
echo "1" > /proc/sys/net/ipv4/ip_forward	разрешить пересылку пакетов (forwarding)
hostname	отобразить имя компьютера
host www.linuxguide.it	разрешить имя www.linuxguide.it хоста в ip-адрес и наоборот
host 62.149.140.85
ip link show	отобразить состояние всех интерфейсов
mii-tool eth0	отобразить статус и тип соединения для интерфейса eth0
ethtool eth0	отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupn	отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, обеспечивающих эти соединения
netstat -tupln	отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, слушающих порты
tcpdump tcp port 80	отобразить весь трафик на TCP-порт 80 (обычно - HTTP)
iwlist scan	просканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth1	показать конфигурацию беспроводного сетевого интерфейса eth1

Microsoft Windows networks (SAMBA)

nbtscan ip_addr	разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba.
nmblookup -A ip_addr
smbclient -L ip_addr/hostname	отобразить ресурсы, предоставленные в общий доступ на windows-машине
smbget -Rr smb://ip_addr/share	подобно wget может получить файлы с windows-машин через smb-протокол
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share	смонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему

IPTABLES (firewall)

iptables -t filter -nL	отобразить все цепочки правил
iptables -nL
iptables -t nat -L	отобразить все цепочки правил в NAT-таблице
iptables -t filter -F	очистить все цепочки правил в filter-таблице
iptables -F
iptables -t nat -F	очистить все цепочки правил в NAT-таблице
iptables -t filter -X	удалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT	позволить входящее подключение telnet'ом
iptables -t filter -A OUTPUT -p tcp --dport http -j DROP	блокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT	позволить "прокидывать" (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT"	включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса "DROP INPUT"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE	включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22	перенаправление пакетов, адресованных одному хосту, на другой хост

Мониторинг и отладка

top	отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
ps -eafw	отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args --forest	вывести PID'ы и процессы в виде дерева
pstree	отобразить дерево процессов
kill -9 98989	"убить" процесс с PID 98989 "на смерть" (без соблюдения целостности данных)
kill -KILL 98989
kill -TERM 98989	Корректно завершить процесс с PID 98989
kill -1 98989	заставить процесс с PID 98989 перепрочитать файл конфигурации
kill -HUP 98989
lsof -p 98989	отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1	отобразить список открытых файлов из директории /home/user1
strace -c ls >/dev/null	вывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls >/dev/null	вывести вызовы бибилотек
watch -n1 'cat /proc/interrupts'	отображать прерывания в режиме реального времени
last reboot	отобразить историю перезагрузок системы
last user1	отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
lsmod	вывести загруженные модули ядра
free -m	показать состояние оперативной памяти в мегабайтах
smartctl -A /dev/hda	контроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hda	проверить доступность SMART на жёстком диске /dev/hda
tail /var/log/dmesg	вывести десять последних записей из журнала загрузки ядра
tail /var/log/messages	вывести десять последних записей из системного журнала
sysctl hw.physmem 	Определение объема физической памяти установленной на сервере
dmidecode	Определение типа материнской платы

Другие полезные команды

apropos ...keyword	выводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
man ping	вызов руководства по работе с программой, в данном случае, - ping
whatis ...keyword	отображает описание действий указанной программы
mkbootdisk --device /dev/fd0 `uname -r`	создаёт загрузочный флоппи-диск
gpg -c file1	шифрует файл file1 с помощью GNU Privacy Guard
gpg file1.gpg	дешифрует файл file1 с помощью GNU Privacy Guard
wget -r www.example.com	загружает рекурсивно содержимое сайта www.example.com
wget -c www.example.com/file.iso	загрузить файл www.example.com/file.iso с возможностью останова и продолжения в последствии
echo 'wget -c www.example.com/files.iso' | at 09:00	начать закачку в указанное время
ldd /usr/bin/ssh	вывести список библиотек, необходимых для работы ssh
alias hh='history'	назначить алиас hh команде history



Главная > Операционные системы > UNIX > BSD > FreeBSD