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

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

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

$ 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
zip, unzip
cpio
bzip2, bunzip2
gzip, gunzip
7z