Linux Commands and Shells »Linux Command Structure

Linux Shell Commands is a quick reference guide, including the most essential set of commands used in Linux, widely based on RHEL / CentOS. The commands are divided into 15 sections with a description of each command. PDF format of all these commands is available for download. Let us know if you have any comments or corrections.

You can navigate to each section using the index below. If you feel that it is difficult to understand some commands, please let us know.

  1. System

  2. Hardware

  3. Statistics

  4. Users

  5. File processing commands

  6. Process related

  7. File Resolution

  8. Net

  9. Compression / Archives

  10. Installing packages

  11. Search

  12. Login (SSH and Telnet)

  13. File transfer

  14. Disk usage

  15. Moving through directories

1. System

$ uname -a => Отображение системной информации linux

$ uname -r => Отображение версии ядра

$ cat /etc/redhat_release => Показать установленную версию redhat

$ uptime => Показать как долго работает система + загружается

$ hostname => Показать системное имя хоста

$ hostname -i => Показать IP address хоста

$ last reboot => Показать историю системных перезагрузок

$ date => Показать текущие дату и время

$ cal => Показать календарь

$ w => Показать, сколько вы онлайн

$ whoami => Кто вошел в систему

$ finger user => Отображение информации о пользователе

2. Hardware

$ dmesg => Обнаруженное оборудование и сообщения загрузки

$ cat /proc/cpuinfo => Тип процессора

$ cat /proc/meminfo => Аппаратная память

$ cat /proc/interrupts => Списки количества прерываний процессора в I/O device

$ lshw => Отображает информацию о конфигурации системы

$ lsblk => Отображает блок связанных устройств в Linux

$ free -m => Показывает свободную память (-m for MB)

$ lspci -tv => Показывает оборудование PCI

$ lsusb -tv => Показывает оборудование USB

$ lshal => Показать список всех устройств и их свойств

$ dmidecode => Показать информацию оборудования из BIOS

$ hdparm -i /dev/sda #Показать информацию о диске sda

$ hdparm -tT /dev/sda #Сделать тест на скорость чтения на диске sda

$ badblocks -s /dev/sda #Тест на нечитаемые блоки на диске sda

3. Statistics

$ top => Отображение и обновление процессов CPU

$ mpstat 1 => Показать статистику взаимосвязанных процессов

$ vmstat 2 => Отображать статистику виртуальной памяти

$ iostat 2 => Показать статистику I/O (2sec Intervals)

$ tail -n 500 /var/log/messages => Последние 10 сообщений kernel/syslog

$ tcpdump -i eth1 => Захватить все потоки пакетов на интерфейсе eth1

$ tcpdump -i eth0 'port 80' => Показать весь трафик на порту 80 ( HTTP )

$ lsof => Вывести список всех открытых файлов относящихся к всем активным процессам.

$ lsof -u testuser => Список файлов открытых конкретным пользователем

$ free -m => Показать объем оперативной памяти

$ watch df -h => Смотреть изменяемые данные непрерывно

4. Users

$ id => Показать активный идентификатор пользователя с логином и группу

$ last => Показать последний вход в систему

$ who => Показать, кто вошел в систему

$ groupadd admin => Добавить группу "admin"

$ useradd -c "andreyex" -g admin -m sam => Создать пользователя "andreyex"  и добавить в группу "admin"

$ userdel andreyex => Удалить пользователя andreyex

$ adduser andreyex => Добавить пользователя "andreyex"

$ usermod => Изменить информацию о пользователе

5. Commands for processing files

$ ls -al => Display all information about files/ directories

$ pwd => Показать путь текущего каталога

$ mkdir directory-name => Создать каталог

$ rm file-name => Удалить файл

$ rm -r directory-name => Удалить рекурсивно каталог

$ rm -f file-name => Принудительное удаление файлов

$ rm -rf directory-name => Принудительно удалить каталог рекурсивно

$ cp file1 file2 => Копировать file1 в file2

$ cp -r dir1 dir2 => Копировать dir1 в dir2, создать dir2 если он отсутствует

$ mv file1 file2 => Перемещать файлы из одного места в другое

$ ln -s /path/to/file-name link-name => Создать символическую ссылку для file-name

$ touch file => Создать или обновить файл

$ cat > file => Место стандартного ввода в файл

$ more file => Вывести содержимое файла

$ head file =>Вывести первые 10 строк файла

$ tail file => Вывести последние 10 строк файла

$ tail -f file => Вывести содержимое файла, как он растет, начиная с последних 10 строк

$ gpg -c file => Зашифровать файл

$ gpg file.gpg => Дешифровать файл

6. Process related

$ ps # Показать ваши текущие активные процессы

$ ps aux | grep 'telnet' # Найти все ID процесса, связанные с процессом телнет

$ pmap # Карта памяти процесса

$ top # Отображает все запущенные процессы

$ kill pid # Убить процесс с pid id

$ killall proc # Убить все процессы с именем proc

$ pkill processname # Послать сигнал процессу с его именем

$ bg # Возобновляет приостановленную задачу, не выводя их на экран

$ fg # Показывает самые последние задачи на переднем плане

$ fg n # Выносит задание N на передний план

7. File resolution

$ chmod octal file-name # Измените разрешения файла в восьмеричном, которые могут быть найдены отдельно для пользователя, группы и остальных восьмеричным значением
4 - чтение 2 - запись 1 - запуск 

Примеры

$ chmod 777 /data/tests.c # Установить rwx разрешение для владельца, rwx разрешение для группы, rwx разрешение для мира

$ chmod 755 /data/tests.c # Установить rwx разрешение для владельца,rx для группы и мира

$ chown owner-user file # Сменить владельца файла

$ chown owner-user:owner-group file-name # Сменить владельца и группы владельца файла

$ chown owner-user:owner-group directory # Сменить владельца и группы владельца каталога

$ chown andrey:andreyex tests.txt

$ ls -l tests.txt -rw-r--r-- 1 andrey andreyex 0 Jan 14 18:42 tests.txt

8. Network

$ ifconfig -a # Отобразить все сетевые порты и IP-адрес

$ ifconfig eth0 # Показать конкретный порт ethernet port ip адрес и детали

$ ip addr show # Показать все интерфейсы сети и все ip адреса

$ ip address add 192.168.0.1 dev eth0 # Указать ip адреса

$ ethtool eth0 # Linux инструмент для показа состояния сети ethernet

$ mii-tool eth0 # Linux инструмент для показа состояния сети ethernet

$ ping host # Отправить эхо запрос для проверки связи

$ whois domain # Взять who is информацию о домене

$ dig domain # Взять из DNS информацию о домене

$ dig -x host # Обратный поиск host

$ host google.com # DNS запрос ip адреса по имени

$ hostname -i # Поиск локального IP адреса

$ wget file # Скачать файл

$ netstat -tupl # Вывести список всех активных портов(tcp, udp, pid)

9. Compression / Archives

$ tar cf home.tar home # Создать архив tar с именем home.tar в папке home

$ tar xf file.tar # Разархивировать файлы из file.tar

$ tar czf file.tar.gz files # Создать архив tar с компрессией gzip

$ gzip file # Сжать файлы и переименовать в file.gz

10. Installing packages

$ rpm -i pkgname.rpm # Установка базовых rpm пакетов (Installing, Uninstalling, Updating, Querying ,Verifying)

$ rpm -e pkgname # Удаление пакета
Install from source 
./configure 
make 
make install

$ grep pattern files  # Поиск шаблона в файлах

$ grep -r pattern dir  # Поиск рекурсивно для шаблона в директории

$ locate file # Найти все экземпляры файла

$ find /home/tom -name 'index*' # Найти файлы имен, которые начинаются с "index"

$ find /home -size +10000k  # Найти файлы больше, чем 10000K в папке /home

12. Login (SSH and Telnet)

$ ssh [email protected] # Подключиться к узлу сети в качестве пользователя

$ ssh -p port [email protected] # Подключаться к узлу сети используя определенный порт

$ telnet host # Подключение к системе с помощью порта telnet

13. File transfer

scp
$ scp file.txt server2:/tmp # Копировать файл file.txt в удаленную папку хоста /temp

$ scp [email protected]:/www/*.html /www/tmp # Копировать * .html файлы с удаленного хоста в каталог /www/tmp

$ scp -r [email protected]:/www /www/tmp # Скопируйте все файлы и папки рекурсивно с удаленного сервера в текущую систему /www/tmp

rsync
$ rsync -a /home/apps /backup/ # Синхронизировать источник и место назначения

$ rsync -avz /home/apps [email protected]:/backup  # Синхронизировать файлы и каталоги между локальной и удаленной системой с включенным сжатием

14. Using discs

$ df -h # Показать свободное место на смонтированных файловых системах

$ df -i # Показать свободные индексные дескрипторы на смонтированных файловых системах

$ fdisk -l # Показать размеры разделов дисков и типы

$ du -ah # использование Дисплей диска в читабельной форме

$ du -sh # использование общей сложности на диске Показать на текущем каталоге

$ findmnt # Отображает целевой точки монтирования файловой системы для всех

$ mount device-path mount-point # смонтировать устройство

15. Moving through directories

$ cd.. # Для перехода на один уровень вверх в дереве каталогов

$ cd # Перейти в домашнюю директорию

$ cd /test # Переход в каталог /test
Sidebar