Linux > Основные команды администрирования linux
29.03.2016 12:06:41
Наиболее часто встречающиеся слова в статье:
[выводит] [показывает] [-rw-r--r--] [системе] [директории] [директорию] [records] [команды] [количество] [создаёт]
Статья:
Простые команды, которые помогут автоматизировать некоторые рутинные операции, возникающие при администрирование сервера, ускорить и облегчить работу администратора.
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