Поиск по этому блогу

вторник, 14 июня 2011 г.

Команды FreeBSD

alias -это команда, которая позволят создавать алиасы для набора команд
пример: ps -waux показывает все запущенные процессы, что бы постоянно не добавлять "-waux", можно сделать так alias ps='ps -waux', удалить alias можно командой: unalias ps

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 – осуществляющая математические проверки, проверки на существование файловых объектов и равенство строк, в зависимости от результата сравнения  возвращает либо ноль, либо единицу (ложь)
пример:test -d /usr/ports echo "найдено дерево портов" || echo "Дерево портов не найдено"

umask – получение или установка маски режима создания файлов, она задает какие биты прав доступа НЕ надо ставить при создании файла. Если необходимо, чтобы у категории "все остальные" вообще не было никаких прав, а "группе допущенных" не ставился бит разрешающий запись, то umask должна выглядеть как 027



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, а также о домашнем каталоге пользователя, домашнем номере телефона, командной оболочке, наличии почты


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 - Просмотреть список всех груп.

одна из важнейших программ во FreeBSD
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. Для других системных вызовов, которые зависят и различаются для разных операционных систем, может осуществляться работа как с самой символьной ссылкой, так и с файлом, на который она указывает.)

mkdir – создать паку.
mkdir папка1 папка2 – создать две папки в данной директории.
mkdir -p /tmp/папка1/папка2/папка3/папка4 – создать полный путь.


mv – переименовывание файла, или перемещение в другой каталог.
mv –i file1 /home/user1 – перемещение файла file1 в папку user1, при этом если файл user1 уже существует, нужно дубет подтвердить замену.

rm – удалить указанный файл.
rm –rf – удалить директорию и все файлы которые находятся в ней
rmdir – удалить пустую директорию.

touch имя_файла – создать файл


 chkgrp - проверяет файл /etc/group на ошибки, если все хорошо в ответ будет следующее
# chkgrp
/etc/group is fine



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 – изменение группы пользователя.

file – вывод типа заданного файла

sum – вычисление контрольной суммы файла и его размера в блоках.

wc – подсчет количества строк в заданном файле
wc –c file -вывод только количества символов
wc –I file -вывод только количества строк
wc –w file - вывод только количества слов

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 файлы и выдать им права

which – поиск бинарных файлов

whereis – быстрый поиск папок и бинарных файлов.
make search name=”название” – удобный поиск портов, по их названию. При этом будут выведены все найденные варианты с описанием порта, полным названием, адресом, официальным сайтом разработчиков и зависимостями, необходимо находиться в директории /usr/ports/

 locate - позволяет искать файлы в индексированной базе данных обновление базы данных производится программой locate.updatedb


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 имя_файла


lp –
lpq –
lprm –
lpstat –
lptest –
cancel –
pr –


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 очистить экран


halt – переход в «спящий режим».
reboot – перезагрузка системы [Ctrl+Alt+Del]
init 0 – весьма неправильное выключение компьютера
shutdown – выключение компьютера
shutdown –h час:минута  – в какое время выключить компьютер
shutdown –c  – отключить запланированное выключение компьютера
shutdown –r now – немедленная перезагрузка компьютера
shutdown –p now – немедленное выключение компьютера
logout – выход из учетной записи. [Ctrl+D]

uname - сообщает информацию о данном компьютере и операционной системе
uname –r – архитектура
uname –m – версия ядра

date – системное время
date 1203111413 установит системную дату: 14 часов 13 минут 11 марта 2012 года

cal – календарь на весь год
cal 2011 – календарь на 2011 год
cal –y – календарь на текущий год
ncal – календарь на месяц

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 имя_протокола - ограничить показ статистики или адресов управляющих блоков только протоколом с указанным именем_протокола

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 &;



3 комментария:

  1. Спасибо за познавательный пост

    ОтветитьУдалить
  2. алиасы для команд в 9.3
    alias ps ps -waux

    ОтветитьУдалить
  3. Может быть, этот список составлялся еще для FreeBSD 7.2, так что некоторые команды могут быть немного не актуальны

    ОтветитьУдалить