Основные команды Linux

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

  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://your.site/images/logo_white.png — Скачать файл http://your.site/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 loginit.ru — Показывает IP-адрес введенного сайта;

  1. Команды 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/LoginIT/primer.txt /home/primer.txt — Копирует /home/LoginIT/primer.tx в home/primer.txt;

# ln -s /home/LoginIT/primer.txt /home/primer — Cоздает символическую ссылку /home/primer к файлу /home/LoginIT/primer.txt;

# mkdir /home/LoginIT/test — Создание директории с именем test;

# rmdir /home/LoginIT/test — Удаление директории с именем test;

# rm -rf /home/LoginIT/test — Удаление директории с вложенными фалами;

# cp -la /dir1 /dir2 — Копирование директорий;

# mv /dir1 /dir2 — Переименование директории;

# du -sh /home/LoginIT/ — Выводит на экран размер заданной директории. Можно использовать для определения размера файлов;

# locate primer — Поиск всех файлов с именем primer;

2.2 Права доступа

# [sudo] chmod 0777 /home/ — Изменение прав доступа к директории только для /home. 0777 – разрешение на чтение/запись/исполнение для всех групп;

# [sudo] chmod -R 0777 /home/ — Рекурсивное изменение прав доступа к директории /home. 777 – разрешение на чтение/запись/исполнение для всех групп. Все вложенные директории и файлы будут иметь права 0777;

# [sudo] chown LoginIT:Test /home/primer.txt — Изменение владельца и группы только для файла /home/primer.txt;

# [sudo] chown -R LoginIT /home/ — Изменение владельца для всего содержимого директории /home;

  1. Команды Linux: работа с архивами

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

  1. Команды 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 — Установка всех пакетов в директории;

  1. Команды Linux: мониторинг работы и просмотр логов.

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

# top — Информация в реальном времени о загруженных процессах, потребление ОЗУ;

# htop — Более расширенная on line-статистика о загруженных процессах (разработчик http://htop.sourceforge.net);

# dmesg — Показывает log-файл загрузки ОС и нахождения новых устройств;

# mpstat 1 — Показывает расширенную статистику потребления ресурсов системы в процентах (для некоторых дистрибутивов необходима установка пакета sysstat);

# vmstat 2 — Показать расширенную статистику по использованию виртуальной памяти;

# iostat 2 — Показать расширенную статистику прерываний по устройствам;

  1. Команды 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;

  1. Команды 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;

  1. Команды 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;

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

# cdrecord -scanbus — Показывает все доступные CD-ROM;

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

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

Команды Linux необходимые для работы с пользователями и группами пользователей.

# id — Показывает сводную информацию по текущему пользователю (логин, UID, GID, группы);

# finger LoginIT — Показать информацию о пользователе LoginIT;

# last — Показывает последних зарегистрированных пользователей;

# who — Показывает имя текущего пользователя и время входа;

# useradd LoginIT — Добавление нового пользователя LoginIT;

# groupadd LoginIT.ru — Добавление группы LoginIT.ru;

# usermod -a -G LoginIT.ru LoginIT — Добавляет пользователя LoginIT в группу LoginIT.ru (для Debian-подобных дистрибутивов);

groupmod -A LoginIT LoginIT.ru — Добавляет пользователя LoginIT в группу LoginIT.ru (SuSE);

# userdel LoginIT — Удаление пользователя LoginIT;

# groupdel LoginIT.ru — Удаление группы LoginIT.ru;

  1. Команды 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 завершить процесс
  1. Команды 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-подобных дистрибутивов);

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

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

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

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

# lsmod — Список всех модулей загруженных в ядро;

# [sudo] modprobe isdn — Загрузка модуля на примере isdn;

# make — Создание сжатого образа ядра системы;

# make modules — Компиляция модуля;

# [sudo] make modules_install — Установка модуля;

# [sudo] make install — Установка в ядро системы;

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

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

  1. Команды 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;

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

# export PRINTER=lbp2900 — Выбор принтера по-умолчанию. В примере выбран принтер Canon LBP-2900;

# lpr #2 name.txt — Распечатать на принтере Canon LBP-2900 две копии файла name.txt;

# lprm — — Удаление всех задач с принтера по-умолчанию;

Автор статьи: Mut@NT, Источник информации ITshaman.ru

Добавить комментарий