Справочник команд Linux

1. Общие команды

# uname -a # Показать версию ядра Linux;
# lsb_release -a # На экран выводиться информация о версии операционной системы Debian и оснваных на ней дистрибутивах;
# cat /etc/SuSE-release # На экран выводится информация о версии операционной системы SuSE;
# man hier # Описание иерархии файловой системы (для чего нужна каждая директория в linux);
# clear # Очищение экрана терминала;
# wall Привет # Отправляет на терминалы других пользователей сообщение "Привет";
# date # Показывает текущую дату и время;
# cal -3 # Показывает в удобной форме предыдущий, текущий и последующий месяц (типо календарь);
# uptime # Показать текущее время и работу системы без перезагрузки и выключения;
# hostname # Показать сетевое имя компьютера;
# whois linux.org # Показать информацию о доменом имени linux.org;
# export http_proxy=http://your.proxy:port # Изменить переменной окружения http_proxy, для использования интернета через proxy-сервер;
# wget http://itshaman.ru/images/logo_white.png # Скачать файл http://itshaman.ru/images/logo_white.png в текущую папку;
# wget --convert-links -r http://www.linux.org/ # Копирование сайта целиком и конвертирование ссылок для автономной работы. Копирование происходит на 5 уровней в глубину;
# pppconfig # Создание и настройка Dial-Up соединения для выхода в Интернет по модему;
# pppoeconf # Создание и настройка выхода в Интернет через ADSL-модем;
# !! # Выполнить последнюю команду;
# history | tail -50 # Показать последние 50 набранных команд;
# exit # Завершить сеанс текущего пользователя;
# passwd # Меняет пароль текущего пользователя;
# shutdown -h now # Выход из Linux;
# poweroff # Выход из Linux;
# reboot # Перезагрузка системы;
# last reboot # Cтатистика перезагрузок;
# winecfg # Настройка Wine - НЕэмулятор WinAPI;
# host itshaman.ru # Показывает IP-адрес введенного сайта;

2. Работы с файлами и директориями

# pwd # Выводит текущий путь;
# ls # Выводит список файлов и каталогов по порядку;
# ls -laX # Выводит форматированный список всех файлов и директорий, включая скрытые;
# cd # Переход в домашнюю директорию;
# cd /home # Переход в директорию /home;
# touch /home/primer2 # Создание пустого файла /home/primer2;
# cat /home/primer2 # Показать содержимое файла /home/primer2;
# tail /var/log/messages # Выводит конец файла. Удобно при работе с логами и большими файлами;
# nano /home/primer2 # Редактирование файла /home/primer2;
# gedit /home/primer2 # Вторая команда Linux для редактирования файла;
# echo "Последняя строчка" | sudo tee -a /home/primer2 # Добавление к концу файла "Последняя строчка" в файл /home/primer2;
# cp /home/Mut@NT/primer.txt /home/primer.txt # Копирует /home/Mut@NT/primer.tx в home/primer.txt;
# ln -s /home/Mut@NT/primer.txt /home/primer # Cоздает символическую ссылку /home/primer к файлу /home/Mut@NT/primer.txt;
# mkdir /home/Mut@NT/shaman # Создание директории с именем shaman;
# rmdir /home/Mut@NT/shaman # Удаление директории с именем shaman;
# rm -rf /home/Mut@NT/shaman # Удаление директории с вложенными фалами;
# cp -la /dir1 /dir2 # Копирование директорий;
# mv /dir1 /dir2 # Переименование директории;
# du -sh /home/Mut@NT/ # Выводит на экран размер заданной директории. Можно использовать для определения размера файлов;
# locate primer # Поиск всех файлов с именем primer;

2.2 Права доступа
chmod octal file – сменить права file на octal,
раздельно для пользователя, группы и для всех
добавлением:

● 4 – чтение (r)
● 2 – запись (w)
● 1 – исполнение (x)

Примеры:

chmod 777 – чтение, запись, исполнение для всех
chmod 755 – rwx для владельца, rx для группы и
остальных.

Дополнительные опции: man chmod.

3.Работа с архивами

# tar cf primer.tar /home/primer.txt # Создать tar-архив с именем primer.tar содержащий /home/primer.txt;
# tar czf primer.tar.gz /home/primer.txt # Cоздать tar-архив с сжатием Gzip по имени primer.tar.gz;
# tar cjf primer.tar.bz2 /home/primer.txt # Cоздать tar-архив с сжатием Bzip2 по имени primer.tar.bz;
# tar xf primer.tar # Распаковать архив primer.tar в текущую папку;
# tar xzf primer.tar.gz # Распаковать tar-архив с Gzip;
# tar xjf primer.tar.bz # Распаковать tar-архив с Bzip2;

4.Установка программ

RPM – дистрибутивы

# rpm -qa # Показать список установленных пакетов RPM в системе;

DEB – дистрибутивы

# dpkg -l |more # Показать список установленных пакетов DEB в системе;
# apt-cache search имя пакета #  Ищет в индексах наличее доступного пакета и выводит на экран краткую информацию о нужном пакете (очень полезная команда для поиска и установки программ из консоли);
# apt-cache showpkg имя пакета # Полная информация о указанном пакете;
# [sudo] rpm -i pkgname.rpm # Установка RPM пакета pkgname.rpm;
# [sudo] rpm -e pkgname # Удаление RPM пакета pkgname;
# [sudo] dpkg -i *.rpm # Установка всех пакетов в директории;
# [sudo] apt-get update # Обновление списка доступных пакетов из Internet;
# [sudo] apt-get upgrade # Обновление доступной версии установленных пакетов в системе;
# [sudo] apt-get install pkgname # Установка DEB пакета pkgname;
# [sudo] apt-get remove pkgname # Удаление DEB пакета pkgname;
# [sudo] dpkg -i *.deb # Установка всех пакетов в директории;

5.Мониторинг работы и просмотр логов.

# top # Информация в реальном времени о загруженных процессах, потребление ОЗУ;
# htop # Более расширенная on line-статистика о загруженных процессах (разработчик http://htop.sourceforge.net);
# dmesg # Показывает log-файл загрузки ОС и нахождения новых устройств;
# mpstat 1 # Показывает расширенную статистику потребления ресурсов системы в процентах (для некоторых дистрибутивов необходима установка пакета sysstat);
# vmstat 2 # Показать расширенную статистику по использованию виртуальной памяти;
# iostat 2 # Показать расширенную статистику прерываний по устройствам;

6.Информация об устройствах.

# lsdev # информация об уже установленных устройствах (в некоторых дистрибутивах требует доставить пакет procinfo);
# cat /proc/cpuinfo # Показать полную информацию о модели процессора (частота, поддерживаемые инструкции и т.д.);
# cat /proc/meminfo # Показать расширенную информацию о занимаемой оперативной памяти (MemTotal, MemFree, Buffers, Cached, SwapCached,HighTotal, HighFree, LowTotal и т. д.);
# grep SwapTotal /proc/meminfo # Показать размер раздела выделенного под swap;
# watch -n1 'cat /proc/interrupts' # Показать информацию о прерываниях;
# free -m # Информация о используемой и свободной ОЗУ и Swap-файле (-m указывает, что отображать нужно в Мб);
# lshal # Показать список всех устройств и их параметров;
# cat /proc/devices # Показать все устройства в системе (названия взяты из директории /proc/devices);
# lspci -tv # Показать обнаруженные PCI-устройства;
# lsusb -tv # Показать обнаруженные USB-устройства;
# [sudo] dmidecode # Показать информацию о версии BIOS компьютера;
# gtf 1024 768 75 # Выводит строку ModeLine для Вашего монитора на параметрах экрана 1024x768x75Hz;

7.Жесткие диски и файловая система.

# fdisk -l # Информация о всех подключенных жестких и сменных дисках;
# [sudo] hdparm -I /dev/sda # Полная информация о IDE/ATA жестких дисках;
# smartctl -a /dev/sda1 # Выводит SMART-информацию о разделе жесткого диска /dev/sda1 (необходима установка пакета smartmontools);
# [sudo] blkid # Выводит UUID всех доступных накопителей информации в системе;

Производительность жесткого диска

# [sudo] hdparm -tT /dev/sda # Показывает производительность жесткого диска;

Монтирование разделов жесткого диска

# mount | column -t # Показывает полную информацию о примонтированных устройсвах;
# cat /proc/partitions # Показывает только примонтированные разделы жесткого диска;
# df # Показывает свободное место на разделах;
# [sudo] mount /dev/sda1 /mnt # Монтирует раздел /dev/sda1 к точке монтирования /mnt;
# [sudo] mount -t auto /dev/cdrom /mnt/cdrom # Монтирует большинство CD-ROM`ов;
# [sudo] mount /dev/hdc -t iso9660 -r /cdrom # Монтирует IDE CD-ROM;
# [sudo] mount /dev/scd0 -t iso9660 -r /cdrom # Монтирует SCSI CD-ROM;
# [sudo] mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt # Монтирование FreeBSD разделов в Linux;
# [sudo] mount -t smbfs -o username=vasja,password=pupkin //pup/Video # Монтирование сетевых ресурсов (SMB);
# [sudo] mount -t iso9660 -o loop /home/file.iso /home/iso # Монтирование ISO-образов;
# [sudo] mount /dev/sdb1 -t vfat -o rw /mnt # Монтирование раздел с файловой системой FAT 16/32 (к примеру USB-накопитель) к точки монтирования /mnt с возможностью записи;
# [sudo] umount /mnt # Отмонтирует раздел от точки монтирования /mnt;

8.Настройка сети.

Конфигурация сети

# ifconfig # Показать параметры всех сетевых;
# ifconfig eth0 # Показать параметры сетевого интерфейса eth0;
# [sudo] ethtool eth0 # Показывает состояние сетевого интерфейса eth0 (для некоторых дистрибутивов требуется установка пакета ethtool). Команда ethtool применяется только для проводных подключений, не работает с беспроводными интерфейсами;
# [sudo] ethtool -s eth0 speed 100 duplex full autoneg off # Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение;
# ifconfig eth0 192.168.50.254 netmask 255.255.255.0 # Задать основной IP адрес сетевому интерфейсу eth0;
# ip addr add 192.168.50.254/24 dev eth0 # Задать основной IP адрес сетевому интерфейсу eth0;
# ifconfig eth0:0 192.168.51.254 netmask 255.255.255.0 # Задать дополнительный IP адрес сетевому интерфейсу eth0;
# ip addr add 192.168.51.254/24 dev eth0 label eth0:1 # Задать дополнительный IP адрес сетевому интерфейсу eth0;
# [sudo] ifconfig eth0 up # Запустить сетевой интерфейс eth0;
# [sudo] ifconfig eth0 down # Отключить сетевой интерфейс eth0;
# ifconfig eth0 hw ether 00:01:02:03:04:05 # Смена MAC адреса;
# [sudo] /etc/init.d/dhcpd restart # Перезагрузка DHCP клиента;
# ping 192.168.0.2 # Проверка сетевого соединения. Пингуется IP адрес 192.168.0.2 (пинговать можно ya.ru);

Маршрутизация

# route -n # Выводит на экран таблицу маршрутизации;
# netstat -rn # Выводит на экран таблицу маршрутизации;

Управление портами (брандмауэр)Наверх

# netstat -an | grep LISTEN # Показывает список всех открытых портов;
# lsof -i # Показывает список всех открытых портов в сеть Internet;
# [sudo] netstat -tup # Активные соединения с интернетом;
# socklist # Показывает все открытые сокеты;
# [sudo] netstat -anp --udp --tcp | grep LISTEN # Список приложений, которые открывают порты;
# [sudo] iptables -L -n -v # Показывает статус firewall (статус iptables);
# [sudo] iptables -P INPUT ACCEPT # Открывает доступ ко всем портам;
# [sudo] iptables -P FORWARD ACCEPT # Открывает доступ ко всем портам;
# [sudo] iptables -P OUTPUT ACCEPT # Открывает доступ ко всем портам;
# [sudo] iptables -X # Удаляет все цепочки;

10.Пользователи и группы.

# id # Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);
# finger Faro # Показать информацию о пользователе Faro;
# last # Показывает последних зарегистрированных пользователей;
# who #  Показывает имя текущего пользователя и время входа;
# useradd Faro # Добавление нового пользователя Faro;
# groupadd Centos # Добавление группы Centos;
# userdel Faro # Удаление пользователя Faro;
# groupdel Centos # Удаление группы Centos;

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

# ps axjf # Показать все загруженные процессы;
# pgrep -l sshd # Показать PID определенного процесса – sshd;
# echo $$ # Показать PID вашей оболочки;
# fuser -va 22/tcp # Показать PID процесса использующий порт 22;
# fuser -va /home # Показывает PID процесса имеющего доступ к /home;
# lsof /home # Показывает список процессы, которые используют /home;
# killall 0 httpd # Выводит на экран текущее состояние процесса httpd;
# kil 4712 # «Убить» процесс с PID 4712;
# [sudo] killall TERM 4712 # Посылает процессу с PID`ом 4712 сигнал TERM - завершить процесс;
# [sudo] killall HUP httpd # Посылает процессу с именем httpd сигнал HUP - остановить процесс;
# [sudo] fuser -k -TERM -m /home # “Убить” все процессы имеющие доступ к /home;

Важные сигналы посылаемые процессам:

1 - HUP остановить процесс
2 - INT прервать процесс
3 - QUIT выйти
9 - KILL “убить” процесс
15 - TERM завершить процесс

12.Runlevels.
Runlevels – это целое число, которое определяет “уровень загрузки”.

“Уровни загрузки” бывают:

Runlevels=0 Выключение компьютера;
Runlevels=1 режим Single-User;
Runlevels=2 Текстовый режим без поддержки сети;
Runlevels=3 Текстовый режим с поддержкой сети;
Runlevels=4;
Runlevels=5 Графический режим;
Runlevels=6 Перезагрузка компьютера.

# chkconfig --list # Показывает список всех скриптов с соответствующими им Runlevels;
# chkconfig --list webmin # Показывает разрешенные Runlevels только отдельного скрипта, в нашем случае webmin;
# [sudo] chkconfig webmin --level 35 on # Добавление скрипту webmin Runlevels 3 и 5;

13.Работа с ядром и модулями.

# uname -a # Показать версию ядра Linux;

Работа с модулями ядра

# lsmod # Список всех модулей загруженных в ядро;
# [sudo] modprobe isdn # Загрузка модуля на примере isdn;
# make # Создание сжатого образа ядра системы;
# make modules # Компиляция модуля;
# [sudo] make modules_install # Установка модуля;
# [sudo] make install # Установка в ядро системы;

14.печать на принтере.

# export PRINTER=lbp2900 # Выбор принтера по-умолчанию. В примере выбран принтер Canon LBP-2900;
# lpr #2 name.txt # Распечатать на принтере Canon LBP-2900 две копии файла name.txt;
# lprm - # Удаление всех задач с принтера по-умолчанию;

Клавиатурные сочетания

Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg
на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! — повторить последнюю команду
exit – разлогиниться