0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>В этой статье мы постарались систематизировать<strong>основные команды Linux</strong>. Команды, которые вы увидите в этом списке, одинаково верно работают в разных дистрибутивах, включая Debian, Gentoo, Ubuntu, ASPLinux, ALTLinux и т. д. Главная цель статьи - создать список основных команд<a>Linux, что упростит как изучение</a>, так и эксплуатацию этой операционной системы.</p>
1
<p>В этой статье мы постарались систематизировать<strong>основные команды Linux</strong>. Команды, которые вы увидите в этом списке, одинаково верно работают в разных дистрибутивах, включая Debian, Gentoo, Ubuntu, ASPLinux, ALTLinux и т. д. Главная цель статьи - создать список основных команд<a>Linux, что упростит как изучение</a>, так и эксплуатацию этой операционной системы.</p>
2
<p>Все команды Linux разбиты на тематические подразделы с краткими описаниями. Список команд будет обновляться и дополняться.</p>
2
<p>Все команды Linux разбиты на тематические подразделы с краткими описаниями. Список команд будет обновляться и дополняться.</p>
3
<h2>1. Общие команды Linux</h2>
3
<h2>1. Общие команды Linux</h2>
4
<p>Здесь собраны Linux-команды, которым не нашлось место в других разделах.</p>
4
<p>Здесь собраны Linux-команды, которым не нашлось место в других разделах.</p>
5
# uname -a # Показывается версия ядра Linux; # lsb_release -a # На экран выводится информация о версии ОС и основанных на ней дистрибутивах; # clear # Очищается экран терминала; # cat /etc/SuSE-release # На экран выводится информация о версии ОС SuSE; # man hier # Описывается иерархия файловой системы (для чего необходима каждая директория в Linux); # wall Привет # На терминалы других пользователей отправляется сообщение "Привет"; # date # Отображается текущая дата и время; # cal -3 # Отображается в удобной форме предыдущий, текущий и следующий месяц; # uptime # Отображается текущее время и работа системы без выключения и перезагрузки; # hostname # Выводится сетевое имя компьютера; # whois linux.org # Показывается информация о домене linux.org; # export http_proxy=http://your.proxy:port # Меняется переменная окружения http_proxy для использования интернета посредством proxy-сервера; # wget --convert-links -r http://www.linux.org/ # Сайт копируется целиком, конвертируются ссылки для автономной работы. Копирование производится на глубину 5-ти уровней; # wget http://itshaman.ru/images/logo_white.png # Файл http://itshaman.ru/images/logo_white.png скачивается в текущую папку; # pppconfig # Команда нужна для создания и настройки соединения Dial-Up при выходе в интернет по модему; # pppoeconf # Команда для создания и настройки выхода в сеть через ADSL-модем; # !! # Обеспечивается выполнение последней команды; # history | tail -50 # Отображаются последние 50 набранных команд; # exit # Сеанс текущего пользователя завершается; # passwd # Пароль текущего пользователя меняется; # shutdown -h now # Для выхода из Linux; # poweroff # Для выхода из Linux; # reboot # Система перезагружается; # last reboot # Выводится статистика перезагрузок; # winecfg # Для настройки Wine - неэмулятора WinAPI; # host itshaman.ru # Для отображения IP-адреса введённого сайта.<h2>2. Команды Linux для работы с директориями и файлами</h2>
5
# uname -a # Показывается версия ядра Linux; # lsb_release -a # На экран выводится информация о версии ОС и основанных на ней дистрибутивах; # clear # Очищается экран терминала; # cat /etc/SuSE-release # На экран выводится информация о версии ОС SuSE; # man hier # Описывается иерархия файловой системы (для чего необходима каждая директория в Linux); # wall Привет # На терминалы других пользователей отправляется сообщение "Привет"; # date # Отображается текущая дата и время; # cal -3 # Отображается в удобной форме предыдущий, текущий и следующий месяц; # uptime # Отображается текущее время и работа системы без выключения и перезагрузки; # hostname # Выводится сетевое имя компьютера; # whois linux.org # Показывается информация о домене linux.org; # export http_proxy=http://your.proxy:port # Меняется переменная окружения http_proxy для использования интернета посредством proxy-сервера; # wget --convert-links -r http://www.linux.org/ # Сайт копируется целиком, конвертируются ссылки для автономной работы. Копирование производится на глубину 5-ти уровней; # wget http://itshaman.ru/images/logo_white.png # Файл http://itshaman.ru/images/logo_white.png скачивается в текущую папку; # pppconfig # Команда нужна для создания и настройки соединения Dial-Up при выходе в интернет по модему; # pppoeconf # Команда для создания и настройки выхода в сеть через ADSL-модем; # !! # Обеспечивается выполнение последней команды; # history | tail -50 # Отображаются последние 50 набранных команд; # exit # Сеанс текущего пользователя завершается; # passwd # Пароль текущего пользователя меняется; # shutdown -h now # Для выхода из Linux; # poweroff # Для выхода из Linux; # reboot # Система перезагружается; # last reboot # Выводится статистика перезагрузок; # winecfg # Для настройки Wine - неэмулятора WinAPI; # host itshaman.ru # Для отображения IP-адреса введённого сайта.<h2>2. Команды Linux для работы с директориями и файлами</h2>
6
<p>В этом списке вы увидите команды Linux, которые предназначены<strong>для создания и удаления директорий и файлов</strong>. Также список включает команды навигации между файлами, команды для назначения прав доступа и владельца.</p>
6
<p>В этом списке вы увидите команды Linux, которые предназначены<strong>для создания и удаления директорий и файлов</strong>. Также список включает команды навигации между файлами, команды для назначения прав доступа и владельца.</p>
7
<h3>2.1 Файлы и директории</h3>
7
<h3>2.1 Файлы и директории</h3>
8
# pwd # Выводится текущий путь; # ls # Выводится список каталогов и файлов по порядку; # ls -laX # Выводится отформатированный список всех директорий и файлов, в том числе скрытых; # cd # Для перехода в домашнюю директорию; # cd /home # Для перехода в директорию /home; # touch /home/primer2 # Создаётся пустой файл /home/primer2; # tail /var/log/messages # Выводится конец файла. Это удобно, если вы работе с большими файлами и логами; # cat /home/primer2 # Показывается содержимое файла; # nano /home/primer2 # Обеспечивается редактирование файла; # gedit /home/primer2 # Ещё одна Linux-команда для редактирования файла; # echo "Последняя строчка" | sudo tee -a /home/primer2 # К концу файла добавляется "Последняя строчка"; # cp /home/Mut@NT/primer.txt /home/primer.txt # Копируется /home/Mut@NT/primer.tx в home/primer.txt; # mkdir /home/Mut@NT/shaman # Создаётся директория с именем shaman; # rmdir /home/Mut@NT/shaman # Удаляется директория с именем shaman; # rm -rf /home/Mut@NT/shaman # Удаляется директория со вложенными фалами; # ln -s /home/Mut@NT/primer.txt /home/primer # Cоздаётся символическая ссылка к файлу /home/Mut@NT/primer.txt; # cp -la /dir1 /dir2 # Для копирования директории; # mv /dir1 /dir2 # Для переименовывания директории; # du -sh /home/Mut@NT/ # На экран выводится размер заданной директории. Команда подходит и для определения размера файлов; # locate primer # Выполняется поиск файлов с именем primer.<h3>2.2 Права доступа</h3>
8
# pwd # Выводится текущий путь; # ls # Выводится список каталогов и файлов по порядку; # ls -laX # Выводится отформатированный список всех директорий и файлов, в том числе скрытых; # cd # Для перехода в домашнюю директорию; # cd /home # Для перехода в директорию /home; # touch /home/primer2 # Создаётся пустой файл /home/primer2; # tail /var/log/messages # Выводится конец файла. Это удобно, если вы работе с большими файлами и логами; # cat /home/primer2 # Показывается содержимое файла; # nano /home/primer2 # Обеспечивается редактирование файла; # gedit /home/primer2 # Ещё одна Linux-команда для редактирования файла; # echo "Последняя строчка" | sudo tee -a /home/primer2 # К концу файла добавляется "Последняя строчка"; # cp /home/Mut@NT/primer.txt /home/primer.txt # Копируется /home/Mut@NT/primer.tx в home/primer.txt; # mkdir /home/Mut@NT/shaman # Создаётся директория с именем shaman; # rmdir /home/Mut@NT/shaman # Удаляется директория с именем shaman; # rm -rf /home/Mut@NT/shaman # Удаляется директория со вложенными фалами; # ln -s /home/Mut@NT/primer.txt /home/primer # Cоздаётся символическая ссылка к файлу /home/Mut@NT/primer.txt; # cp -la /dir1 /dir2 # Для копирования директории; # mv /dir1 /dir2 # Для переименовывания директории; # du -sh /home/Mut@NT/ # На экран выводится размер заданной директории. Команда подходит и для определения размера файлов; # locate primer # Выполняется поиск файлов с именем primer.<h3>2.2 Права доступа</h3>
9
# [sudo] chmod 0777 /home/ # Меняются права доступа к директории. В данном случае 0777 - это разрешение на чтение/запись/исполнение для всех групп; # [sudo] chown Mut@NT:ITShaman /home/primer.txt # Меняются владелец и группы, но только для файла /home/primer.txt; # [sudo] chmod -R 0777 /home/ # Происходит рекурсивное изменение прав доступа к директории. Значение 0777 мы уже описали выше. Права 0777 будут иметь все вложенные файлы и директории; # [sudo] chown -R Mut@NT /home/ # Для всего содержимого директории меняется владелец.<h2>3. Команды Linux: работаем с архивами</h2>
9
# [sudo] chmod 0777 /home/ # Меняются права доступа к директории. В данном случае 0777 - это разрешение на чтение/запись/исполнение для всех групп; # [sudo] chown Mut@NT:ITShaman /home/primer.txt # Меняются владелец и группы, но только для файла /home/primer.txt; # [sudo] chmod -R 0777 /home/ # Происходит рекурсивное изменение прав доступа к директории. Значение 0777 мы уже описали выше. Права 0777 будут иметь все вложенные файлы и директории; # [sudo] chown -R Mut@NT /home/ # Для всего содержимого директории меняется владелец.<h2>3. Команды Linux: работаем с архивами</h2>
10
# tar cf primer.tar /home/primer.txt # Создаётся tar-архив с именем primer.tar; # tar cjf primer.tar.bz2 /home/primer.txt # Создаётся tar-архив со сжатием Bzip2 и именем primer.tar.bz; # tar czf primer.tar.gz /home/primer.txt # Cоздаётся tar-архив со сжатием Gzip и именем primer.tar.gz; # tar xf primer.tar # В текущую папку распаковывается архив primer.tar; # tar xjf primer.tar.bz # Распаковывается tar-архив с Bzip2; # tar xzf primer.tar.gz # Распаковывается tar-архив с Gzip.<h2>4. Команды Linux для установки программ</h2>
10
# tar cf primer.tar /home/primer.txt # Создаётся tar-архив с именем primer.tar; # tar cjf primer.tar.bz2 /home/primer.txt # Создаётся tar-архив со сжатием Bzip2 и именем primer.tar.bz; # tar czf primer.tar.gz /home/primer.txt # Cоздаётся tar-архив со сжатием Gzip и именем primer.tar.gz; # tar xf primer.tar # В текущую папку распаковывается архив primer.tar; # tar xjf primer.tar.bz # Распаковывается tar-архив с Bzip2; # tar xzf primer.tar.gz # Распаковывается tar-архив с Gzip.<h2>4. Команды Linux для установки программ</h2>
11
<h3>4.1 Просмотр установленных пакетов</h3>
11
<h3>4.1 Просмотр установленных пакетов</h3>
12
<p><strong>RPM-дистрибутивы</strong></p>
12
<p><strong>RPM-дистрибутивы</strong></p>
13
# rpm -qa # Отображается список пакетов RPM, установленных в системе.<p><strong>DEB-дистрибутивы</strong></p>
13
# rpm -qa # Отображается список пакетов RPM, установленных в системе.<p><strong>DEB-дистрибутивы</strong></p>
14
# dpkg -l |more # Для показа списка пакетов DEB, установленных в системе; # apt-cache search имя пакета # Для поиска в индексах доступного пакета и вывода на экран краткой информации о нужном пакете (это весьма полезная команда, обеспечивающая поиска программ из консоли); # apt-cache showpkg имя пакета # Для отображения полной информации об указанном пакете.<h3>4.2 Установка и удаление пакетов</h3>
14
# dpkg -l |more # Для показа списка пакетов DEB, установленных в системе; # apt-cache search имя пакета # Для поиска в индексах доступного пакета и вывода на экран краткой информации о нужном пакете (это весьма полезная команда, обеспечивающая поиска программ из консоли); # apt-cache showpkg имя пакета # Для отображения полной информации об указанном пакете.<h3>4.2 Установка и удаление пакетов</h3>
15
<p><strong>RPM-дистрибутивы</strong></p>
15
<p><strong>RPM-дистрибутивы</strong></p>
16
# [sudo] rpm -i pkgname.rpm # Устанавливается RPM-пакет pkgname.rpm; # [sudo] dpkg -i *.rpm # Устанавливаются все пакеты в директории; # [sudo] rpm -e pkgname # Удаляется RPM-пакет pkgname.<p><strong>DEB-дистрибутивы</strong></p>
16
# [sudo] rpm -i pkgname.rpm # Устанавливается RPM-пакет pkgname.rpm; # [sudo] dpkg -i *.rpm # Устанавливаются все пакеты в директории; # [sudo] rpm -e pkgname # Удаляется RPM-пакет pkgname.<p><strong>DEB-дистрибутивы</strong></p>
17
# [sudo] apt-get update # Обновляется список доступных пакетов из интернета; # [sudo] apt-get upgrade # Обновляется доступная версия установленных пакетов в системе; # [sudo] dpkg -i *.deb # Устанавливаются все пакеты в директории; # [sudo] apt-get install pkgname # Устанавливается DEB-пакет pkgname; # [sudo] apt-get remove pkgname # Удаляется DEB-пакет pkgname.<h2>5. Команды Linux для мониторинга работы и просмотра логов</h2>
17
# [sudo] apt-get update # Обновляется список доступных пакетов из интернета; # [sudo] apt-get upgrade # Обновляется доступная версия установленных пакетов в системе; # [sudo] dpkg -i *.deb # Устанавливаются все пакеты в директории; # [sudo] apt-get install pkgname # Устанавливается DEB-пакет pkgname; # [sudo] apt-get remove pkgname # Удаляется DEB-пакет pkgname.<h2>5. Команды Linux для мониторинга работы и просмотра логов</h2>
18
<p>Здесь собраны команды Linux нужные<strong>для мониторинга работы ОС</strong>. Все показания, полученные с их помощью, выводятся на экран в режиме реального времени. Число, которое стоит после команды, обозначает интервал между выводом информации.</p>
18
<p>Здесь собраны команды Linux нужные<strong>для мониторинга работы ОС</strong>. Все показания, полученные с их помощью, выводятся на экран в режиме реального времени. Число, которое стоит после команды, обозначает интервал между выводом информации.</p>
19
# top # Для получения информации о загруженных процессах, потреблении ОЗУ; # htop # Расширенная онлайн-статистика о загруженных процессах; # dmesg # Отображение log-файла загрузки операционной системы и нахождения новых устройств; # mpstat 1 # Отображается расширенная статистика потребления ресурсов в процентах (для некоторых дистрибутивов нужна установка пакета sysstat); # iostat 2 # Показывается расширенная статистика прерываний по устройствам; # vmstat 2 # Расширенная статистика по применению виртуальной памяти.<h2>6. Команды Linux для отображения информации об устройствах</h2>
19
# top # Для получения информации о загруженных процессах, потреблении ОЗУ; # htop # Расширенная онлайн-статистика о загруженных процессах; # dmesg # Отображение log-файла загрузки операционной системы и нахождения новых устройств; # mpstat 1 # Отображается расширенная статистика потребления ресурсов в процентах (для некоторых дистрибутивов нужна установка пакета sysstat); # iostat 2 # Показывается расширенная статистика прерываний по устройствам; # vmstat 2 # Расширенная статистика по применению виртуальной памяти.<h2>6. Команды Linux для отображения информации об устройствах</h2>
20
# lsdev # Установленные устройства (для некоторых дистрибутивов потребуется пакет procinfo); # cat /proc/cpuinfo # Полная информация о модели процессора; # cat /proc/meminfo # Расширенная информация о занимаемой ОС; # watch -n1 'cat /proc/interrupts' # Данные о прерываниях; # grep SwapTotal /proc/meminfo # Размер раздела, который выделен под swap; # free -m # Используемые и свободные ОЗУ и Swap-файл (-m указывает, что отображать данные надо в Мб); # lshal # Полный список всех устройств, а также их параметров; # lspci -tv # Показ обнаруженных PCI-устройств; # cat /proc/devices # Все устройства в системе (названия взяты из директории /proc/devices); # lsusb -tv # USB-устройства; # [sudo] dmidecode # Версия BIOS; # gtf 1024 768 75 # Вывод строки ModeLine для монитора на параметрах экрана 1024x768x75Hz.<h2>7. Команды Linux для жёстких дисков и файловой системы</h2>
20
# lsdev # Установленные устройства (для некоторых дистрибутивов потребуется пакет procinfo); # cat /proc/cpuinfo # Полная информация о модели процессора; # cat /proc/meminfo # Расширенная информация о занимаемой ОС; # watch -n1 'cat /proc/interrupts' # Данные о прерываниях; # grep SwapTotal /proc/meminfo # Размер раздела, который выделен под swap; # free -m # Используемые и свободные ОЗУ и Swap-файл (-m указывает, что отображать данные надо в Мб); # lshal # Полный список всех устройств, а также их параметров; # lspci -tv # Показ обнаруженных PCI-устройств; # cat /proc/devices # Все устройства в системе (названия взяты из директории /proc/devices); # lsusb -tv # USB-устройства; # [sudo] dmidecode # Версия BIOS; # gtf 1024 768 75 # Вывод строки ModeLine для монитора на параметрах экрана 1024x768x75Hz.<h2>7. Команды Linux для жёстких дисков и файловой системы</h2>
21
<h3>7.1 Информация о жёстком диске и файловой системе</h3>
21
<h3>7.1 Информация о жёстком диске и файловой системе</h3>
22
# fdisk -l # Все подключенные жесткие и сменные диски; # smartctl -a /dev/sda1 # Вывод SMART-данных о разделе жесткого диска /dev/sda1 (нужен пакет smartmontools); # [sudo] hdparm -I /dev/sda # IDE/ATA жёсткие диски; # [sudo] blkid # Вывод UUID всех доступных накопителей в системе.<h3>7.2 Производительность жёстких дисков</h3>
22
# fdisk -l # Все подключенные жесткие и сменные диски; # smartctl -a /dev/sda1 # Вывод SMART-данных о разделе жесткого диска /dev/sda1 (нужен пакет smartmontools); # [sudo] hdparm -I /dev/sda # IDE/ATA жёсткие диски; # [sudo] blkid # Вывод UUID всех доступных накопителей в системе.<h3>7.2 Производительность жёстких дисков</h3>
23
# [sudo] hdparm -tT /dev/sda # Отображение производительности жёсткого диска.<h3>7.3 Монтирование разделов жёсткого диска</h3>
23
# [sudo] hdparm -tT /dev/sda # Отображение производительности жёсткого диска.<h3>7.3 Монтирование разделов жёсткого диска</h3>
24
# 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 iso9660 -o loop /home/file.iso /home/iso # Монтаж ISO-образов; # [sudo] mount -t smbfs -o username=vasja,password=pupkin //pup/Video # Монтаж сетевых ресурсов (SMB); # [sudo] mount /dev/sdb1 -t vfat -o rw /mnt # Монтаж раздела с файловой системой FAT 16/32 к точке монтирования /mnt с возможностью записи; # [sudo] umount /mnt # Демонтаж раздела от точки монтирования /mnt;<h2>8. Команды Linux для настройки сети</h2>
24
# 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 iso9660 -o loop /home/file.iso /home/iso # Монтаж ISO-образов; # [sudo] mount -t smbfs -o username=vasja,password=pupkin //pup/Video # Монтаж сетевых ресурсов (SMB); # [sudo] mount /dev/sdb1 -t vfat -o rw /mnt # Монтаж раздела с файловой системой FAT 16/32 к точке монтирования /mnt с возможностью записи; # [sudo] umount /mnt # Демонтаж раздела от точки монтирования /mnt;<h2>8. Команды Linux для настройки сети</h2>
25
<h3>8.1 Конфигурация сети</h3>
25
<h3>8.1 Конфигурация сети</h3>
26
# ifconfig # Параметры всех сетевых; # ifconfig eth0 # Параметры сетевого интерфейса eth0; # [sudo] ethtool eth0 # Состояние сетевого интерфейса eth0 (Может потребоваться пакет ethtool). Команда применяется только для проводных подключений (с беспроводными интерфейсами не работает); # [sudo] ethtool -s eth0 speed 100 duplex full autoneg off # Принудительное задание скорости сетевому интерфейсу 100 Mbit и режима 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 # Аналогично; # 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 # Аналогично; # [sudo] ifconfig eth0 up # Запуск сетевого интерфейса eth0; # [sudo] ifconfig eth0 down # Его отключение; # 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.<h3>8.2 Маршрутизация</h3>
26
# ifconfig # Параметры всех сетевых; # ifconfig eth0 # Параметры сетевого интерфейса eth0; # [sudo] ethtool eth0 # Состояние сетевого интерфейса eth0 (Может потребоваться пакет ethtool). Команда применяется только для проводных подключений (с беспроводными интерфейсами не работает); # [sudo] ethtool -s eth0 speed 100 duplex full autoneg off # Принудительное задание скорости сетевому интерфейсу 100 Mbit и режима 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 # Аналогично; # 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 # Аналогично; # [sudo] ifconfig eth0 up # Запуск сетевого интерфейса eth0; # [sudo] ifconfig eth0 down # Его отключение; # 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.<h3>8.2 Маршрутизация</h3>
27
# route -n # Для вывода на экран таблицы маршрутизации; # netstat -rn # Аналогично.<h3>8.3 Управление портами (брандмауэр)</h3>
27
# route -n # Для вывода на экран таблицы маршрутизации; # netstat -rn # Аналогично.<h3>8.3 Управление портами (брандмауэр)</h3>
28
# lsof -i # Показывается список всех открытых портов в сеть интернет; # netstat -an | grep LISTEN # Отображение списка всех открытых портов; # [sudo] netstat -tup # Вывод активных соединений с интернетом; # socklist # Открытые сокеты; # [sudo] netstat -anp --udp --tcp | grep LISTEN # Выводится список приложений, открывающих порты; # [sudo] iptables -P INPUT ACCEPT # Открытие доступа ко всем портам; # [sudo] iptables -P FORWARD ACCEPT # То же самое; # [sudo] iptables -P OUTPUT ACCEPT # То же; # [sudo] iptables -L -n -v # Статус firewall (статус iptables); # [sudo] iptables -X # Удаляются все цепочки.<h3>8.4 Управление NAT</h3>
28
# lsof -i # Показывается список всех открытых портов в сеть интернет; # netstat -an | grep LISTEN # Отображение списка всех открытых портов; # [sudo] netstat -tup # Вывод активных соединений с интернетом; # socklist # Открытые сокеты; # [sudo] netstat -anp --udp --tcp | grep LISTEN # Выводится список приложений, открывающих порты; # [sudo] iptables -P INPUT ACCEPT # Открытие доступа ко всем портам; # [sudo] iptables -P FORWARD ACCEPT # То же самое; # [sudo] iptables -P OUTPUT ACCEPT # То же; # [sudo] iptables -L -n -v # Статус firewall (статус iptables); # [sudo] iptables -X # Удаляются все цепочки.<h3>8.4 Управление NAT</h3>
29
# [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 993:995 -j DNAT --to 192.168.16.254:993-995 # Перенаправить диапазон портов 993-995; # [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; # iptables -L -t nat # Для проверки статуса NAT.<h2>9. Команды Linux для создания и записи образов ISO</h2>
29
# [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 993:995 -j DNAT --to 192.168.16.254:993-995 # Перенаправить диапазон портов 993-995; # [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; # iptables -L -t nat # Для проверки статуса NAT.<h2>9. Команды Linux для создания и записи образов ISO</h2>
30
# cdrecord -scanbus # Отображение всех доступных CD-ROM; # dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc #Создание образов ISO с диска CD-ROM.<h2>10. Команды Linux: группы и пользователи</h2>
30
# cdrecord -scanbus # Отображение всех доступных CD-ROM; # dd if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc #Создание образов ISO с диска CD-ROM.<h2>10. Команды Linux: группы и пользователи</h2>
31
<p>Эти команды Linux необходимы для<strong>работы с пользователями и группами пользователей</strong>.</p>
31
<p>Эти команды Linux необходимы для<strong>работы с пользователями и группами пользователей</strong>.</p>
32
# id # Сводная информация по текущему пользователю (логин, UID, GID, группы); # finger Mut@NT # Информация о пользователе Mut@NT; # last # Последние зарегистрированные пользователи; # who # Имя текущего пользователя и время его входа; # useradd Mut@NT # Добавляет нового пользователя Mut@NT; # groupadd Otus # Добавляет группу Otus; # usermod -a -G Otus Mut@NT # Добавляет пользователя с именем Mut@NT в группу под названием Otus (для Debian); groupmod -A Mut@NT Otus # Добавление пользователя Mut@NT в группу под названием Otus (SuSE); # userdel Mut@NT # Пользователь Mut@NT удаляется; # groupdel Otus # Группа Otus удаляется.<h2>11. Команды Linux для работы с процессами</h2>
32
# id # Сводная информация по текущему пользователю (логин, UID, GID, группы); # finger Mut@NT # Информация о пользователе Mut@NT; # last # Последние зарегистрированные пользователи; # who # Имя текущего пользователя и время его входа; # useradd Mut@NT # Добавляет нового пользователя Mut@NT; # groupadd Otus # Добавляет группу Otus; # usermod -a -G Otus Mut@NT # Добавляет пользователя с именем Mut@NT в группу под названием Otus (для Debian); groupmod -A Mut@NT Otus # Добавление пользователя Mut@NT в группу под названием Otus (SuSE); # userdel Mut@NT # Пользователь Mut@NT удаляется; # groupdel Otus # Группа Otus удаляется.<h2>11. Команды Linux для работы с процессами</h2>
33
<p>Обратите внимание, что все процессы, которые запущены, имеют<strong>PID</strong>- уникальные номера.</p>
33
<p>Обратите внимание, что все процессы, которые запущены, имеют<strong>PID</strong>- уникальные номера.</p>
34
# ps axjf # Все загруженные процессы; # pgrep -l sshd # PID конкретного процесса - sshd; # fuser -va 22/tcp # PID процесса использующего 22-й порт; # echo $$ # PID вашей оболочки; # fuser -va /home # PID процесса; # lsof /home # Список процессов; # killall 0 httpd # Текущее состояние процесса httpd; # kil 4712 # С помощью этой команды вы "убьёте" процесс с PID 4712; # [sudo] killall TERM 4711 # Команда посылает процессу с PID`ом 4711 сигнал TERM, завершающий процесс; # [sudo] killall HUP httpd # Процесс с именем httpd получает сигнал HUP, останавливающий процесс; # [sudo] fuser -k -TERM -m /home # "Убиваются" все процессы, обладающие доступом к /home.<p><strong>Ещё раз про важные сигналы</strong>, которые можно послать процессам: • 1 - HUP; остановка процесса; • 2 - INT; прерывание процесса; • 3 - QUIT; выход; • 9 - KILL; чтобы "убить" процесс; • 15 - TERM; завершение процесса.</p>
34
# ps axjf # Все загруженные процессы; # pgrep -l sshd # PID конкретного процесса - sshd; # fuser -va 22/tcp # PID процесса использующего 22-й порт; # echo $$ # PID вашей оболочки; # fuser -va /home # PID процесса; # lsof /home # Список процессов; # killall 0 httpd # Текущее состояние процесса httpd; # kil 4712 # С помощью этой команды вы "убьёте" процесс с PID 4712; # [sudo] killall TERM 4711 # Команда посылает процессу с PID`ом 4711 сигнал TERM, завершающий процесс; # [sudo] killall HUP httpd # Процесс с именем httpd получает сигнал HUP, останавливающий процесс; # [sudo] fuser -k -TERM -m /home # "Убиваются" все процессы, обладающие доступом к /home.<p><strong>Ещё раз про важные сигналы</strong>, которые можно послать процессам: • 1 - HUP; остановка процесса; • 2 - INT; прерывание процесса; • 3 - QUIT; выход; • 9 - KILL; чтобы "убить" процесс; • 15 - TERM; завершение процесса.</p>
35
<h2>12. Команды Linux: Runlevels</h2>
35
<h2>12. Команды Linux: Runlevels</h2>
36
<p>После того, как происходит загрузка ядра Linux, загружаются разные демоны и приложения, например, NetworkManager, Evolution и прочие. Результат мы видим на рабочем столе после загрузки. При этом загрузка каждой службы выполняются<strong>скриптом</strong>, которые находятся в /etc/init.d.</p>
36
<p>После того, как происходит загрузка ядра Linux, загружаются разные демоны и приложения, например, NetworkManager, Evolution и прочие. Результат мы видим на рабочем столе после загрузки. При этом загрузка каждой службы выполняются<strong>скриптом</strong>, которые находятся в /etc/init.d.</p>
37
<p><strong>Runlevels</strong>- это целое число, определяющее "уровень загрузки".</p>
37
<p><strong>Runlevels</strong>- это целое число, определяющее "уровень загрузки".</p>
38
<p>Уровни бывают: • Runlevels=0; выключение компьютера; • Runlevels=1; работа в режиме Single-User; • Runlevels=2; текстовый режим (сеть не поддерживается); • Runlevels=3; текстовый режим но уже с поддержкой сети; • Runlevels=4; • Runlevels=5; графический режим; • Runlevels=6; осуществляется перезагрузка компьютера.</p>
38
<p>Уровни бывают: • Runlevels=0; выключение компьютера; • Runlevels=1; работа в режиме Single-User; • Runlevels=2; текстовый режим (сеть не поддерживается); • Runlevels=3; текстовый режим но уже с поддержкой сети; • Runlevels=4; • Runlevels=5; графический режим; • Runlevels=6; осуществляется перезагрузка компьютера.</p>
39
<p>Таким образом, скрипты, которые загружаются лишь в текстовом режиме с поддержкой сети, - это Runlevels=3.</p>
39
<p>Таким образом, скрипты, которые загружаются лишь в текстовом режиме с поддержкой сети, - это Runlevels=3.</p>
40
<p><strong>Упрощённый вариант настройки</strong>:</p>
40
<p><strong>Упрощённый вариант настройки</strong>:</p>
41
# [sudo] sysv-rc-conf #Чрезвычайно удобная настройка Runlevels, правда, нужен пакет sysv-rc-conf.<p><strong>А вот ручной вариант настройки</strong>:</p>
41
# [sudo] sysv-rc-conf #Чрезвычайно удобная настройка Runlevels, правда, нужен пакет sysv-rc-conf.<p><strong>А вот ручной вариант настройки</strong>:</p>
42
# chkconfig --list # Список всех скриптов с соответствующими Runlevels; # chkconfig --list udev # Разрешенные Runlevels только отдельного скрипта, у нас это udev; # [sudo] update-rc.d udev defaults # Скрипту udev выставляются значения Runlevels по умолчанию; # [sudo] chkconfig udev off # У udev отключаются все Runlevels; # [sudo] update-rc.d -f udev remove # Аналогично для 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.<h2>13. Команды Linux для работы с ядром и модулями</h2>
42
# chkconfig --list # Список всех скриптов с соответствующими Runlevels; # chkconfig --list udev # Разрешенные Runlevels только отдельного скрипта, у нас это udev; # [sudo] update-rc.d udev defaults # Скрипту udev выставляются значения Runlevels по умолчанию; # [sudo] chkconfig udev off # У udev отключаются все Runlevels; # [sudo] update-rc.d -f udev remove # Аналогично для 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.<h2>13. Команды Linux для работы с ядром и модулями</h2>
43
<h3>13.1 Работа с ядром системы</h3>
43
<h3>13.1 Работа с ядром системы</h3>
44
# uname -a # Отображение версии ядра Linux.<h3>13.2 Работа с модулями ядра</h3>
44
# uname -a # Отображение версии ядра Linux.<h3>13.2 Работа с модулями ядра</h3>
45
# lsmod # Вывод списка всех модулей, загруженных в ядро; # [sudo] modprobe isdn # Для загрузки модуля на примере isdn; # make # Создаётся сжатый образ ядра; # [sudo] make modules_install # Устанавливается модуль; # make modules # Производится компиляция модуля; # [sudo] make install # Для установки в ядро системы.<h2>14. Команды Linux для работы с LiveCD</h2>
45
# lsmod # Вывод списка всех модулей, загруженных в ядро; # [sudo] modprobe isdn # Для загрузки модуля на примере isdn; # make # Создаётся сжатый образ ядра; # [sudo] make modules_install # Устанавливается модуль; # make modules # Производится компиляция модуля; # [sudo] make install # Для установки в ядро системы.<h2>14. Команды Linux для работы с LiveCD</h2>
46
# [sudo] chroot /mnt # Происходит смена root-окружения на /mnt. Далее корневой раздел, который примонтировн к /mnt, используется как родной.<h2>15. Команды Linux для конвертирования данных</h2>
46
# [sudo] chroot /mnt # Происходит смена root-окружения на /mnt. Далее корневой раздел, который примонтировн к /mnt, используется как родной.<h2>15. Команды Linux для конвертирования данных</h2>
47
<h3>15.1 Конвертирование текста</h3>
47
<h3>15.1 Конвертирование текста</h3>
48
# iconv -l # Вывод списка всех кодировок, которые доступны; # iconv -f cp1251 -t UTF-8 file_cp1251.txt -o file_utf8.txt # Смена кодировки. Например, был файл file_cp1251.txt (кодировка cp1251), а получился файл file_utf8.txt (кодировка utf8).<h3>15.2 Конвертирование PDF в JPEG</h3>
48
# iconv -l # Вывод списка всех кодировок, которые доступны; # iconv -f cp1251 -t UTF-8 file_cp1251.txt -o file_utf8.txt # Смена кодировки. Например, был файл file_cp1251.txt (кодировка cp1251), а получился файл file_utf8.txt (кодировка utf8).<h3>15.2 Конвертирование PDF в JPEG</h3>
49
# convert name.pdf name-%03d.jpg # Конвертация name.pdf в постраничные изображения JPEG (может понадобиться пакет imagemagick); # convert *.jpeg name.pdf # Конвертация изображений JPEG в PDF (может потребоваться пакет imagemagick).<h3>15.3 Конвертирование видео</h3>
49
# convert name.pdf name-%03d.jpg # Конвертация name.pdf в постраничные изображения JPEG (может понадобиться пакет imagemagick); # convert *.jpeg name.pdf # Конвертация изображений JPEG в PDF (может потребоваться пакет imagemagick).<h3>15.3 Конвертирование видео</h3>
50
# 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<h3>15.4 Конвертирование аудио</h3>
50
# 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<h3>15.4 Конвертирование аудио</h3>
51
# cdparanoia -B # Треки с AudioCD копируются в текущую директорию wav-файлами; # oggenc in.wav -b 256 out.ogg # Wav-файлы конвертируются в Ogg Vorbis с качеством 256 kb/s; # lame -b 256 in.wav out.mp3 # Wav-файлы конвертируются в mp3 с качеством 256 kb/s.<h2>16. Команды Linux для печати на принтере</h2>
51
# cdparanoia -B # Треки с AudioCD копируются в текущую директорию wav-файлами; # oggenc in.wav -b 256 out.ogg # Wav-файлы конвертируются в Ogg Vorbis с качеством 256 kb/s; # lame -b 256 in.wav out.mp3 # Wav-файлы конвертируются в mp3 с качеством 256 kb/s.<h2>16. Команды Linux для печати на принтере</h2>
52
# export PRINTER=lbp2900 # Выбирается принтер по умолчанию. У нас это Canon LBP-2900; # lprm - # С принтера по умолчанию удаляются все задачи; # lpr #2 name.txt # На принтере распечатываются две копии файла name.txt.<p>Вот и всё, узнать больше всегда можно на курсе "<a>Администратор Linux</a>"!</p>
52
# export PRINTER=lbp2900 # Выбирается принтер по умолчанию. У нас это Canon LBP-2900; # lprm - # С принтера по умолчанию удаляются все задачи; # lpr #2 name.txt # На принтере распечатываются две копии файла name.txt.<p>Вот и всё, узнать больше всегда можно на курсе "<a>Администратор Linux</a>"!</p>
53
53