FreeBSD — основные команды

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

Прервать выполняющуюся команду:

^C (Ctrl-C)

Выйти из shell:
exit

Показать документацию к команде ls. Вместо ls можно подставить любую другую команду:
man ls

Описание структур каталогов:
man hier

Показать текущую дату и время:
date

Показать продолжительность того, сколько времеи включена система:
uptime

Показать кто залогинен:
w

Показать последние 10 входов:
last -10

Показать директорию, в которой сейчас находимся:
pwd

Перейти в директорию /usr/local/etc/:
cd /usr/local/etc/
Вместо /usr/local/etc/ можно указать любую другую директорию, в которую есть доступ.

Перейти в каталог на один уровень вверх:
cd ..

Перейти в свою домашнюю директорию:
cd ~

Перейти в корневую директорию:
cd /

Узнать размер папки:
du -hsx /путь/до/папки

Показать содержимое текущей директории:
ls

Показать подробно содержимое текущей директории (в выводе команды указаны даты, права на файлы/директории):
ls -l

Показать список всех файлов, включая скрытые файлы:
ls -a

Показать права доступа к файлу filename:
ls -l filename

Показать права доступа к директории directory:
ls -ld directory

Создать даректорию newdir в папке tmp:
mkdir /tmp/newdir/

Создаём директорию subdir, даже если у нас отсутствует папка newdir. Все папки создадутся автоматически:
mkdir -p /tmp/newdir/subdir/

Удалить директорию /tmp/newdir/ . Вместо /tmp/newdir/ можете указать нужную вам папку:
rmdir /tmp/newdir/

Удалить непускую директорию newdir. Вместо «newdir» у вас может быть другая папка:
rm -rd /tmp/newdir/

Список частовводимых комманд:
history | awk ‘{a[$2]++}END{for(i in a){print a[i] » » i}}’ | sort -rn | head

Колличество активных соединений tcp:
netstat -an|grep tcp | wc -l

Колличество активных соединений udp:
netstat -an|grep udp | wc -l

Прочитать несколько байт файла и определить тип файла:
file filename
Пример 1:
file /etc/rc.conf
/etc/rc.conf: ASCII English text
Пример 2:
file /bin/cp
/bin/cp: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 7.1, dynamically linked (uses shared libs), FreeBSD-style, stripped

Вывести на экран содержимое файла filename:
less filename
space(пробел) = следующая страница, b = предыдущая страница,
q = выйти, / = искать далее, ? = искать в предыдущем, n = повторить поиск.

Вывести на экран содержимое файла filename. -M = показывать название файла:
less -Mi filename

Показать количество строк в файле filename:
wc -l filename

Показать первые 5 строк файла filename (количество строк можно указать самостоятельно):
head -5 filename

Показать последние 5 строк файла filename (количество строк можно указать самостоятельно):
tail -5 filename

Показать последние 10 строк файла, подождать и показать новые линии по мере их добавления (^ C для выхода). Особенно полезено для лог-файлов:
tail -f filename

Создать файл filename, если он не существует или обновить время создания, если такой файлик имеется:
touch filename

Удалить файл filename:
rm filename

Копировать файл filename и присвоить ему новое имя — newname:
cp filename newname

Копировать файл или файлы в директорию /tmp/ ,название файлов и директорию укажите самостоятельно:
cp file1 file2 … /tmp/

Копировать директорию /tmp/ в директорию /home/ ,название директорий укажите самостоятельно:
cp -R /tmp/ /home/

Перенести файл oldname в туже директорию, где он находится, но под другим названием — newname. Проще говоря, переименовать файл oldname в newname:
mv oldname newname

Перенести файл или файлы в директорию /tmp/ , название файлов и директорию укажите самостоятельно:
mv file1 file2 … /tmp/

Сделать жёсткую ссылку newname на файл filename:
ln filename newname

Найти все файлы в директории /etc/ , или в любой другой указанной вами директории (/etc/ -для примера):
find /etc/ -type f

Найти все файлы в директории /etc/, начинающиеся с rc. Вместо /etc/ и rc укажите свои данные:
find /etc/ -type f -name ‘rc*’

Читать сжатый текстовый файл, без распаковки его на диск:
gzip -dc filename.gz | less
bzip2 -dc filename.bz2 | less

Показать содержимое сжатого архива:
tar -tzf filename.tgz или .tar.gz
tar -tjf filename.tbz2 или .tar.bz2

Извлеч содержимое архива filename.tgz в директорию /tmp/:
tar -xvzf filename.tgz -C /tmp/
Извлеч содержимое архива filename.tbz2 в директорию /tmp/:
tar -xvjf filename.tbz2 -C /tmp/

Извлеч содержимое архива filename.tgz в текущую директорию:
tar -xvzf filename.tgz
Извлеч содержимое архива filename.tbz2 в текущую директорию:
tar -xvjf filename.tbz2

Показать все процессы:
ps auxw

Показать все процессы «sshd»:
ps auxw | grep sshd

Постоянно показывать наиболее активные процессы (q — выход):
top

Отправить сигнал для остановки процесса, идентификатором которого является его pid:

kill pid
или
kill -TERM pid

Послать сигнал всем процессам, чье имя «httpd»:
killall httpd

Искать команду cp в PATH и показать, где она была найдена:
which cp

Показать 20 последних введённых команд:
history 20

Показать все переменные окружения:
printenv

Показать одну переменную окружения ‘PATH’:
printenv PATH
или
echo $PATH
Переменные среды можно установить в ~/.profile для sh, ~/.bash_profile для bash, или ~/.cshrc для csh

Показать текущие uid, gid и дополнительные groups:
id

Показать текущее имя пользователя:
whoami

Стать root’ом (пользователь должен быть в группе «wheel»):
su

Изменить uid на username:
su username

Показать все учётные записи (выводится содержимое файла /etc/passwd, где они перечислены):
cat /etc/passwd

Показать все группы (выводится содержимое файла /etc/group, где они перечислены):
cat /etc/group

Создать пользователя username; — m = создать домашную директорию:
pw useradd username -m

Изменить свой пароль:
passwd

Изменить пароль пользователя username (имеет право только root):
passwd username

Добавить пользователя username в группу «wheel» (или отредактируйте /etc/group):
pw usermod username -G wheel

Удалить пользователя username; -r = удалить домашную директорию:
pw userdel username -r

Показать все учётные записи с зашифрованными паролями:
cat /etc/master.passwd

Показать примонтированные файловые системы:
mount

Показать используемое и свободное место на всех примонтированных файловых системах (-h = для большей читабельности для людей, -m = если надо узнать размер в Мб):
df
df -h
df -m

Список процессов с открытыми файлами:
fstat

Показать файловую таблицу:
cat /etc/fstab

Показать слайсы устройства ad0:
fdisk /dev/ad0

Показать статистику дисковых операций ввода/вывода каждые 2 секунды:
iostat 2 gstat -I 2s

Показать список установленных пакетов:
pkg_info

Показать подробное описание пакета «zip» (вместо zip укажите любой установленный у вас пакет):
pkg_info zip\*

Показать список файлов, включенных в пакет «zip»:
pkg_info -L zip\*

Установить пакет foo-1.2.3.tbz:
pkg_add foo-1.2.3.tbz

Установить пакет foo из FTP сервера, используемого по умолчанию:
pkg_add -r foo

Установить пакет foo из альтернативного FTP сервера:
PACKAGEROOT=»ftp://ftp.freebsd. org» pkg_add -r foo

Удалить пакет foo-1.2.3:
pkg_delete foo-1.2.3

Выполнять после установки пакетов, для повторного сканирования PATH. (Необходимо только если используете csh):
rehash

Показать загруженные модули:
kldstat

Загрузить модуль:
kldload название_модуля

Выгрузить модуль:
kldunload название_модуля

Показать все сетевые интерфейсы:
ifconfig -a

Показать таблицу маршрутизации:
netstat -r -n

Добавить статический маршрут по умолчанию:
route add default 192.168.0.254

Отправить ping пакеты на адрес 1.2.3.4, проверка доступности хоста (^C для выхода):
ping 1.2.3.4

Отправка пакетов до адреса 1.2.3.4 и отображение промежуточных найденных маршрутизаторов:
traceroute -n 1.2.3.4

Показать все пакеты, переданные и принятые на интерфейсе em0:
tcpdump -i em0 -n -s1500 -X

Показать только заголовки tcp пакетов приходящих/уходящих на 80 порт:
tcpdump -i em0 -n tcp port 80

Открыть TCP соединение на порт 80 хоста с адресом 1.2.3.4:
telnet 1.2.3.4 80

Инициализация настроек сетевых интерфейсов в /etc/rc.conf:
/etc/rc.d/netif start

Инициализация настроек статических маршрутов из /etc/rc.conf:
/etc/rc.d/routing start

Настройка интерфейса с пометкой «DHCP» в /etc/rc.conf:
/etc/rc.d/dhclient start

Показать активные сетевые подключения:
netstat -finet -n

Показать процессы слушающие на IPv4 sockets:
sockstat -4 -l

Перезагрузить ОС:
reboot

Выключить ПК, немедленно
shutdown -p now

Права на файлы/папки:
права на файлы и папки обозначаются в виде цифр или букв:
4 = read (разрешение на чтение)
2 = write (разрешение на запись)
1 = execute (разрешение на выполнение)
Права представлены тремя цифрами:
первая цифра — разрешения для вас
вторая цифра — разрешения для группы
третяя цифра — разрешения для всех остальных

Сложение цифр можно добиться установления прав. Например:
3 (2+1) — разрешение на запись и выполнение файла (каталога);
5 (4+1) — разрешение на чтение и выполнение;
6 (4+2) — разрешение на чтение и запись;
7 (4+2+1) — разрешение на чтения, запись и выполнение

То есть существует всего семь вариантов:
7 = read, write & execute (чтение, запись, выполнение);
6 = read & write (чтение и запись);
5 = read & execute (чтение и выполнение);
4 = read (чтение);
3 = write & execute (запись и выполнение);
2 = write (запись);
1 = execute (выполнение).

Для установления прав доступа используется команда CHMOD.
На примере нагляднее:
chmod 777 /tmp/file.sh -разрешить читать, изменять, выполнять файл file.sh всем
chmod 766 /tmp/file.sh -разрешить себе читать, изменять, выполнять файл file.sh, а группе и всем остальным только читать, изменять.
Если надо дать права всем файлам в папке и всему содержимому включая подпапки(рекурсивно), надо использовать параметр -R, т.е.:
chmod -R 766 /tmp/

Узнать погоду из консоли (должен быть установлен curl, Вместо Moscow напишите свой город):
curl -s «http://www.google.com/ig/api?weather=Moscow» | sed ‘s|.*.*|\1|’

Узнать количество установленной физической памяти:
cat /var/run/dmesg.boot | grep «real memory»

Узнать переменные окружения (PATH) в языке csh (по умолчанию во FreeBSD):
setenv | grep PATH

Перестартовать сеть (сетевое подключение по ssh сохранится)
/etc/rc.d/netif restart

Остановить сетевую карту:
ifconfig network-interface down
здесь network-interface — это интерфейс сетевой карты, который можно посмотреть командой ifconfig

Аналогично запуск сетевой карты:
ifconfig network-interface up

Получить список поднятых сетевых интерфейсов:
ifconfig -u

Получить список выключенных сетевых интерфейсов:
ifconfig -d

Посмотреть размер директории:
du -h

Перезапустить ipfw:
/etc/rc.d/ipfw restart

Информация об установленном CPU:
sysctl -a | egrep -i ‘hw.machine|hw.model|hw.ncpu’

Узнать все IP-адреса сайта:
host -t a mediaunix.com

Создать дамп базы mysql:
mysqldump -u ЛогинАдминаБД -pПарольАдминаБД -B ИмяБД > /путь/куда/сохранить/дамп/базы/ИмяБазы.sql

Настроить дату и время на freebsd:
date yymmddhhss
где
yy -сокращённо год (две последние цифры)
mm -месяц
dd -день
hh -час
ss -минуты

Синхронизировать дату и время с сервером:
ntpdate pool.ntp.org

Источник: http://mediaunix.com/komandy-freebsd/


Если мало тут еще: http://itadept.ru/freebsd-commands/

Полезные FreeBSD команды http://www.shirrma.ru/2014/01/freebsd.html