Общие команды 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-адрес введенного сайта;
Команды Linux: работы с файлами и директориями # 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;
# chmod 0777 /home/ Изменение прав доступа к директории только для /home. 0777 – разрешение на чтение/запись/исполнение для всех групп;
# chmod -R 0777 /home/ Рекурсивное изменение прав доступа к директории /home. 777 – разрешение на чтение/запись/исполнение для всех групп. Все вложенные директории и файлы будут иметь права 0777;
# chown Mut@NT:ITShaman /home/primer.txt Изменение владельца и группы только для файла /home/primer.txt;
# 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;
Команды Linux: установка программПросмотр установленных пакетовRPM - дистрибутивы# rpm -qa Показать список установленных пакетов RPM в системе;
# yum list имя_пакета Ищет в индексах наличее доступного пакета и выводит на экран краткую информацию о нужном пакете (очень полезная команда для поиска и установки программ из консоли);
# yum search имя_пакета Ищет в индексах наличее доступного пакета и выводит на экран краткую информацию о нужном пакете (очень полезная команда для поиска и установки программ из консоли);
# yum info пакет - полная информация о пакета
DEB - дистрибутивы# dpkg -l |more Показать список установленных пакетов DEB в системе;
# apt-cache search имя пакета Ищет в индексах наличее доступного пакета и выводит на экран краткую информацию о нужном пакете (очень полезная команда для поиска и установки программ из консоли);
# apt-cache showpkg имя пакета Полная информация о указанном пакете;
Установка и удаление пакетовRPM - дистрибутивы# rpm -i pkgname.rpm
# rpm -Uhv pkgname.rpm Установка (второе установка или обновление, если пакет уже был установлен) RPM пакета pkgname.rpm;
# rpm -e pkgname Удаление RPM пакета pkgname;
# dpkg -i *.rpm Установка всех пакетов в директории (применяется крайне редко);
# yum install pkgname Установка RPM-пакета pkgname с разрешением зависимостей из репозиториев
# apt-get install pkgname Установка RPM-пакета pkgname с разрешением зависимостей из репозиториев apt (для дистрибутивов типа AltLinux)
DEB - дистрибутивы# apt-get update Обновление списка доступных пакетов из Internet;
# apt-get upgrade Обновление доступной версии установленных пакетов в системе;
# apt-get install pkgname Установка DEB пакета pkgname;
# apt-get remove pkgname Удаление DEB пакета pkgname;
# dpkg -i *.deb Установка всех пакетов в директории;
Команды Linux: мониторинг работы и просмотр логов. # top Информация в реальном времени о загруженных процессах, потребление ОЗУ;
# htop Более расширенная on line-статистика о загруженных процессах (разработчик
http://htop.sourceforge.net);# dmesg Показывает log-файл загрузки ОС и нахождения новых устройств;
# mpstat 1 Показывает расширенную статистику потребления ресурсов системы в процентах (для некоторых дистрибутивов необходима установка пакета sysstat);
# vmstat 2 Показать расширенную статистику по использованию виртуальной памяти;
# iostat 2 Показать расширенную статистику прерываний по устройствам;
Команды 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-устройства;
# dmidecode Показать информацию о версии BIOS компьютера;
# gtf 1024 768 75 Выводит строку ModeLine для Вашего монитора на параметрах экрана 1024x768x75Hz;
Команды Linux: жесткие диски и файловая система. # fdisk -l Информация о всех подключенных жестких и сменных дисках;
# hdparm -I /dev/sda Полная информация о IDE/ATA жестких дисках;
# smartctl -a /dev/sda1 Выводит SMART-информацию о разделе жесткого диска /dev/sda1 (необходима установка пакета smartmontools);
# blkid Выводит UUID всех доступных накопителей информации в системе;
# hdparm -tT /dev/sda Показывает производительность жесткого диска;
# mount | column -t Показывает полную информацию о примонтированных устройсвах;
# cat /proc/partitions Показывает только примонтированные разделы жесткого диска;
# df Показывает свободное место на разделах;
# mount /dev/sda1 /mnt Монтирует раздел /dev/sda1 к точке монтирования /mnt;
# mount -t auto /dev/cdrom /mnt/cdrom Монтирует большинство CD-ROM`ов;
# mount /dev/hdc -t iso9660 -r /cdrom Монтирует IDE CD-ROM;
# mount /dev/scd0 -t iso9660 -r /cdrom Монтирует SCSI CD-ROM;
# mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt Монтирование FreeBSD разделов в Linux;
# mount -t smbfs -o username=vasja,password=pupkin //pup/Video Монтирование сетевых ресурсов (SMB);
# mount -t iso9660 -o loop /home/file.iso /home/iso Монтирование ISO-образов;
# mount /dev/sdb1 -t vfat -o rw /mnt Монтирование раздел с файловой системой FAT 16/32 (к примеру USB-накопитель) к точки монтирования /mnt с возможностью записи;
# umount /mnt Отмонтирует раздел от точки монтирования /mnt;
Команды Linux: настройка сети. # ifconfig Показать параметры всех сетевых;
# ifconfig eth0 Показать параметры сетевого интерфейса eth0;
# ethtool eth0 Показывает состояние сетевого интерфейса eth0 (для некоторых дистрибутивов требуется установка пакета ethtool). Команда ethtool применяется только для проводных подключений, не работает с беспроводными интерфейсами;
# 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;
# ifconfig eth0 up Запустить сетевой интерфейс eth0;
# ifconfig eth0 down Отключить сетевой интерфейс eth0;
# ifconfig eth0 hw ether 00:01:02:03:04:05 Смена MAC адреса;
# /etc/init.d/dhcpd restart Перезагрузка DHCP клиента (в RPM-дистрибутивах типа Fedora, AltLinux вместо этого можно запускать service dhcpd restart);
# ping 192.168.0.2 Проверка сетевого соединения. Пингуется IP адрес 192.168.0.2 (пинговать можно ya.ru);
# route -n Выводит на экран таблицу маршрутизации;
# netstat -rn Выводит на экран таблицу маршрутизации;
# netstat -an | grep LISTEN Показывает список всех открытых портов;
# lsof -i Показывает список всех открытых портов в сеть Internet;
# netstat -tup Активные соединения с интернетом;
# socklist Показывает все открытые сокеты;
# netstat -anp --udp --tcp | grep LISTEN Список приложений, которые открывают порты;
# iptables -L -n -v Показывает статус firewall (статус iptables);
# iptables -P INPUT ACCEPT Открывает доступ ко всем портам;
# iptables -P FORWARD ACCEPT Открывает доступ ко всем портам;
# iptables -P OUTPUT ACCEPT Открывает доступ ко всем портам;
# iptables -X Удаляет все цепочки;
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE "Поднятие" NAT на интерфейсе eth0;
# iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 20022 -j DNAT --to 192.168.16.44:22 Перенаправление порта 20022, который использется для ssh;
# 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;
Команды Linux: создание и запись ISO образов. # cdrecord -scanbus Показывает все доступные CD-ROM;
# dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc Создание ISO образов с диска CD-ROM;
Команды 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;
Команды Linux: работа с процессами. # 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;
# killall TERM 4712 Посылает процессу с PID`ом 4712 сигнал TERM - завершить процесс;
# killall HUP httpd Посылает процессу с именем httpd сигнал HUP - остановить процесс;
# fuser -k -TERM -m /home “Убить” все процессы имеющие доступ к /home;
Важные сигналы посылаемые процессам:
* 1 - HUP остановить процесс
* 2 - INT прервать процесс
* 3 - QUIT выйти
* 9 - KILL “убить” процесс
* 15 - TERM завершить процесс
Команды 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.
Более простой вариант настройки:
# sysv-rc-conf Очень удобная настройка Runlevels (необходима установка пакета sysv-rc-conf);
Ручной вариант настройки:
# chkconfig --list Показывает список всех скриптов с соответствующими им Runlevels;
# chkconfig --list udev Показывает разрешенные Runlevels только отдельного скрипта, в нашем случае udev;
# update-rc.d udev defaults Выставление скрипту udev значений Runlevels по-умолчанию (для Debian-подобных дистрибутивов);
# chkconfig udev --level 35 on Добавление скрипту udev Runlevels 3 и 5;
# update-rc.d udev start 20 2 3 4 5 . stop 20 0 1 6 Изменить параметры для скрипта udev (для Debian-подобных дистрибутивов);
# chkconfig udev off Отключение у udev всех Runlevels;
# update-rc.d -f udev remove Отключение у udev всех Runlevel (для Debian-подобных дистрибутивов);
Команды Linux: Работа с ядром и модулями. # uname -a Показать версию ядра Linux;
# lsmod Список всех модулей загруженных в ядро;
# modprobe isdn Загрузка модуля на примере isdn;
# make Создание сжатого образа ядра системы;
# make modules Компиляция модуля;
# make modules_install Установка модуля;
# make install Установка в ядро системы;
Команды Linux: работа с LiveCD. #chroot /mnt смена root-окружения на /mnt. После этого коневой раздел, примонтировнный к /mnt, будет использоваться как родной;
Команды Linux: конвертирование различной информации. # iconv -l Выводит список всех доступных кодировок;
# iconv -f cp1251 -t UTF-8 -o file_cp1251.txt > file_utf8.txt Смена кодировки. Был файл file_cp1251.txt с кодировкой cp1251, а в итоге получился файл file_utf8.txt с кодировкой utf8;
# convert name.pdf name-%03d.jpg Конвертируется name.pdf в постраничные JPEG изображения (в некоторых дистрибутивах необходимо установить пакет imagemagick);
# convert *.jpeg name.pdf Конвертируются JPEG изображения в PDF (в некоторых дистрибутивах необходимо установить пакет imagemagick);
# 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 Запись avi
# 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;
Команды Linux: печать на принтере. # export PRINTER=lbp2900 Выбор принтера по-умолчанию. В примере выбран принтер Canon LBP-2900;
# lpr #2 name.txt Распечатать на принтере Canon LBP-2900 две копии файла name.txt;
# lprm - Удаление всех задач с принтера по-умолчанию;