Основные команды администрирования linux

Простые команды, которые помогут автоматизировать некоторые рутинные операции, возникающие при администрирование сервера, ускорить и облегчить работу администратора.

maninfo — пожалуй, самые полезные команды для новичка. Служат для вызова справки. например:

$ man man
$ man cp
$ info sed

Команды получения информации о системе:

uname — выводит информацию о системе

$ uname -a
Linux sandbox 2.6.29-gentoo-r3 #2 PREEMPT Tue May 26 22:19:41 MSD 2009 x86_64 AMD
 Sempron(tm) Processor 3000+ AuthenticAMD GNU/Linux

uptime — показывает как долго система работает без перезагрузок, а также количество пользователей и среднюю загрузку за 1,5 и 15 минут

$ uptime
04:35:36 up 7 days, 13:24,  8 users,  load average: 0.00, 0.02, 0.02

hostname — выводит имя хоста
arch — показывает архитектуру (то же что и ‘uname -m’)
date — выводит дату.

$ date
Птн Июн 19 04:41:41 MSD 2009
$ date +%F
2009-06-19
$date +%s
1245372182

pwd — печатает имя текущей директории
tty — печатает имя терминала, связанного со стандартным вводом.

Основные операции

cd — смена рабочей директории‘cd'(без аргументов) — меняет директорию на домашний каталог‘cd -‘ переход в предыдущую директорию и печать ее имени‘cd /var/log’ — перейти в /var/log

ls — выдаёт список содержимого директории.‘ls -la’ — подробный список, включая скрытые файлы(имена которых начинаются с точки)

cp — копирование файлов и директорий.‘cp -t dir f1 f2 f3’ — скопировать файлы f1,f2, f3 в директорию dir

dd — копирование и изменение файлов.‘dd if=/dev/zero of=./zero bs=1K count=1024’ — создать файл, заполненный нулями, размером 1 мегабайт

$ dd if=/dev/zero of=./zero bs=1K count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB) copied, 0.0129177 s, 81.2 MB/s

‘dd if=/dev/sda of=./boot count=1 bs=512’ — скопировать бут-сектор диска в файл boot

$ dd if=/dev/sda of=./boot count=1 bs=512
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0127466 s, 40.2 kB/s

mv — перемещает файлы и каталоги
rm — удаляет файлы и каталоги.‘rm -rf ./temp/’ — удалить каталог temp со всем его содержимым из текущей директории

Мониторинг использования диска

du — оценивает используемое файлами пространство.

$ du -sh .
6.9G .

df — показывает использование место файловых систем

$ df -h /var
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5             9.9G  3.2G  6.3G  34% /var

Операции с файлами

file — определяет тип файла.

$ file /etc/passwd
/etc/passwd: ASCII text

mkdir — создаёт директории.‘mkdir -p ./d1/d2/d3 — создать структуру вложенных каталогов

ln — создаёт ссылку на файл

Жёсткая ссылка

$ :>test
$ ls -l test
-rw-r--r-- 1 user1 users 0 Июн 19 05:22 test
$ ln test test.lnk
$ ls -l test test.lnk
-rw-r--r-- 2 user1 users 0 Июн 19 05:22 test
-rw-r--r-- 2 user1 users 0 Июн 19 05:22 test.lnk

символическая ссылка

$ :>test
$ ls -l test
-rw-r--r-- 1 user1 users 0 Июн 19 05:22 test
$ ln -s test test.lnk
$ ls -l test test.lnk
-rw-r--r-- 1 user1 users 0 Июн 19 05:22 test
lrwxrwxrwx 1 user1 users 4 Июн 19 05:22 test.lnk -> test

touch — меняет время последнего доступа к файлу(или создаёт пустой файл)
chmod — изменяет права доступа к файлу.

$ ls -l test
-rw-r--r-- 2 user1 users 0 Июн 19 05:22 test
$ chmod 0400 test
$ ls -l test
-r-------- 2 user1 users 0 Июн 19 05:22 test

chown — меняет владельца файла

$ ls -l test
-r-------- 2 user1 users 0 Июн 19 05:22 test
$ chown www:www test
$ ls -l test
-r-------- 2 www www 0 Июн 19 05:22 test

echo — выводит строку текста на стандартный вывод
yes — запускает бесконечный цикл в котором выводит на стандартный вывод строку
chroot — изменяет корневую директорию для команды
wc — выводит количество строк, слов и байт для текстовых файлов.

$ sudo wc -l /var/log/messages
1073101 /var/log/messages
ls -lh /var/log/messages
-rw------- 1 root root 78M Июн 19 05:52 /var/log/messages

find — поиск файлов‘find . -name Thumbs.db -exec rm {} \;’ — найти и удалить все файлы Thumbs.db

cat — объединяет файлы и выводит их на стандартный вывод‘cat file1 file2 > file3’ — объединить file1 и file2 в файл file3

less — команда позволяет просматривать текстовые файлы, перемещаясь как вперёд так и назад
tail — выводит последнюю часть файла.‘tail -n20 file’ — вывести последние 20 строк file

head — выводит первую часть файла.‘head -n10 file’ — выводит первые 10 строк file

sort — сортирует строки
uniq — показывает или пропускает повторяющиеся строки при выводе текстового файла
grep — поиск текста.

$ grep sshd /etc/group
sshd:x:22:
cat /etc/group|grep sshd
sshd:x:22:

sed — построчный редактор.sed -i -e ‘s/qwe/asd/g’ file — заменть все слова qwe на asd в файле file

awk — язык построчный обработки и разбора входного потока (например, текстового файла) по заданным шаблонам.netstat -nt | awk ‘{print $5}’ — вывести пятую колонку результатов netstat -tn


su — изменяет идентификатор пользователя
sudo — выполняет команду от имени другого пользователя‘sudo -i’ — перейти в интерактивный режим

информация о пользователях

id — выводит эффективный и действительный uid и gid
who — показывает имена пользователей, находящихся в системе
whoami — выводит эффективный uid
groups — выводит список групп в которых состоит пользователь.

Работа с процессами

kill — посылает сигнал процессу‘kill -15 1234’ — послать сигнал TERM процессу с id=1234

nice — запускает программу с измененным приоритетом
nohup — запускает команду устойчивую к сигналу SIGHUP
sleep — задержка на указанный промежуток времени

Информация о процессах

ps — выводит список процессов‘ps -ef’ — подробный список всех процессов‘ps -a’ — список процессов, кроме несвязанных с терминалом и лидеров сессий

pgrep — поиск идентификатора процесса

$ pgrep mysql
4852
$ps -fp4852
UID        PID  PPID  C STIME TTY          TIME CMD
mysql     4852     1  0 Jun11 ?        00:00:03 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf
 --basedir=/usr --datadir=/var/lib

top — показывает динамически в режиме реального времени список процессов и некоторую системную информацию. Процессы можно сортировать по количеству потребляемой памяти, загрузке процессора и т.д.
free — показывает количество свободной и используемой памяти в системе

$ free -m
             total       used       free     shared    buffers     cached
Mem:           498        491          6          0         23        158
-/+ buffers/cache:        309        188
Swap:         1035        190        844

Работа с сетью

netstat — показывает таблицу маршрутизации, сетевые соединения, статистику по интерфейсам
ifconfig — конфигурирует сетевые интерфейсы‘ifconfig -a’ — показать все доступные интерфейсы

Архиваторы

tar
zipunzip
cpio
bzip2bunzip2
gzipgunzip
7z