Сервисный центр Киев,ремонт компьютеров,ремонт ноутбуков,ремонт телефонов,компьютерное обслуживание,компьютерный сервис

Основные команды Linux - Справочник команд Линукс

Основные команды Linux - Справочник команд Линукс

В статье систематизирована информация об основных командах в Linux. Приведенные команды будут одинаково верно работать во многих дистрибутивах, таких как: ASPLinux, Debian, Gentoo, Ubuntu, ALTLinux и во многих других. Автором статьи преследовалась цель составления наиболее полного списка основных команд Linux`а, для более легкого и эффективного изучения этой операционной системы.

Все команды Linux `а разбиты на тематические разделы и подразделы, которые имеют краткие описания. Список команд линукса постоянно обновляется и дополняется.

Содержание
1. Общие команды Linux
2. Работы с файлами и директориями
2.1. Директории и файлы
2.2. Права доступа
3. Работа с архивами
4. Установка программ
4.1. Просмотр установленных пакетов
4.2. Установка и удаление пакетов
5. Мониторинг работы и просмотр логов
6. Информация об устройствах
7. Жесткие диски и файловая система
7.1. Информация о файловой системе и жестком диске
7.2. Производительность жесткого диска.
7.3. Монтирование разделов жесткого диска
8. Настройка сети
8.1. Конфигурация сети
8.2. Маршрутизация
8.3. Управление портами (брандмауэр)
8.4. Управление NAT
9. Создание и запись ISO образов
10. Пользователи и группы
11. Работа с процессами
12. Runlevels
13. Работа с ядром и модулями
13.1. Работа с ядром системы
13.2. Работа с модулями ядра
14. Работа с LiveCD
15. Конвертирование различной информации (видео, аудио, текст и т.д.)
15.1. Конвертирование текста
15.2. Конвертирование PDF в JPEG
15.3. Конвертирование видео
15.4. Конвертирование аудио
16. Печать на принтере
 

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

Linux команды, которым не нашлось место ни в каком другом разделе.
# 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. Команды Linux: работы с файлами и директориями

 


В этом разделе собраны команды Linux предназначенные для: создания и удаления файлов и директорий, команды навигации между ними и команды для назначения владельца и прав доступа.

2.1 Директории и файлы

# 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 Права доступа

# [sudo] chmod 0777 /home/
# Изменение прав доступа к директории только для /home. 0777 – разрешение на чтение/запись/исполнение для всех групп;
 
# [sudo] chmod -R 0777 /home/
# Рекурсивное изменение прав доступа к директории /home. 777 – разрешение на чтение/запись/исполнение для всех групп. Все вложенные директории и файлы будут иметь права 0777;
 
# [sudo] chown Mut@NT:ITShaman /home/primer.txt
# Изменение владельца и группы только для файла /home/primer.txt;
 
# [sudo] chown -R Mut@NT /home/
# Изменение владельца для всего содержимого директории /home;
 

 

 


# 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. Команды Linux: установка программ

 


4.1 Просмотр установленных пакетов

RPM - дистрибутивы
# rpm -qa
# Показать список установленных пакетов RPM в системе;
 
DEB - дистрибутивы
# dpkg -l |more
# Показать список установленных пакетов DEB в системе;
 
# apt-cache search имя пакета
# Ищет в индексах наличее доступного пакета и выводит на экран краткую информацию о нужном пакете (очень полезная команда для поиска и установки программ из консоли);
 
# apt-cache showpkg имя пакета
# Полная информация о указанном пакете;
 

4.2 Установка и удаление пакетов

RPM - дистрибутивы
# [sudo] rpm -i pkgname.rpm
# Установка RPM пакета pkgname.rpm;
 
# [sudo] rpm -e pkgname
# Удаление RPM пакета pkgname;
 
# [sudo] dpkg -i *.rpm
# Установка всех пакетов в директории;
 
DEB - дистрибутивы
# [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. Команды Linux: мониторинг работы и просмотр логов.

Команды Linux необходимые для мониторинга работы операционной системы. Все показания выводятся на экран в реальном времени. Число, стоящее после команды означает интервал между выводом информации.

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

6. Команды Linux: информация об устройствах.

# 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. Команды Linux: жесткие диски и файловая система.

 


7.1 Информация о файловой системе и жестком диске

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

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

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

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

# 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. Команды Linux: настройка сети.

 


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

# 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);
 

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

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

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

# 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
# Удаляет все цепочки;
 

8.4 Управление NAT

# [sudo] iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# "Поднятие" NAT на интерфейсе eth0;
 
# [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 20022 -j DNAT --to 192.168.16.44:22
# Перенаправление порта 20022, который использется для ssh;
 
# [sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 993:995 -j DNAT --to 192.168.16.254:993-995
# Перенаправление диапазона портов 993-995;
 
# iptables -L -t nat
# Проверка статуса NAT;
 

9. Команды Linux: создание и запись ISO образов.

# cdrecord -scanbus
# Показывает все доступные CD-ROM;
 
# dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc
#Создание ISO образов с диска CD-ROM;
 

10. Команды Linux: пользователи и группы.

Команды Linux необходимые для работы с пользователями и группами пользователей.
# id
# Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);
 
# finger Mut@NT
# Показать информацию о пользователе Mut@NT;
 
# last
# Показывает последних зарегистрированных пользователей;
 
# who
# Показывает имя текущего пользователя и время входа;
 
# useradd Mut@NT
# Добавление нового пользователя Mut@NT;
 
# groupadd ITShaman
# Добавление группы ITShaman;
 
# usermod -a -G ITShaman Mut@NT
# Добавляет пользователя Mut@NT в группу ITShaman (для Debian-подобных дистрибутивов);
 
groupmod -A Mut@NT ITShaman
# Добавляет пользователя Mut@NT в группу ITShaman (SuSE);
 
# userdel Mut@NT
# Удаление пользователя Mut@NT;
 
# groupdel ITShaman
# Удаление группы ITShaman;
 

11. Команды Linux: работа с процессами.

Все запущенные процессы имеют уникальные номера - PID.
# 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. Команды Linux: Runlevels.

После загрузки ядра Linux начинают загружаться различные демоны и программы, такие как NetworkManager, Evolution и т. д., результат которых мы видим у себя после загрузки на рабочем столе. Загрузка каждой службы осуществляется скриптом. Все скрипты лежат в /etc/init.d.

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

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

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

То есть скрипты, которые должны загружаться только в текстовом режиме с поддержкой сети, имеют Runlevels равный 3.

Более простой вариант настройки:
# [sudo] sysv-rc-conf
#Очень удобная настройка Runlevels (необходима установка пакета sysv-rc-conf);
 
Ручной вариант настройки:
# chkconfig --list
# Показывает список всех скриптов с соответствующими им Runlevels;
 
# chkconfig --list udev
# Показывает разрешенные Runlevels только отдельного скрипта, в нашем случае udev;
 
# [sudo] update-rc.d udev defaults
# Выставление скрипту udev значений Runlevels по-умолчанию (для Debian-подобных дистрибутивов);
 
# [sudo] chkconfig udev --level 35 on
# Добавление скрипту udev Runlevels 3 и 5;
 
# [sudo] update-rc.d udev start 20 2 3 4 5 . stop 20 0 1 6
# Изменить параметры для скрипта udev (для Debian-подобных дистрибутивов);
 
# [sudo] chkconfig udev off
# Отключение у udev всех Runlevels;
 
# [sudo] update-rc.d -f udev remove
# Отключение у udev всех Runlevel (для Debian-подобных дистрибутивов);
 

13. Команды Linux: Работа с ядром и модулями.

 


13.1 Работа с ядром системы

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

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

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

14. Команды Linux: работа с LiveCD.

# [sudo] chroot /mnt
# смена root-окружения на /mnt. После этого коневой раздел, примонтировнный к /mnt, будет использоваться как родной;
 

15. Команды Linux: конвертирование различной информации;

 


15.1 Конвертирование текста

# iconv -l
# Выводит список всех доступных кодировок;
 
# iconv -f cp1251 -t UTF-8 file_cp1251.txt -o file_utf8.txt
# Смена кодировки. Был файл file_cp1251.txt с кодировкой cp1251, а в итоге получился файл file_utf8.txt с кодировкой utf8;
 

15.2 Конвертирование PDF в JPEG

# convert name.pdf name-%03d.jpg
# Конвертируется name.pdf в постраничные JPEG изображения (в некоторых дистрибутивах необходимо установить пакет imagemagick);
 
# convert *.jpeg name.pdf
# Конвертируются JPEG изображения в PDF (в некоторых дистрибутивах необходимо установить пакет imagemagick);
 

15.3 Конвертирование видео

# mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts vcodec=msmpeg4v2:vbitrate=600 -mc 0 vidoein.AVI

15.4 Конвертирование аудио

# cdparanoia -B
# Копирование треков с AudioCD в текущую директорию wav-файлами;
 
# lame -b 256 in.wav out.mp3
# Конвертирование wav-файлов в mp3 с качеством 256 kb/s;
 
# oggenc in.wav -b 256 out.ogg
# Конвертирование wav-файлов в Ogg Vorbis с качеством 256 kb/s;
 

16. Команды Linux: печать на принтере.

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

 

 

ИСТОЧНИК:
http://itshaman.ru

 

Публикации или полезно знать