Все команды Linux `а разбиты на тематические разделы и подразделы, которые имеют краткие описания. Список команд линукса постоянно обновляется и дополняется.
Содержание
- 1. Общие команды Linux
- 2. Работы с файлами и директориями
- 3. Работа с архивами
- 4. Установка программ
- 5. Мониторинг работы и просмотр логов
- 6. Информация об устройствах
- 7. Жесткие диски и файловая система
- 8. Настройка сети
- 9. Создание и запись ISO образов
- 10. Пользователи и группы
- 11. Работа с процессами
- 12. Runlevels
- 13. Работа с ядром и модулями
- 14. Работа с LiveCD
- 15. Конвертирование различной информации (видео, аудио, текст и т.д.)
- 16. Печать на принтере
|
Команды Linux необходимые для мониторинга работы операционной системы. Все показания выводятся на экран в реальном времени. Число, стоящее после команды означает интервал между выводом информации.15.1 Конвертирование текста |
|
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 | |
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; |
3. Команды 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; |
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: мониторинг работы и просмотр логов. |
|
| # 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 равный 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, будет использоваться как родной; |
| # iconv -l | # Выводит список всех доступных кодировок; |
| # iconv -f cp1251 -t UTF-8 file_cp1251.txt -o 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 | |
| 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; |
Команды Linux: печать на принтере. |
|
| # export PRINTER=lbp2900 | # Выбор принтера по-умолчанию. В примере выбран принтер Canon LBP-2900; |
| # lpr #2 name.txt | # Распечатать на принтере Canon LBP-2900 две копии файла name.txt; |
| # lprm - | # Удаление всех задач с принтера по-умолчанию; |