| Команды | Выполняемые функции |
|---|---|
| TERM=terminal_name
export TERM |
Установка конфигурации терминала |
| tput init | Инициализировать терминал как terminal_name |
| vi filename | Вызов редактора vi для редактирования файла filename |
| a | Добавить текст после курсора |
| h | Перемещает курсор на один символ влево |
| j | Перемещает курсор вниз на одну строку |
| k | Перемещает курсор вверх на одну строку |
| l | Перемещает курсор на один символ вправо |
| x | Удалить символ |
| <CR> | Возврат каретки |
| <ESC> | Перейти из режима ввода в командный режим |
| :w | Записать в файл |
| :q | Завершить работу с редактором |
| :wq | Записать буфер в файл и завершить работу с редактором vi |
| ZZ | Записать изменения в файл и завершить работу с vi |
Команды позиционирования курсора
| Команда | Действие команды |
|---|---|
| Позиционирование на символ | |
| h | Перемещает курсор на один символ влево |
| l | Перемещает курсор на один символ вправо |
| BACKSPACE | Перемещает курсор на один символ влево |
| SPACEBAR | Перемещает курсор на один символ вправо |
| fx | Осуществляет поиск указанного символа x справа от текущей позиции курсора |
| Fx | Осуществляет поиск указанного символа x слева от текущей позиции курсора |
| tx | Осуществляет перемещение курсора вправо на символ до указанного символа x |
| Tx | Осуществляет перемещение курсора влево на символ до указанного символа x |
| ; | Повторяет предыдущий поиск символа. Команда ; запоминает символ и ищет следующее появление символа в текущей строке |
| , | Повторяет предыдущий поиск символа, но в обратном направлении |
| j | Перемещает курсор вниз на одну строку |
| k | Перемещает курсор вверх на одну строку |
| — | Перемещает курсор на одну строку вверх, позиционируя его на первом ненулевом символе |
| + | Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ |
| <CR> | Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ |
| Позиционирование на строку | |
| $ | Переместить курсор на последний символ в строке |
| 0(ноль) | Переместить курсор на первый символ в строке |
| ^ | Переместить курсор на первый ненулевой символ в строке |
| Позиционирование на слово | |
| w | Перемещает курсор к началу следующего слова |
| W | Игнорирует все знаки пунктуации и перемещает курсор на следующее после пробела слово |
| e | Перемещает курсор на последний символ в следующем слове |
| E | Перемещает курсор на последний символ в слове. Игнорирует все символы пунктуации за исключением пробела |
| b | Перемещает курсор к первому символу предыдущего слова |
| B | Используется подобно команде b, за исключением того, что слова разделяются только символами пробел и новая строка |
| Позиционирование на предложение | |
| ( | Перемещает курсор в начало текущего предложения |
| ) | Перемещает курсор в начало следующего предложения |
| Позиционирование на параграф | |
| { | Переместить курсор в начало текущего параграфа, который ограничивается пустой строкой |
| } | Переместить курсор в начало следующего параграфа |
| Позиционирование в окне | |
| H | Переместить курсор к первой строке экрана |
| M | Переместить курсор к средней строке экрана |
| L | Переместить курсор к последней строке экрана |
| Команда | Действие |
|---|---|
| Прокрутка | |
| ^f | Прокрутка экрана вперед на полное окно. Откры- вается новое окно с текстом, расположенным ниже текущего окна |
| ^d | Прокрутка текста вниз на пол-окна. Открываются строки, расположенные ниже текущего окна |
| ^b | Прокрутка экрана назад на полное окно. Откры- вается новое окно с текстом, расположенным выше текущего окна |
| ^d | Прокрутка текста вверх на пол-окна. Открываются строки, расположенные выше текущего окна |
| Позиционирование с помощью номера строки | |
| 1G | Перейти к первой строке в файле |
| G | Перейти к последней строке в файле |
| ^g | Выдать номер строки и состояние файла |
| Поиск по шаблону | |
| /pattern | Поиск вперед в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона |
| ?pattern | Поиск назад в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона |
| n | Повторить последнюю команду поиска |
| N | Повторить последнюю команду поиска в обратном направлении |
Команды создания текста
| Команда | Функция |
|---|---|
| a | Создать текст после курсора |
| A | Создать текст в конце текущей строки |
| i | Создать текст перед курсором |
| I | Создать текст перед первым ненулевым символом в текущей строке |
| o | Создать текст с начала новой строки, расположенной под текущей строкой |
| O | Создать текст с начала новой строки, расположенной над текущей строкой |
| <ESC> | Возвратить vi в командный режим из режима ввода текста |
Команды удаления текста
| Команда | Функция |
|---|---|
| Режим ввода | |
| BACKSPACE | Удалить текущий символ |
| 1w | Удалить текущее слово |
| @ | Удалить текущую строку нового текста или удалить весь новый текст в текущей строке Командный режим |
| u | Отменить последнюю команду |
| U | Восстановить текущую строку в прежнем состоянии |
| x | Удалить текущий символ |
| ndx | Удалить n-ый объект текста x |
| dw | Удалить слово над курсором и следующий за ним пробел, или знак пунктуации |
| dW | Удалить слово и пунктуацию над курсором с последующим за ним пробелом |
| dd | Удалить текущую строку |
| D | Удалить часть строки справа от курсора |
| d) | Удалить текущее предложение от текущей позиции курсора до конца |
| d} | Удалить текущий параграф от текущей позиции до конца |
Команды изменения текста
| Команда | Функция |
|---|---|
| r | Заменить текущий символ |
| R | Заменить те символы, которые введены в режиме ESCAPE |
| s | Удалить символ, под которым расположен курсор и добавить текст. Для окончания режима ввода нажмите клавишу ESCAPE |
| S | Заменить все символы в строке |
| cc | Заменить все символы в строке |
| ncx | Заменить n объектов текста типа x (предложение, параграф) |
| cw | Заменить слово или оставшиеся символы в слове на новый текст |
| C | Заменить оставшиеся символы в строке от курсора до конца строки |
Команда y
| Команда | Функция |
|---|---|
| nyx | Копирование n-го объекта текста типа x (предложение или параграф) |
| yw | Создание копии слова |
| yy | Создание копии текущей строки |
| nyy | Копирование n строк |
| y) | Создание копии всего текста до конца предложения |
| y} | Создание копии всего текста до конца параграфа |
Команды извлечения и присоединения текста
| Команда | Функция |
|---|---|
| p | Помещает содержимое временного буфера, полученное с помощью команды y и команд удаления, в текст после курсора |
| yy | Создает копию строки текста и помещает во временный буфер |
| nyx | Создает копию n-го объекта текста типа x и помещает ее во временный буфер |
| «xyn | Помещает копию объекта текста типа n в в регистр с именем x |
| «xp | Помещает содержимое регистра x после курсора |
Специальные команды
| Команда | Функция |
|---|---|
| . | Повторить последнюю команду |
| j | Соединить текущую строку со строкой, расположенной ниже |
| ^l | Очистить и восстановить текущее окно |
| ~ | Заменить нижний регистр на верхний |
Команды построчного редактора
| Команда | Функция |
|---|---|
| : | Обозначает, что следующая за ней команда является командой построчного редактора |
| :sh<CR> | Временный возврат к shell для выполнения команд shell |
| ^d | Возврат из временного shell в текущее окно vi для продолжения редактирования |
| :n<CR> | Переход к n-ой строке буфера |
| :x,yw data<CR> | Записать строки от номера x до номера y в новый файл data |
| :$<CR> | Переход к последней строке буфера |
| :.,$d<CR> | Удалить все строки в буфере, начиная с текущей и до послед- ней строки |
| :r shell.file<CR> | Вставить содержимое shell.file после текущей строки в буфере |
| :s/text/new_words/<CR> | Заменить первое появление символов text в текущей строке на new_words |
| :s/text/new_words/g<CR> | Заменить каждое появление символов text в текущей строке на new_words |
| :g/text/s//new_words/g<CR> | Заменить каждое появление символов text в файле на new_words |
Команды завершения
| Команда | Функция |
|---|---|
| ZZ | Записать буфер в файл, если после последней записи в буфере были сделаны изменения, и завершить работу с vi |
| :wq<CR> | Записать буфер в файл и завершить работу с vi |
| :w filename<CR> | Записать буфер в новый файл filename |
| :q<CR> | и завершить работу с vi |
| :w! filename<CR> | Перезаписать содержимое буфера в уже |
| :q<CR> | существующий файл filename и завершить работу с vi |
| :q!<CR> | Завершить работу с vi без записи буфера в файл, даже если содержимое буфера изменялось |
| :q<CR> | Завершить работу с vi без записи буфера в файл, если буфер не изменялся |
Специальные опции vi
| Опция | Функция |
|---|---|
| vi file1 file2 file3<CR> | Ввести три файла (file1 file2 и file3) в буфер vi для редактирования |
| :w<CR> | Записать текущий файл и начать |
| :n<CR> | редактирование следующего файла |
| vi -r file1<CR> | Восстановить изменения, сделанные в файле file1 |
| view file<CR> | Осуществить просмотр файла с помощью опции «только чтение» чтобы предотвратить случайные изменения в файле file |
ADVERTISEMENT
Read Next
Прервать выполняющуюся команду:
^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
Все команды и их комбинации перечислять излишне. Если есть, что нужно добавить, добро пожаловать в комментарии, добавлю.

В данном посту я решил сделать хорошую шпаргалку по командам FreeBSD, которые могут пригодиться на практике. Здесь приведена выжимка команд для работы с файловой системой, процессами, пользователями, и т.д.
cp — Сокращение от copy, команда выполняет копирование файлов.
Рассмотрим пример использования этой команды. Скопируем файл /home/file1 в директорию /home/dir/:
cp /home/file1 /home/dir/file1
df — Команда для просмотра свободного места на диске.
ls — Команда для просмотра содержимое каталога.
Рассмотрим подробно содержимое каталога:
ls -all
cd – Команда для перехода по каталогам.
Пример, выполним переход в директорию /home:
cd /home
find — Команда для поиска директорий и файлов.
Рассмотрим простой пример, найдем файлы в директории /home/, начинающиеся с приставки conf:
find /home/ -type f -name 'conf*'
Поиск файлов и директорий созданные за последний день в текущей директории.
find . -ctime -1d
Поиск файлов и директорий чтение которых производилось за последний день в текущей директории.
find . -atime -1d
Поиск файлов и директорий модифицированных за последний день в текущей директории.
find . -mtime -1d
Поиск файлов и директорий созданных либо копированных за последний день в текущей директории.
find . -ctime -1d
Поиск и удаление файлов и папок в текущей директории.
find . | xargs rm
tar — Команда для работы с tar архивами. Подробнее о работе с tar архивами.
mkdir dir_name — Команда для создания директории.
pwd — Команда отображает текущую директорию в которой вы находитесь.
mv — Сокращение от move, команда служит для перемещения, либо переименования файла.
Пример использования команды mv:
mv /home/gile1 /home/file2
rm — Сокращение от remove, команда служит для удаления файлов.
Пример удаления файла:
rm /home/file1
rmdir — Сокращенно от remove dir, команда выполняет удаление директории.
Рассмотрим пример удаления директории с именем mydir:
rmdir mydir
uname — Команда для вывода информации о системе.
ps — Команда выводит на экран список активных процессов.
top — Команда для просмотра выполняемых процессов в режиме реального времени.
kill pid — Команда принудительно завершает процесс. В качестве параметра PID указывается id процесса.
killall processname — Команда принудительно завершает процесс. В качестве параметра processname указывается имя процесса.
history 20 — Команда отображает список последних команд. Число 20 означает количество последних комманд.
id — Команда для отображения текущего uid gid группы.
who — Команда для вывода списка пользователей в системе.
whoami — Команда для просмотра имени текущего пользователя.
su — Команда дает права суперпользователя root. При этом пользователь должен быть в группе wheel.
su username — Переключение окружения с правами другого пользователя.
cat /etc/passwd — Просмотр всех аккаунтов в системе.
cat /etc/group — Просмотр всех групп в системе.
cat /etc/master.passwd — Команда для просмотра всех учетных записей с зашифрованными паролями.
passwd — Команда для смены пароля. Актуальна для пользователей root.
passwd username — Команда для смены пароля указанного пользователя.
pw usermod username -G wheel — Команда для добавления пользователя в группу wheel.
pw userdel username -r — Команда для удаления пользователя. Параметр -r говорит о том, что будет удалена домашняя директория.
mount — Команда для просмотра смонтированных файловых систем. См. пример: монтирование USB-устройств во FreeBSD.
pkg_info — Команда для просмотра информации обо всех установленных пакетах.
Просмотр детальной информации о пакете pack-1.0.0
pkg_info pack-1.0.0
Просмотр детальной информации о всех пакетах pack.
pkg_info pack*
Просмотр список файлов включенных в пакет.
pkg_info -L pack*
Команда для определения в каком из пакетов включен файл /usr/local/bin/file.
pkg_info -W /usr/local/bin/file
pkg_add pack-1.2.3.tbz — Команда для установки пакета из файла.
pkg_delete foo-1.2.3 — Команда для удаления пакета.
ifconfig -a — Команда для отображения сетевого интерфейса.
ping href.kz — Команда ping, известная пожалуй каждому системному администратору.
traceroute href.kz — Команда выводит таблицу трассировки к узлу.
reboot — Команда выполняет перезагрузку системы.
shutdown -h 5 «Sys maintenance» — Выключение системы через 5 минут, с выводом сообщения пользователям.
portsnap fetch — Команда выполняет обновление портов.
where is wget — Команда отображает полный путь к программе, в примере это wget.
scp -p -r /home/dir root@192.168.200.33:/home/server — Команда для копирования файлов на другой сервер.
less file — Команда для просмотра содержимого файла.
command | less — Команда для запуска результатов работы команды с less.
Мое полугодовое интенсивное изучение freebsd подошло к концу. Понятно, что я не стал профессионалом в области nix систем (не пишу на Shell или Perl никаких скриптов), но наверное многое познал за последнее время. Самое печальное в этом всем, что через полгода я уже не буду помнить и половины того что помню сейчас. Юних как и Циска требует постоянного внимания к себе … Но по крайней мере уже не придется тупо смотреть в черный экран, как это было раньше. В качестве завершения хотелось бы еще раз опубликовать список основных команд по Юниху. Всем удачной работы.
| Файлы и директории | |
| cd /home | перейти в директорию ‘/home’ |
| cd .. | перейти в директорию уровнем выше |
| cd ../.. | перейти в директорию двумя уровнями выше |
| cd | перейти в домашнюю директорию |
| cd ~user | перейти в домашнюю директорию пользователя user |
| cd — | перейти в директорию, в которой находились до перехода в текущую директорию |
| pwd | показать текущюю директорию |
| ls | отобразить содержимое текущей директории |
| ls -F | отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип |
| ls -l | показать детализированое представление файлов и директорий в текущей директории |
| ls -a | показать скрытые файлы и директории в текущей директории |
| ls *[0-9]* | показать файлы и директории содержащие в имени цифры |
| tree | показать дерево файлов и директорий, начиная от корня (/) |
| lstree | |
| mkdir dir1 | создать директорию с именем ‘dir1’ |
| mkdir dir1 dir2 | создать две директории одновременно |
| mkdir -p /tmp/dir1/dir2 | создать дерево директорий |
| rm -f file1 | удалить файл с именем ‘file1’ |
| rmdir dir1 | удалить директорию с именем ‘dir1’ |
| rm -rf dir1 | удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое |
| rm -rf dir1 dir2 | удалить две директории и рекурсивно их содержимое |
| mv dir1 new_dir | переименовать или переместить файл или директорию |
| cp file1 file2 | сопировать файл file1 в файл file2 |
| cp dir/* . | копировать все файлы директории dir в текущую директорию |
| cp -a /tmp/dir1 . | копировать директорию dir1 со всем содержимым в текущую директорию |
| cp -a dir1 dir2 | копировать директорию dir1 в директорию dir2 |
| ln -s file1 lnk1 | создать символическую ссылку на файл или директорию |
| ln file1 lnk1 | создать «жёсткую» (физическую) ссылку на файл или директорию |
| touch -t 0712250000 fileditest | модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm) |
| Поиск файлов | |
| find / -name file1 | найти файлы и директории с именем file1. Поиск начать с корня (/) |
| find / -user user1 | найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/) |
| find /home/user1 -name «*.bin» | Найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’ |
| find /usr/bin -type f -atime +100 | найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней |
| find /usr/bin -type f -mtime -10 | найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней |
| find / -name *.rpm -exec chmod 755 ‘{}’ ; | найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним |
| find / -xdev -name «*.rpm» | найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п. |
| locate «*.ps» | найти все файлы, сожержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’ |
| whereis halt | показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’ |
| which halt | отображает полный путь к файлу ‘halt’ |
| Монтирование файловых систем | |
| mount /dev/hda2 /mnt/hda2 | монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’ |
| umount /dev/hda2 | размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’ |
| fuser -km /mnt/hda2 | принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем |
| umount -n /mnt/hda2 | выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске |
| mount /dev/fd0 /mnt/floppy | монтировать флоппи-диск |
| mount /dev/cdrom /mnt/cdrom | монтировать CD или DVD |
| mount /dev/hdc /mnt/cdrecorder | монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-) |
| mount -o loop file.iso /mnt/cdrom | смонтировать ISO-образ |
| mount -t vfat /dev/hda5 /mnt/hda5 | монтировать файловую систему Windows FAT32 |
| mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share | монтировать сетевую файловую систему Windows (SMB/CIFS) |
| mount -o bind /home/user/prg /var/ftp/user | «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user |
| Дисковое пространство | |
| df -h | отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства(Прим.переводчика. ключ —h работает не во всех *nix системах) |
| ls -lSr |more | выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр |
| du -sh dir1 | подсчитывает и выводит размер, занимаемый директорией ‘dir1’ (Прим.переводчика. ключ —h работает не во всех *nix системах) |
| du -sk * | sort -rn | отображает размер и имена файлов и директорий, с соритровкой по размеру |
| rpm -q -a —qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n | показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.) |
| dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n | показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т. |
| Пользователи и группы | |
| groupadd group_name | создать новую группу с именем group_name |
| groupdel group_name | удалить группу group_name |
| groupmod -n new_group_name old_group_name | переименовать группу old_group_name в new_group_name |
| useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1 | создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome |
| useradd user1 | создать пользователя user1 |
| userdel -r user1 | удалить пользователя user1 и его домашний каталог |
| usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1 | изменить атрибуты пользователя |
| passwd | сменить пароль |
| passwd user1 | сменить пароль пользователя user1 (только root) |
| chage -E 2005-12-31 user1 | установить дату окончания действия учётной записи пользователя user1 |
| pwck | проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow |
| grpck | проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group |
| newgrp [-] group_name | изменяет первичную группу текущего пользователя. Если указать «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd |
| Выставление/изменение полномочий на файлы | |
| ls -lh | просмотр полномочий на файлы и директории в текущей директории |
| ls /tmp | pr -T5 -W$COLUMNS | вывести содержимое директории /tmp и разделить вывод на пять колонок |
| chmod ugo+rwx directory1 | добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1 |
| chmod go-rwx directory1 | отобрать у группы и всех остальных все полномочия на директорию directory1. |
| chown user1 file1 | назначить владельцем файла file1 пользователя user1 |
| chown -R user1 directory1 | назначить рекурсивно владельцем директории directory1 пользователя user1 |
| chgrp group1 file1 | сменить группу-владельца файла file1 на group1 |
| chown user1:group1 file1 | сменить владельца и группу владельца файла file1 |
| find / -perm -u+s | найти, начиная от корня, все файлы с выставленным SUID |
| chmod u+s /bin/binary_file | назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла. |
| chmod u-s /bin/binary_file | снять SUID-бит с файла /bin/binary_file. |
| chmod g+s /home/public | назначить SGID-бит директории /home/public. |
| chmod g-s /home/public | снять SGID-бит с директории /home/public. |
| chmod o+t /home/public | назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам |
| chmod o-t /home/public | снять STIKY-бит с директории /home/public |
| Специальные атрибуты файлов | |
| chattr +a file1 | позволить открывать файл на запись только в режиме добавления |
| chattr +c file1 | позволяет ядру автоматически сжимать/разжимать содержимое файла. |
| chattr +d file1 | указавет утилите dump игнорировать данный файл во время выполнения backup’а |
| chattr +i file1 | делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него. |
| chattr +s file1 | позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных. |
| chattr +S file1 | указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync |
| chattr +u file1 | данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить |
| lsattr | показать атрибуты файлов |
| Архивирование и сжатие файлов | |
| bunzip2 file1.bz2 | разжимает файл ‘file1.gz’ |
| gunzip file1.gz | |
| gzip file1 | сжимает файл ‘file1’ |
| bzip2 file1 | |
| gzip -9 file1 | сжать файл file1 с максимальным сжатием |
| rar a file1.rar test_file | создать rar-архив ‘file1.rar’ и включить в него файл test_file |
| rar a file1.rar file1 file2 dir1 | создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1 |
| rar x file1.rar | распаковать rar-архив |
| unrar x file1.rar | |
| tar -cvf archive.tar file1 | создать tar-архив archive.tar, содержащий файл file1 |
| tar -cvf archive.tar file1 file2 dir1 | создать tar-архив archive.tar, содержащий файл file1, file2 и dir1 |
| tar -tf archive.tar | показать содержимое архива |
| tar -xvf archive.tar | распаковать архив |
| tar -xvf archive.tar -C /tmp | распаковать архив в /tmp |
| tar -cvfj archive.tar.bz2 dir1 | создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ —j работает не во всех *nix системах) |
| tar -xvfj archive.tar.bz2 | разжать архив и распаковать его(Прим.переводчика. ключ —j работает не во всех *nix системах) |
| tar -cvfz archive.tar.gz dir1 | создать архив и сжать его с помощью gzip |
| tar -xvfz archive.tar.gz | разжать архив и распаковать его |
| zip file1.zip file1 | создать сжатый zip-архив |
| zip -r file1.zip file1 file2 dir1 | создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий |
| unzip file1.zip | разжать и распаковать zip-архив |
23.08.2011 —
Posted by |
linux and unix servers
Sorry, the comment form is closed at this time.
При установке любой UNIX подобной операционной системы, вам рано или поздно прийдется столкнуться с работой в командной строке терминала. Что такое командная строка – это текстовый интерфейс, в котором команды выполняются путем ввода текстовых строк с клавиатуры. Другое название командной строки – консоль.
Консоль — это совершенно необходимый инструмент, причем не только для профессионалов, но и для обычных пользователей. Сегодня я постарался собрать полезные команды для работы во FreeBSD, но большинство из них будет работать и в других UNIX/Linux подобных операционных системах.
- Работа с каталогами;
- Работа с процессами;
- Работа со встроенной справкой;
- Работа с поиском;
- Работа с сообщениями;
- Работа с пользователями;
- Работа с портами;
- Работа с файлами;
- Работа с устройствами;
- Работа с правами доступа;
- Работа с сетевыми интерфейсами;
- Работа с системой
Работа с каталогами
cd – переход по каталогам
cd / – перейти в корневой каталог
cd ~ – Переход в домашнюю директорию пользователя
cd .. – вернуться да одну директорию назад
cd ../.. – вернуться на несколько директорий назад
pwd – вывести полный путь к директории, в которой находитесь
ls – вывести содержимое директории
ls -la – вывести список всех файлов (обычно не выводятся файлы, имена которых начинаются с точки), а также режим доступа, количество ссылок на файл, имена владельца и группы, размер в байтах и время последней модификации
du — подсчет размера заданной папки и всех вложенных папок в битах
du -h — выводит на экран размер каждой вложенной папки в MB
du -hsx /var — показывает общий размер папки /var
du -h -d 1 /var — показывает размер всех папок в папке /var
du -hs — показывает общий размер папки и всех вложенных в MB
df — показывает информацию о объеме и занятом пространстве жесткого диска
df -h — Вывод информации о объеме и занятом пространстве жесткого диска в Mb
history – показывает последние введенные команды пользователя (их же можно посмотреть в домашнем каталоге пользователя , который называется history)
jobs – показывает список конвейеров и их статус, перечисляет запущенные в фоновом режиме процессы и объясняет выполняются они или остановлены. В квадратных скобках jobs сообщает номер задания, следующее число — PID процесса. Если у задания стоит знак +, то это «текущее задание»
fg — переводит конвейер выполняющийся в «фоновом режиме» (background) на передний план (foreground) «текущее задание»
fg [%n] — номер задания, которое необходимо перевести
logout – завершение текущего сеанса
source – используется для выполнения скрипта внутри текущей сессии shell-оболочки bash
test – осуществляющая математические проверки, проверки на существование файловых объектов и равенство строк, в зависимости от результата сравнения возвращает либо ноль, либо единицу (ложь)
umask – получение или установка маски режима создания файлов, она задает какие биты прав доступа НЕ надо ставить при создании файла. Если необходимо, чтобы у категории «все остальные» вообще не было никаких прав, а «группе допущенных» не ставился бит разрешающий запись, то umask должна выглядеть как 027
mkdir – создать паку.
mkdir папка1 папка2 – создать две папки в данной директории.
mkdir -p /tmp/папка1/папка2/папка3/папка4 – создать полный путь.
Работа с процессами
kill — завершает процессы или посылает им сигналы
kill -1 — посылается демонам для перечитывания ими конфигурационных файлов, а так же всем процессам-потомкам при уничтожении родителя.
kill -2 — прерывание процесса, он посылается процессу, когда в оболочке пользователь нажимает сочетание клавиш ctrl+С
kill -9 — уничтожение процесса,он не перехватывается приложением, больше того, оно даже ничего не узнаёт о том, что применён данный сигнал. Фактически это сигнал ядру о том, что данный процесс должен быть уничтожен.
killall — отправляет сигналы процессам, уничтожает процессы по имени
killall -d — выдает список процессов, которым будет послан указанный сигнал, либо предупреждение, если подходящих процессов не найдено
killall -v — отчёт о ходе выполнения программы killall
killall -u — пользователь посылает сигнал процессу, принадлежащий указанному пользователю
killall -t — терминал — посылает сигнал процессу, запущенному на указанном терминале
killall -l — выдает список сигналов операционной системы в виде символических имён
# killall -d ping nprocs 69 sig:15, cmd:ping, pid:69235, dev:0x5a uid:0 # killall -l HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2
Работа со справкой
man [команда] – вывод мануала по заданной команде (по-умолчанию выводит только первую найденную страницу)
man -a [команда] -выводить все найденные страницы, соответствующие аргументу название (данной команде)
man -d — вместо страниц руководства, вывести отладочную информацию
man -f — аналог запуска программы whatis
man -h — краткая справка по программе man
man -k — аналог запуска программы apropos
man -w — вывести только местоположение файлов страницы руководства, сама страница при этом не выводится
для доступа к справочному руководству по команде kill используется:
man kill
для доступа ко 2-ому разделу справочного руководства по команде kill используется:
man 2 kill
manpath – путь для поиска справочного руководства
manpath -d — выводит дополнительную отладочную информацию
manpath -L — показывает список локализаций ( если существует ) для справочной системы
manpath -q — тихий режим, показывать только конечный результат
type – помогает отличить встроенную команду от обычной
# type jobs jobs is a shell builtin # type grep grep is /usr/bin/grep # type ps ps is aliased to `ps -waux'
Работа с поиском
whatis, apropos [ключевое слово] – искать в базе данных whatis. Утилита apropos ищет данные, соответствующие заданному критерию ключевое_слово, в файлах баз данных, содержащих короткие описания системных команд, и выводит результаты на стандартный вывод. Утилита whatis отображает только полностью совпавшие слова
which – ищет исполняемый файл программы в пользовательском пути поиска
which -a — выводит все найденные экземпляры исполняемых файлов для каждой команды, а не только первый из них
which -s — ничего не выводить, а только установить код возврата 0, если все исполняемые файлы были найдены, либо 1, если хотя бы один не был найден.
# which -a mysql /usr/local/bin/mysql # which -s mysql echo "mysql запущен" || echo "mysql не запущен" mysql запущен
whereis — ищет расположение бинарного файла, соответствующей ему страницы man и расположение каталога с исходным кодом для этой программы
whereis -m — показывает расположение страницу руководства
whereis -u — ищет «необычные» записи
# whereis -m -u /usr/local/bin/* (отображает список приложений, для которых нет страниц помощи man) # cd `whereis -sq ls` (показывает расположение исходного кода)
finger – утилита поиска информации о пользователях, выводит пользователей работающих в данный момент на этом терминале
finger -l — производит многострочный вывод, отображающий всю информацию, описанную для опции -s, а также о домашнем каталоге пользователя, домашнем номере телефона, командной оболочке, наличии почты
find – поиск файлов и папок:
find / -name ports – поиск начиная с корневого каталога все файлы и папки с названием ports
find / -user user1 – поиск всех файлов и папок которые принадлежат пользователю user1
find /usr/local/etc/ -make “*.bin” – поиск файлов в заданной директории с расширением bin
find / -type f –atime +30 – поиск всех файлов в которые не использовались последний месяц
find / -type f –mtime -10 – поиск файлов которые были изменены не менее 10 дней назад
find / -name *.rpm -exec chmod 755 ‘{}’ ; – найти все rpm файлы и выдать им права
find dir/ -type d -exec chmod 755 {} ; — в папке dir всем папкам заменить права доступа на 755
find dir/ -type f -exec chmod 644 {} ; — в папке dir всем файлам заменить права доступа на 644
which – поиск бинарных файлов
whereis – быстрый поиск папок и бинарных файлов.
make search name=”название” – удобный поиск портов, по их названию. При этом будут выведены все найденные варианты с описанием порта, полным названием, адресом, официальным сайтом разработчиков и зависимостями, необходимо находиться в директории /usr/ports/
locate — позволяет искать файлы в индексированной базе данных обновление базы данных производится программой locate.updatedb
Работа с сообщениями
wall – отправляет сообщение на все терминалы
wall [ message ]
wall ПРЕДУПРЕЖДЕНИЕ: Через 5 минут система будет перезагружена
write – отправить сообщение другому пользователю, позволяет общаться с другими пользователями, копируя строки с вашего терминала на их терминал
write пользователь [терминал]
talk – поговорить с другим пользователем (консольный чат, интересная вещь)
talk пользователь[@имя_узла] терминал
нажатие control-L `^L’ приведёт к перерисовке экрана, нажатие control-D `^D’ очистит обе части вашего экрана, а также отошлет этот символ удалённой стороне (где он будет просто отображён этим клиентом talk)
mesg — управляет доступом на запись для вашего терминала (если никакие опции не указаны, то mesg отображает текущий статус доступа к терминалу)
mesg y — разрешить другим пользователям доступ на запись к вашему терминалу
mesg n — запретить доступ на запись к вашему терминалу
Работа с пользователями
adduser — создание учетной записи с помощью специального помощника
adduser -C — настройка помощника
rmuser — вызов помощника для удаления пользователя
rmuser user1 — удалить учетную запись user1
pw — позволяет быстро создать/отредактировать учетные записи
pw useradd user1 — быстрое создание учетной записи с именем user1. Этот пользователь не будет имень свой shell, домашнюю директорию, почтовый ящик, пароль и прочее. Что значит и работать под этой учетной записью будет невозможно.
pw useradd user1 -m — создание нового пользователя user1 с настройками по умолчанию и с автоматическим созданием скелетных файлов. (UID, /home/user1, /bin/sh/, /var/mail, eth).
pw useradd user1 -D user2 — создаем пользователя user1 используя настройки взятые у пользователя user2.
pw usermod user1 -s /usr/local/bin/bash — устанавливаем для пользователя user1 shell по умолчанию bash.
pw usermod user1 -d /home/users/user1 — установить домашнюю директорию пользователя.
pw usermod help — вывести весь список команд.
passwd — установить пароль.
passwd user1 — установить пароль пользователю user1 (если не user1 то должны быть в группе wheel)
env – В основном используется для изменения значений переменного окружения
env HOME=/usr/users/Kevin/notes – изменение домашней директории пользователя.
env LOGNAME=user2 — изменение имени пользователя.
env SHELL=/bin/ksh – изменить командный интерпретатор.
env MAIL=/usr/mail/user2 – изменить файл в который будет складываться почта.
users — Просмотреть список всех пользователей.
groups — Просмотреть список всех груп.
Работа с портами
make — команда для упрощения работы с другими портами
make fetch — скачивает приложение(порт)
make fetch-recursive — скачать исходники для порта учитывая зависимости
make extract — распаковывает порт в рабочую директорию (обычно /usr/ports/category/portname/work)
make depends — перестроить зависимости
make patch — применить патчи к приложению
make build — собрать приложение из исходных тестов
make clean — включаем/выключаем опции и говорим принимать настройки по умолчанию (запрос настроек порта или зависимостей) установить и провести очистку от временных файлов
make install — установить порт
make deinstall — деинсталлировать приложение
make reinstall — переустановить приложение после удаления
make package — построить из порта package
make configure — конфигурирование порта, но не установка
make serach name=»название» — поиск по названию порта
make serach key=»ключевое слово» — поиск по ключевому слову
make update — Обновление портов (необходимо находиться в папке /usr/ports)
rehash — некоторые командные процессоры для ускорения поиска выполнимых файлов и команд кэшируют имена программ, доступных для вызова из каталогов, перечисленных в переменной окружения PATH, если используется один из таких командных процессоров, то перед использованием только что добавленных программ может понадобиться вызвать эту команду, при использовании в качестве оболочки bash то нужно воспользоваться командой hash -r
make config — выбор зависимостей для порта
make WITH_ИМЯОПЦИИ=yes WITHOUT_ИМЯОПЦИИ=yes BATCH=yes install $$
Работа с файлами
cp – копировать файл в директорию.
cp /usr/ports/* ~ – копировать все файлы, что есть в директории ports в домашнюю директорию пользователя
dd – копирует указанный входной файл в указанный выходной, совершая при необходимости преобразования
if=файл — задает входной файл
of=файл — задает выходной файл
skip=n — пропускает n входных блоков (используя указанный размер блока) перед началом копирования
bs=n — устанавливает размеры входного и выходного блока равными n байтов
count=n — копирует только n входных блоков
# dd if=/dev/ad0 of=/dev/null bs=1m (проверяет, что диск не содержит сбойных блоков) # dd if=1234 of=1235 (копирование из файла1234 в файл 1235)
ln — создает ссылки между файлами. По умолчанию делаются жесткие ссылки; при указании опции -s , делаются символьные (или мягкие) ссылки.
Жесткая ссылка является всего лишь именем какого-либо файла. (Таким образом, файл может иметь несколько имен. Он будет удален с диска только тогда, когда будет удалено последнее из его имен. Количество имен, которые имеет файл, показывает команда ls. Нет такого понятия, как настоящее имя: все имена имеют одинаковый статус.)
Мягкая ссылка (или символьная ссылка, или symlink) полностью отличается от жесткой ссылки: она является маленьким специальным файлом, который содержит путь к файлу. Таким образом, мягкая ссылка может указывать на файлы, которые находятся на других файловых системах (например, смонтированных по NFS с другой машины) и не нуждается в наличии того файла, на который она указывает. Когда происходит попытка доступа (с помощью системных вызовов open или stat ), ядро операционной системы заменяет ссылку на тот путь, который она содержит. (Однако, команда rm(1) и системный вызов unlink удаляют саму ссылку, а не файл, на который она указывает. Для чтения состояния символьной ссылки, а также имени файла, на который она указывает, используются системные вызовы lstat и readlink. Для других системных вызовов, которые зависят и различаются для разных операционных систем, может осуществляться работа как с самой символьной ссылкой, так и с файлом, на который она указывает.)
mv – переименовывание файла, или перемещение в другой каталог.
mv –i file1 /home/user1 – перемещение файла file1 в папку user1, при этом если файл user1 уже существует, нужно будет подтвердить замену.
rm – удалить указанный файл.
rm –rf – удалить директорию и все файлы которые находятся в ней
rmdir – удалить пустую директорию.
touch имя_файла – создать файл
file – вывод типа заданного файла
sum – вычисление контрольной суммы файла и его размера в блоках.
wc – подсчет количества строк в заданном файле
wc –c file -вывод только количества символов
wc –I file -вывод только количества строк
wc –w file — вывод только количества слов
cat имя_файла – вывод на экран содержимого файла.
cat file1 file2 – на экран по очереди будут выведены содержимое в начале file1, а затем (без пробелов) содержимое file2.
cat file1 file2 > file3 – содержимое file1 и file2 будет соединено и скопировано в файл file3.
cat file1 > > file2 – данные с file1 будут ДОПИСАНЫ в файл file2.
cat > file1 – будет создан новый файл file1 и в него будет записано все, что будет введено с клавиатуры.
head имя_файла – вывести только 10 первых строк файла (удобно для чтения логов)
more имя_файла – постраничный вывод файла на экран
tail имя_файла – вывести только 10 последних строк файла
tail -f имя_файла
chkgrp — проверяет файл /etc/group на ошибки, если все хорошо в ответ будет следующее:
# chkgrp /etc/group is fine
Работа с устройствами
mount — команда для монтирования устройств
umount — команда для размонтирования устройств
mount_msdosfs -W koi2dos /dev/ad0s6 /mnt/resurce — монтирование устройства ad0s6 с файловой системой DOS в каталог /mnt/resurce
mount_ntfs -С UTF-8 /dev/ad0s1 /mnt/system — монтирование устройства ad0s1 в кодировке UTF-8 в каталог /mnt/system
mount -t cd9660 -C KOI8-R /dev/acd0 /cdrom — монтирование CD устройства в кодировке KOI8-R в каталог /cdrom
Работа с правами доступа
chmod – Изменение доступа к файлу. Выдача прав на чтение, редактирование, исполнение.
Права доступа в короткой форме записи задаются числом из трех цифр. Первая цифра — права владельца, вторая — права группы, третья — права остальных. Цифра 4 означает чтение (read), цифра 2 — запись (write), цифра 1 — исполнение (execute). Для задания прав доступа надо сложить соответствующие цифры.
chmod 777 /usr/local/www/index.html – разрешить полный доступ всем к файлу index.html
chmod 754 /usr/local/www/index.html – разрешить владельцу файла чтение, запись и исполнение, группе в которую он входит только чтение и выполнение, а всем остальным только чтение
chmod 700 /usr/local/www/index.html – разрешить все, только владельцу файла
chmod 740 /usr/local/www/index.html — разрешить все, только владельцу файла, а пользователям той же группы что и владелец файла только чтение.
chmod 714 /usr/local/www/index.html — разрешить все только владельцу файла, пользователям той же группы разрешено редактирование, а всем остальным только чтение.
chmod 700 /usr/local/www/* – владелец имеет все права на все файлы в папке.
chmod –R 700 /usr/local/www/* – владелец имеет все права на все файлы и все вложенные папки, и их содержимое.
Так же это может быть записано в символьной форме:
chmod u+x /usr/local/www/index.html – владелец файла теперь может исполнять этот файл.
chmod g-r /usr/local/www/index.html – группа в которой находится владелец файла, лишилась возможности читать этот файл
chmod o-w /usr/local/www/index.html – Все остальные лишились права на редактирование этого файла
chown – изменение владельца файла.
chmod aleh /usr/local/www/index.html – владельцем файла index.html стал пользователь aleh.
chmod –R aleh /usr/local/www/* – aleh стал владельцем всего, что находится в директории www и его поддиректорий
newgrp – изменение группы пользователя.
Работа с сетевыми интерфейсами
ifconfig – конфигурирование параметров сетевого интерфейса
ifconfig -a — показывает информацию обо всех сетевых интерфейсах, установленных в системе
ifconfig up/down — включает/отключает интерфейс
ifconfig debug/-debug — включает/отключает отладку
ifconfig dblevel уровень — устанавливает указанный уровень отладки
# ifconfig rl0 down
tty – выводит имя терминала соединённого со стандартным вводом
info coreutils tty — открывает полное руководство по команде
printenv – выводит все или часть переменных среды
info printenv — полное руководство по команде
hostname – устанавливает или показывает имя компьютера
info hostname — полное руководство по команде
netstat – показывает статус сети
netstat -a — показывать состояние всех сокетов; обычно сокеты, используемые серверными процессами, не показываются
netstat -r — показать таблицы маршрутизации. При использовании с опцией -s, показывает статистику маршрутизации
netstat -I интерфейс — выделить информацию об указанном интерфейсе в отдельный столбец
netstat -p имя_протокола — ограничить показ статистики или адресов управляющих блоков только протоколом с указанным именем_протокола
Работа с системой
uname — сообщает информацию о данном компьютере и операционной системе
uname –r – архитектура
uname –m – версия ядра
halt – переход в «спящий режим».
reboot – перезагрузка системы [Ctrl+Alt+Del]
init 0 – весьма неправильное выключение компьютера
shutdown – выключение компьютера
shutdown –h час:минута – в какое время выключить компьютер
shutdown –c – отключить запланированное выключение компьютера
shutdown –r now – немедленная перезагрузка компьютера
shutdown –p now – немедленное выключение компьютера
logout – выход из учетной записи. [Ctrl+D]
vmstat – показывает статистическую информацию по виртуальной памяти
vmstat -m — показывает отчет об использовании динамической памяти ядра
vmstat -w — интервал времени между отчетами, если интервал не установлен, значение по умолчанию 1 секунда.
# vmstat -w 5 (будет каждые 5 секунд выводить отчет о происходящем в системе)
проверяем наличие библиотек в зависимостях определенного бинарника
# ldd `which bash` /usr/local/bin/bash: libncurses.so.7 => /lib/libncurses.so.7 (0x28114000) libintl.so.9 => /usr/local/lib/libintl.so.9 (0x28153000) libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2815c000) libc.so.7 => /lib/libc.so.7 (0x28255000)
Для изменения стандартного времени таймера загрузчика с 10 секунд на одну, необходимо:
# echo 'autoboot_delay="1"' >> /boot/loader.conf
nohup — UNIX-утилита, запускающая указанную команду с игнорированием сигналов потери связи (hangup) и увеличением приоритета для планировщика задач на 5; таким образом, команда будет продолжать выполняться в фоновом режиме и после того, как пользователь выйдет из системы. nohup не переводит автоматически команду в фоновый режим; пользователь должен сделать это явным образом, завершив командную строку символом «&».
# nohup ping 1.2.3.4 > /dev/null &;
nice – понижение приоритета выполнение процесса(команды).
ps – вывод списка всех запущенных процессов.
ps — aux — вывод списка всех запущенных процессов.
sleep – задержка на указанное время. Остановиться на указанное ЧИСЛО секунд. СУФФИКС может принимать значения `s’ для секунд (по умолчанию), `m’ для минут, `h’ для часов и `d’ для дней. Хотя большинство реализаций требуют указания ЧИСЛА, как целого значения, здесь ЧИСЛО может быть числом с плавающей запятой.
[sleep 600; команда] – подождать 10 минут, прежде чем выполнить следующую команду.
usleep – задерживает выполнение операции на определенное количество микросекунд
top – вывод всех процессов удобным меню, которое обновляется через заданный промежуток времени.
watch – смотреть за другой терминальной линией
watch -W — разрешить запись наблюдаемым tty
watch -t — показать время с момента наблюдения за сеансом
control-G выход из watch
control-W очистить экран
date – системное время
# date 1203111413 (установит системную дату: 14 часов 13 минут 11 марта 2012 года)
cal – календарь на весь год
cal 2011 – календарь на 2011 год
cal –y – календарь на текущий год
ncal – календарь на месяц
