У статті систематизовано інформацію про основні команди 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
    # Статистика перезавантажень;
    # 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/[email protected]/primer.txt /home/primer.txt
    # Копіює /home/[email protected]/primer.tx в home/primer.txt;
    # ln -s /home/[email protected]/primer.txt /home/primer
    # Створює символічне посилання /home/primer до файлу /home/[email protected]/primer.txt;
    # mkdir /home/[email protected]/shaman
    # Створення директорії з ім’ям shaman;
    # rmdir /home/[email protected]/shaman
    # Видалення директорії з ім’ям shaman;
    # rm -rf /home/[email protected]/shaman
    # Видалення директорії з вкладеними фалами;
    # cp -la /dir1 /dir2
    # Копіювання директорій;
    # mv /dir1 /dir2
    # Перейменування директорії;
    # du -sh /home/[email protected]/
    # Виводить на екран розмір заданій директорії. Можна використовувати для визначення розміру файлів;
    # locate primer
    # Пошук всіх файлів з ім’ям primer;

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

    # [sudo] chmod 0777 /home/
    # Зміна прав доступу до директорії тільки для /home. 0777 – дозвіл на читання/запис/виконання для всіх груп;
    # [sudo] chmod -R 0777 /home/
    # Рекурсивна зміна прав доступу до директорії /home. 777 – дозвіл на читання/запис/виконання для всіх груп. Всі вкладені директорії і файли будуть мати права 0777;
    # [sudo] chown [email protected]:ITShaman /home/primer.txt
    # Зміну власника та групи тільки для файлу /home/primer.txt;
    # [sudo] chown -R [email protected] /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
    # Створити tar-архів з стисненням Gzip по імені primer.tar.gz;
    # tar cjf primer.tar.bz2 /home/primer.txt
    # Створити 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 full duplex 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, групи);
    # Показати інформацію про користувача [email protected];
    # last
    # Показує останніх зареєстрованих користувачів;
    # who
    # Показує ім’я поточного користувача і час входу;
    # Додавання нового користувача [email protected];
    # groupadd ITShaman
    # Додавання групи ITShaman;
    # usermod -a -G ITShaman [email protected]
    # Додає користувача [email protected] групу ITShaman (для Debian-подібних дистрибутивів);
    groupmod -A [email protected] ITShaman
    # Додає користувача [email protected] групу ITShaman (SuSE);
    # Видалення користувача [email protected];
    # 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 on 35
    # Додавання скрипту 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 –
    # Видалення всіх завдань з принтера за замовчуванням;

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here