Опубліковано Вівторок в 17:223 дн Адміністратор У цій статті ми постаралися систематизувати основні команди Linux . Команди, які ви побачите в цьому списку, однаково правильно працюють у різних дистрибутивах, включаючи Debian, Gentoo, Ubuntu, ASPLinux, ALTLinux і т. д.Головна мета статті – створити список основних команд Linux, що спростить як вивчення, так і експлуатацію цієї операційної системи.Усі команди Linux розбиті на тематичні підрозділи з короткими описами. Список команд оновлюватиметься та доповнюватиметься.1. Загальні команди LinuxТут зібрані Linux-команди, яким не знайшлося місце в інших розділах.# 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 ort# Змінюється змінна оточення http_proxy для використання інтернету за допомогою proxy-сервера;# wget --convert-links -r Linux.org# Сайт копіюється повністю, конвертуються посилання для автономної роботи. Копіювання проводиться на глибину 5 рівнів;# wget http://itshaman.ru/images/logo_white.png# Файл http://itshaman.ru/images/logo_white.png завантажується в поточну папку;# pppconfig# Команда потрібна для створення та налаштування з'єднання Dial-Up при виході в інтернет за модемом;# pppoeconf# Команда для створення та налаштування виходу в мережу через ADSL-модем;#!!# Забезпечується виконання останньої команди;# Історія | 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;# 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# Створюється символічне посилання до файлу /home/Mut@NT/primer.txt;# cp -la /dir1 /dir2# Для копіювання директорії;# mv /dir1 /dir2# Для перейменування директорії;# du -sh /home/Mut@NT/# На екрані відображається розмір заданої директорії. Команда підходить і визначення розміру файлів;# locate primer# Виконується пошук файлів з ім'ям primer.2.2 Права доступу# [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/# Для всього вмісту директорії змінюється власник.3. Команди Linux: працюємо з архівами# 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# Створюється 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.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] dpkg -i .rpm# Встановлюються всі пакети в директорії;# [sudo] rpm -e pkgname# Видаляється RPM-пакет pkgname.DEB-дистрибутиви# [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.5. Команди Linux для моніторингу роботи та перегляду логівТут зібрані команди Linux потрібні для моніторингу роботи ОС . Усі показання, отримані з допомогою, виводяться на екран у реальному часі. Число, яке стоїть після команди, означає інтервал між виведенням інформації.# top# Для отримання інформації про завантажені процеси, споживання ОЗП;# htop# Розширена онлайн-статистика про завантажені процеси;# dmesg# Відображення log-файлу завантаження операційної системи та знаходження нових пристроїв;# mpstat 1# Відображається розширена статистика споживання ресурсів у відсотках (для деяких дистрибутивів потрібна установка пакета sysstat);# iostat 2# Показується розширена статистика переривань по пристроях;# vmstat 2# Розширена статистика із застосування віртуальної пам'яті.6. Команди Linux для відображення інформації про пристрої# 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.7. Команди Linux для жорстких дисків та файлової системи7.1 Інформація про жорсткий диск та файлову систему# fdisk -l# Усі підключені жорсткі та змінні диски;# smartctl -a /dev/sda1# Висновок SMART-даних про розділ жорсткого диска /dev/sda1 (потрібний пакет smartmontools);# [sudo] hdparm -I /dev/sda# IDE/ATA жорсткі диски;# [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 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;8. Команди Linux для налаштування мережі8.1 Конфігурація мережі# 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.8.2 Маршрутизація# route -n# Для виведення на екран таблиці маршрутизації;# netstat -rn# Аналогічно.8.3 Управління портами (брандмауер)# 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# Видаляються всі ланцюжки.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 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.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 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 видаляється.11. Команди Linux для роботи з процесамиЗверніть увагу, що всі запущені процеси мають PID — унікальні номери.# 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.Ще раз про важливі сигнали , які можна надіслати процесам: • 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 за замовчуванням;# [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.13. Команди Linux для роботи з ядром та модулями13.1 Робота з ядром системи# uname -a# Відображення версії ядра Linux.13.2 Робота з модулями ядра# lsmod# Виведення списку всіх модулів, завантажених у ядро;# [sudo] modprobe isdn# Для завантаження модуля на прикладі isdn;# make# Створюється стислий образ ядра;# [sudo] make modules_install# Встановлюється модуль;# make modules# Виробляється компіляція модуля;# [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 -mc0. # 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. 16. Команди Linux для друку на принтері # export PRINTER=lbp2900 # Вибирається принтер за замовчуванням. У нас це Canon LBP-2900; # lprm - # З принтера за замовчуванням видаляються всі завдання; # lpr #2 name.txt # На принтері друкуються дві копії файлу name.txt.
Для публікації повідомлень створіть обліковий запис або авторизуйтесь