Топ 100 команд Linux (які вам потрібно знати)

by Matt Stamp
Топ 100 команд Linux (які вам потрібно знати) thumbnail

Linux є основою інтернету. Він забезпечує роботу майже 97% найкращих світових веб-серверів. І 55.9% професійних розробників використовують Linux для своїх потреб у розробці.

Проте, Linux має лише 2.68% частку ринку настільних комп’ютерів. Чому така різниця?

Основний акцент у Linux ніколи не був зосереджений на користувацькому інтерфейсі. Натомість, він був розроблений для надання вам повного контролю над операційною системою через командний рядок.

Це може зробити Linux залякуючим для початківців — А тисячі доступних команд лише ускладнюють це.

У цій статті ми розглядаємо сто найбільш корисних команд Linux. Вивчення хоча б кількох з цих команд може допомогти вам підвищити продуктивність як користувача Linux. Давайте зануримося в це!

Глосарій DreamHost

Linux

Linux відноситься до колекції відкритих операційних систем (OS). Не існує єдиної ОС Linux. Замість цього, користувачі можуть вибрати з широкої групи дистрибутивів Linux, кожен з яких надає різні можливості.

Читати далі

Що таке команди Linux?

Команди Linux дозволяють вам керувати вашою системою з інтерфейсу командного рядка (CLI), замість використання миші або тачпада. Це текстові інструкції, які вводяться в термінал, щоб точно сказати вашій системі, що робити.

Команди, які ви вводите в терміналі Linux, чутливі до регістру та слідують синтаксису “command -options arguments.” Ви можете комбінувати їх для складних завдань за допомогою конвеєрів та перенаправлень.

Деякі важливі речі, які потрібно знати про команди Linux:

  • Вони чутливі до регістру; наприклад, “ls” та “LS” означають різні речі.
  • Вони слідують певному синтаксису як “command -options arguments.”
  • Вони можуть комбінуватися для складних операцій за допомогою конвеєрів та перенаправлень.
  • Вони дають вам точний контроль над вашою системою, який важко досягти за допомогою графічних інтерфейсів.
  • Вони дозволяють автоматизувати задачі через shell-скрипти та пакетну обробку.
  • Вони можуть використовуватися для доступу до системних ресурсів як файлова система, мережа, пам’ять та ЦПУ.
  • Вони є основою взаємодії з серверами Linux та операційними системами.

Якщо ви програміст, що лише вчиться програмувати, ви можете почати практикувати свої команди Linux не виходячи з Windows за допомогою Підсистеми Windows для Linux. Це дозволяє вам запускати Linux всередині Windows без подвійного завантаження та отримати найкраще з обох операційних систем.

Топ 100 найкорисніших команд Linux

Тепер, коли ви маєте базове розуміння того, що таке команди Linux, давайте зануримося у топ-100 найчастіше використовуваних команд Linux.

Ми організували їх за категоріями, щоб охопити такі області, як управління файлами, моніторинг системи, операції в мережі, адміністрування користувачів та багато іншого.

Команди управління файлами в Linux

Управління файлами є поширеним завданням у командному рядку Linux. Ось основні команди для роботи з файлами:

1. ls – Перелік вмісту директорії

Команда ls є однією з найчастіше використовуваних команд Linux. Вона відображає вміст директорії, показуючи всі файли та піддиректорії, які знаходяться всередині.

Без будь-яких опцій або аргументів, ls покаже вміст поточної робочої директорії. Ви можете передати назву шляху, щоб вказати файли та папки в тому місці.

Синтаксис:

ls [опції] [директорія]

Деякі з найкорисніших опцій ls включають:

  • -l – Відображення результатів у довгому форматі, показуючи додаткові деталі, такі як дозволи, володіння, розмір та дата модифікації для кожного файлу та каталогу.
  • -a – Показувати приховані файли та каталоги, які починаються з . на додаток до не прихованих елементів.
  • -R – Рекурсивно відображати вміст усіх підкаталогів, занурюючись у дочірні папки нескінченно.
  • -S – Сортувати результати за розміром файлів, починаючи з найбільших.
  • -t – Сортування за часовою міткою, починаючи з найновіших.

Приклад:

ls -l /home/user/documents

Це виведе список вмісту папки “documents” у довгому форматі.

Приклад виводу:

загалом 824
-rwxrwx--- 1 користувач користувач    8389 Лип 12 08:53 report.pdf
-rw-r--r-- 1 користувач користувач   10231 Чер 30 16:32 presentation.pptx
drwxr-xr-x 2 користувач користувач    4096 Тра 11 09:21 images
-rw-rw-r-- 1 користувач користувач     453 Кві 18 13:32 todo.txt

Цей вивід показує детальний список з дозволами, розміром, власником та часовою міткою для кожного файлу та каталогу. Формат детального списку, який надається опцією -l, забезпечує корисну інформацію про файл на перший погляд.

Команда ls надає вам гнучке управління переліком вмісту каталогів. Це одна з команд, яку ви постійно будете використовувати під час роботи в Linux.

2. cd – Змінити каталог

Команда cd використовується для навігації між директоріями. Вона дозволяє перемістити поточну робочу директорію в нове місце в файловій системі.

Коли ви виконуєте команду cd самостійно, вона повертає вас до домашнього каталогу. Ви також можете передати конкретний шлях для зміни. Наприклад:

  • cd /usr/local – Переходить до директорії /usr/local.
  • cd .. – Переміщує на один рівень вгору до батьківської директорії.
  • cd ~/pictures – Переходить до папки зображень у вашій домашній директорії.

Синтаксис:

cd [directory]

Приклад:

cd /home/user/documents

Це змінить робочий каталог на папку “documents” у /home/user. Використання cd є необхідним для того, щоб могти зручно доступатися та працювати з файлами в різних місцях.

3. mkdir – Створити новий каталог

Команда mkdir дозволяє створити нову папку. Ви просто передаєте назву каталогу, який потрібно створити.

Синтаксис:

mkdir [options] <directory>

Це створить каталог під назвою “newproject” у поточному робочому каталозі.

Деякі корисні mkdir опції:

  • -p – Створює батьківські каталоги рекурсивно, за потреби.
  • -v – Детальний вивід, що показує створені каталоги.

Приклад:

mkdir -v ~/project/code

Це створить підкаталог «code» у каталозі «project» в домашній папці користувача, із детальним виводом, що показує створення каталогу.

Отримуйте вміст безпосередньо у свою скриньку

Підпишіться зараз, щоб отримувати всі останні оновлення безпосередньо у свою скриньку.

4. rmdir – Видалити каталог

Щоб видалити порожній каталог, використовуйте команду rmdir. Зверніть увагу, що rmdir може видалити лише порожні каталоги – нам знадобиться команда rm для видалення непорожніх.

Синтаксис:

rmdir [options] <directory>

Деякі варіанти для rmdir включають:

  • -v – Докладний вивід при видаленні каталогів.
  • -p – Видаляє батьківські каталоги рекурсивно за потреби.

Приклад:

rmdir -v ~/project/code

Це видалить підкаталог «code» у «project», відображаючи детальний вивід.

5. touch – Створити новий порожній файл

Команда touch використовується для миттєвого створення нового порожнього файлу. Це корисно, коли вам потрібен порожній файл для того, щоб заповнити його даними пізніше.

Базовий синтаксис команди touch:

touch [options] filename

Деякі корисні опції для touch включають:

  • -c – Не створюйте файл, якщо він вже існує. Це уникає випадкового перезапису існуючих файлів.
  • -m – Замість створення нового файлу, оновіть часову мітку на існуючому файлі. Це може бути використано для зміни часу модифікації.

Наприклад:

touch /home/user/newfile.txt

Вищезазначена команда створює новий порожній файл під назвою “newfile.txt” у директорії /home/user користувача. Якщо файл newfile.txt вже існує, замість цього буде оновлено час доступу до файлу та час його модифікації.

6. cp – Копіювання файлів та директорій

Команда cp копіює файли або директорії з одного місця в інше. Вона вимагає вказівки шляху джерела та призначення.

Базовий синтаксис cp:

cp [options] source destination

Деякі корисні опції cp:

  • -r – Копіюйте директорії рекурсивно, заглиблюючись у дочірні директорії для копіювання їх вмісту. Необхідно при копіюванні директорій.
  • -i – Запитувати перед перезаписом будь-яких існуючих файлів у пункті призначення. Це запобігає випадковому перезапису даних.
  • -v – Показувати детальний вивід, демонструючи деталі кожного файлу під час копіювання. Корисно для підтвердження того, що саме було скопійовано.

Наприклад:

cp -r /home/user/documents /backups/

Це рекурсивно копіюватиме директорію /home/user/documents та всі її вміст до директорії /backups/. Опція -r необхідна для копіювання директорій.

Команда cp є однією з найчастіше використовуваних утиліт для керування файлами для копіювання файлів та директорій в Linux. Ви часто будете використовувати цю команду.

7. mv – Перемістити або перейменувати файли та каталоги

Команда mv використовується для переміщення файлів або директорій у інше місце або для їх перейменування. На відміну від копіювання, файли з джерельного шляху видаляються після того, як їх переміщено до місця призначення.

Ви також можете використовувати команду mv для перейменування файлів, оскільки вам просто потрібно змінити шляхи вихідного та призначення на старе та нове ім’я.

Синтаксис mv:

mv [options] source destination

Корисні опції mv:

  • -i – Запитувати перед перезаписом будь-яких існуючих файлів у місці призначення. Це запобігає випадковому перезапису даних.
  • -v – Виводити детальну інформацію, показуючи кожен файл або директорію, яка переміщується. Це корисно для підтвердження того, що саме було переміщено.

Наприклад:

mv ~/folder1 /tmp/folder1

Вище наведений приклад переміщує folder1 з домашньої директорії (~) до директорії /tmp/. Розглянемо ще один приклад використання команди mv для перейменування файлів.

mv folder1 folder2

Тут, “folder1” перейменовано на “folder2.

8. rm – Видалити файли та директорії

Команда rm видаляє файли та каталоги. Будьте обережні, оскільки видалені файли та каталоги не можуть бути відновлені.

Синтаксис такий:

rm [options] name

Корисні параметри rm:

  • -r – Рекурсивно видалити директорії, включаючи весь вміст у них. Це необхідно при видаленні директорій.
  • -f – Примусове видалення та придушення усіх запитів на підтвердження. Це небезпечна команда, оскільки файли не можуть бути відновлені, коли їх немає!
  • -i – Запит на підтвердження перед видаленням кожного файлу або директорії, що забезпечує захист від випадкового видалення.

Наприклад:

rm -rf temp

Це рекурсивно видаляє директорію “temp” та всі її вміст без запитів (-f ігнорує підтвердження).

Примітка: Команда rm назавжди видаляє файли та папки, тому використовуйте її з особливою обережністю. Якщо використовувати з правами sudo, ви також можете повністю видалити кореневий каталог, і після перезавантаження комп’ютера Linux більше не працюватиме. 

9. find – Пошук файлів у ієрархії директорій

Команда find рекурсивно шукає файли в директоріях, що відповідають заданим критеріям.

Базовий синтаксис find:

find [path] [criteria]

Деякі корисні критерії вибору для пошуку включають:

  • -type f – Пошук лише звичайних файлів, без директорій.
  • -mtime +30 – Пошук файлів, змінених більше 30 днів тому.
  • -user jane – Пошук файлів, що належать користувачу “jane”.

Наприклад:

find . -type f -mtime +30

Це знайде всі звичайні файли старше 30 днів у поточному каталозі (позначеному крапкою).

Команда find дозволяє шукати файли на основі різних умов, таких як назва, розмір, права доступу, часові мітки, власність та багато іншого.

10. du – Оцінка використання простору файлами

Команда du вимірює використання місця файлом для даного каталогу. Коли використовується без параметрів, вона показує використання диску для поточного робочого каталогу.

Синтаксис для du:

du [options] [path]

Корисні опції du:

  • -h – Відображати розміри файлів у форматі, зручному для сприйняття, наприклад K для кілобайтів, а не у вигляді кількості байтів. Набагато легше аналізувати.
  • -s – Показувати тільки загальний розмір директорії, а не перелічувати кожну піддиректорію та файл. Гарно для підсумків.
  • -a – Показувати розміри окремих файлів на додаток до загальних. Допомагає ідентифікувати великі файли.

Наприклад:

du -sh pictures

Це відобразить загальний людино-зрозумілий розмір директорії “pictures”.

Команда du корисна для аналізу використання дискового простору дерева каталогів та виявлення файлів, які споживають надмірний простір.

Команди пошуку та фільтрації в Linux

Тепер давайте розглянемо команди, які дозволяють шукати, фільтрувати та маніпулювати текстом прямо з командного рядка Linux.

11. grep – Пошук тексту за допомогою шаблонів

Команда grep використовується для пошуку текстових шаблонів у файлах або виводі. Вона виводить будь-які рядки, які відповідають заданому регулярному виразу. grep є надзвичайно потужним інструментом для пошуку, фільтрації та зіставлення шаблонів у Linux.

Ось базовий синтаксис:

grep [options] pattern [files]

Наприклад:

grep -i "error" /var/log/syslog

Цей пошук в файлі syslog для слова «error», ігноруючи чутливість до регістру.

Кілька корисних опцій grep:

  • -i – Ігнорувати відмінності регістру в шаблонах
  • -R – Рекурсивно шукати в підкаталогах
  • -c – Друкувати лише кількість збігів у рядках
  • -v – Інвертувати відповідність, друкувати неспівпадаючі рядки

grep дозволяє швидко шукати файли та виводити за ключовими словами або шаблонами. Це незамінний інструмент для аналізу логів, пошуку вихідного коду, співставлення регулярних виразів та витягу даних.

12. awk – Мова сканування та обробки шаблонів

Команда awk дозволяє виконувати більш складну обробку тексту на основі заданих шаблонів та дій. Вона працює на основі строк, розділяючи кожну строку на поля.

Синтаксис awk:

awk 'pattern { action }' input-file

Наприклад:

awk '/error/ {print $1}' /var/log/syslog

Це друкує перше поле будь-якого рядка, що містить “error.” awk також може використовувати вбудовані змінні на кшталт NR (кількість записів) та NF (кількість полів).

Розширені можливості awk включають:

  • Математичні обчислення на полях
  • Умовні висловлювання
  • Вбудовані функції для маніпуляції рядками, числами та датами
  • Контроль форматування виводу

Це робить awk підходящим для вилучення даних, складання звітів та перетворення текстового виводу. awk є надзвичайно потужним, оскільки це незалежна мова програмування, що надає вам багато можливостей як команди Linux.

13. sed – Потоковий редактор для фільтрації та трансформації тексту

Команда sed дозволяє фільтрувати та трансформувати текст. Вона може виконувати операції, такі як пошук/заміна, видалення, транспозиція та інші. Однак, на відміну від awk, sed була розроблена для редагування рядків за інструкціями на рівні окремих рядків.

Ось базовий синтаксис:

sed options 'commands' input-file

Наприклад:

sed 's/foo/bar/' file.txt

Це замінює “foo” на “bar” у file.txt.

Деякі корисні команди sed:

  • s – Пошук та заміна тексту
  • /pattern/d – Видалити рядки, які відповідають шаблону
  • 10,20d – Видалити рядки 10-20
  • 1,3!d – Видалити усі, крім рядків 1-3

sed ідеально підходить для задач, таких як масовий пошук/заміна, вибіркове видалення рядків та інші операції редагування текстових потоків.

14. sort – Сортування рядків текстових файлів

Коли ви працюєте з великою кількістю тексту або даних, або навіть з великими результатами інших команд, їх сортування є чудовим способом зробити це керованим. Команда sort впорядкує рядки текстового файлу в алфавітному або числовому порядку.

Базовий синтаксис сортування:

sort [options] [file]

Корисні опції сортування:

  • -n – Сортувати числово замість алфавітного
  • -r – Змінити порядок сортування на зворотний
  • -k – Сортувати за конкретним полем або стовпцем

Наприклад:

sort -n grades.txt

Це числове сортування вмісту файлу grades.txt. sort зручний для упорядкування вмісту файлів для більш читабельного виводу або аналізу.

15. uniq – Звітувати або Пропускати Повторювані Рядки

Команда uniq фільтрує повторювані суміжні рядки з вхідних даних. Це часто використовується разом з сортуванням.

Основний синтаксис:

uniq [опції] [вхід]

Опції:

  • -c – Попереду унікальних рядків виводьте кількість їхніх повторень.
  • -d – Виводити лише повторювані рядки, а не унікальні.

Наприклад:

sort data.txt | uniq

Це видалить будь-які дубльовані рядки у файлі data.txt після сортування. uniq дає вам можливість контролювати фільтрацію повторюваного тексту.

16. diff – Порівняння файлів по рядках

Команда diff порівнює два файли рядок за рядком і виводить різниці. Вона часто використовується для показу змін між версіями файлів.

Синтаксис:

diff [options] file1 file2

Опції:

  • -b – Ігнорувати зміни в пробілах.
  • -B – Показувати відмінності в рядку, виділяючи зміни.
  • -u – Виводити відмінності з трьома рядками контексту.

Наприклад:

diff original.txt updated.txt

Це виведе рядки, які відрізняються між original.txt та updated.txt. diff є незамінним для порівняння ревізій текстових файлів та вихідного коду.

17. wc – Друк рядків, слів та байтів

Команда wc (підрахунок слів) виводить кількість рядків, слів та байтів у файлі.

Синтаксис:

wc [options] [file]

Опції:

  • -l – Вивести лише кількість рядків.
  • -w – Вивести лише кількість слів.
  • -c – Вивести лише кількість байтів.

Наприклад:

wc report.txt

Ця команда виведе кількість рядків, слів та байтів у файлі report.txt.

Команди перенаправлення в Linux

Команди перенаправлення використовуються для керування джерелами вводу і виводу в Linux, дозволяючи вам надсилати та додавати потоки виводу до файлів, брати вхідні дані з файлів, з’єднувати кілька команд і розділяти вивід на декілька напрямків.

18. > – Перенаправлення стандартного виводу

Оператор > redirection перенаправляє стандартний потік виводу з команди до файлу замість виведення на термінал. Будь-який існуючий вміст файлу буде перезаписано.

Наприклад:

ls -l /home > homelist.txt

Це виконає ls -l для виведення вмісту директорії /home.

Тоді, замість виводу цього результату до терміналу, символ > перехоплює цей стандартний вивід і записує його до homelist.txt, перезаписуючи будь-який існуючий вміст файлу.

Перенаправлення стандартного виводу корисне для збереження результатів команд у файлах для зберігання, налагодження або об’єднання команд.

19. >> – Додати Стандартний Вивід

Оператор >> додає стандартний вивід з команди до файлу без перезапису існуючого вмісту.

Наприклад:

tail /var/log/syslog >> logfile.txt

Це додасть останні 10 рядків файлу журналу syslog в кінець файлу logfile.txt. На відміну від >, >> додає вивід без стирання поточного вмісту logfile.txt.

Додавання корисне для збору виводу команд в одному місці без втрати існуючих даних.

20. < – Перенаправлення стандартного вводу

Оператор перенаправлення < передає вміст файлу як стандартний вхід до команди, замість того, щоб брати вхід з клавіатури.

Наприклад:

wc -l < myfile.txt

Це відправляє вміст myfile.txt як вхід на команду wc, яка рахуватиме рядки у цьому файлі замість очікування введення з клавіатури.

Перенаправлення вводу корисне для обробки файлів пакетами та автоматизації робочих процесів.

21. | – Передати вивід в іншу команду

Оператор | передає вихід з однієї команди як вхід до іншої команди, з’єднуючи їх разом.

Наприклад:

ls -l | less

Це передає вивід команди ls -l у команду less, що дозволяє прокручувати список файлів.

Трубопровід часто використовується для з’єднання команд, де вихід однієї команди є входом для іншої. Це дозволяє створювати складні операції з менших програм з однією функцією.

22. tee – Читання зі стандартного вводу та запис у стандартний вивід та файли

Команда tee розділяє стандартний ввід на два потоки.

Він записує вхідні дані до стандартного виводу (показує результат основної команди), одночасно зберігаючи копію у файлі.

Наприклад:

cat file.txt | tee copy.txt

Це відображає вміст file.txt у терміналі, одночасно записуючи його у copy.txt.

tee відрізняється від перенаправлення, оскільки ви не бачите результату, доки не відкриєте файл, до якого було перенаправлено вивід.

Команди архівування

Команди архівації дозволяють згрупувати кілька файлів та директорій у стиснуті архівні файли для зручності перенесення та зберігання. Поширені формати архівів у Linux включають .tar, .gz, та .zip.

23. tar – Зберігання та вилучення файлів з архіву

Команда tar допомагає вам працювати з файлами архіву на стрічці (.tar). Вона дозволяє об’єднувати кілька файлів та директорій в один стиснутий файл .tar.

Синтаксис:

tar [options] filename

Корисні параметри tar:

  • -c – Створити новий файл архіву .tar.
  • -x – Розпакувати файли з архіву .tar.
  • -f – Вказати назву файлу архіву замість stdin/stdout.
  • -v – Докладний вивід, що показує архівовані файли.
  • -z – Стиснути або розстиснути архів за допомогою gzip.

Наприклад:

tar -cvzf images.tar.gz /home/user/images

Це створює gzip-стиснутий tar-архів під назвою images.tar.gz, який містить папку /home/user/images.

24. gzip – Стискання або розширення файлів

Команда gzip стискає файли за допомогою кодування LZ77 для зменшення їх розміру для зберігання або передачі. Разом з gzip ви працюєте з файлами .gz.

Синтаксис:

gzip [options] filename

Корисні опції gzip:

  • -c – Записувати вивід у stdout замість файлу.
  • -d – Розархівувати файл замість архівування.
  • -r – Рекурсивно архівувати каталоги.

Наприклад:

gzip -cr documents/

Вказана вище команда рекурсивно стискає папку з документами та виводить результат у stdout.

25. gunzip – Розпакування файлів

Команда gunzip використовується для розпакування .gz файлів.

Синтаксис:

gunzip filename.gz

Приклад:

gunzip documents.tar.gz

Вищевказана команда витягне оригінальний нерозпакований вміст documents.tar.gz.

26. zip – Пакування та стиснення файлів

Команда zip створює архівовані файли .zip, що містять стислий вміст файлів.

Синтаксис:

zip [options] archive.zip filenames

Корисні опції zip:

  • -r – Рекурсивно стискає директорію.
  • -e – Шифрує вміст за допомогою пароля.

Приклад:

zip -re images.zip pictures

Це шифрує та стискає папку з картинками в images.zip.

27. unzip – Розпакувати файли з ZIP-архівів

Схоже на gunzip, команда unzip витягує та розпаковує файли з .zip архівів.

Синтаксис:

unzip archive.zip

Приклад:

unzip images.zip

Вищезазначена команда витягує всі файли з images.zip у поточному каталозі.

Команди передачі файлів

Команди передачі файлів дозволяють переміщувати файли між системами через мережу. Це корисно для копіювання файлів на віддалені сервери або завантаження контенту з інтернету.

28. scp – безпечне копіювання файлів між хостами

Команда scp (безпечне копіювання) копіює файли між хостами через з’єднання SSH. Всі передачі даних шифруються для безпеки.

Синтаксис scp копіює файли з джерельного шляху до місця призначення, визначеного як user@host:

scp source user@host:destination

Наприклад:

scp image.jpg user@server:/uploads/

Це безпечно копіює image.jpg до папки /uploads на сервері як користувач.

scp працює як команда cp, але для передачі файлів на віддалені машини. Вона використовує SSH (Secure Shell) для передачі даних, забезпечуючи шифрування для того, щоб жодні конфіденційні дані, такі як паролі, не були викриті через мережу. Аутентифікація зазвичай відбувається за допомогою ключів SSH, хоча можуть використовуватися і паролі. Файли можна копіювати як на віддалені хости, так і з них.

29. rsync – Синхронізація файлів між хостами

Інструмент rsync синхронізує файли між двома місцями, мінімізуючи передачу даних за допомогою кодування дельта. Це робить синхронізацію великих дерев каталогів швидшою.

Синтаксис rsync синхронізує джерело з призначенням:

rsync [options] source destination

Наприклад:

rsync -ahv ~/documents user@server:/backups/

Наведена вище команда рекурсивно синхронізує папку з документами з сервером:/backups/, показуючи докладний, зрозумілий для людини вивід.

Корисні опції rsync:

  • -a – Режим архіву синхронізує рекурсивно та зберігає дозволи, часи тощо.
  • -h – Вивід у зручному для читання форматі.
  • -v – Детальний вивід.

rsync є ідеальним для синхронізації файлів та папок з віддаленими системами та забезпечує децентралізоване резервне копіювання та безпеку.

30. sftp – Програма безпечної передачі файлів

Програма sftp забезпечує інтерактивну передачу файлів через SSH, схожу на звичайний FTP, але зашифровану. Вона може передавати файли на віддалені системи та з них.

sftp підключається до хосту, а потім приймає команди на кшталт:

sftp user@host

get remotefile localfile

put localfile remotefile

Це отримує remotefile з сервера та копіює localfile на віддалений хост.

sftp має інтерактивну оболонку для навігації віддаленими файловими системами, передачі файлів та каталогів, а також керування дозволами та властивостями.

31. wget – Завантаження файлів з інтернету

Інструмент wget завантажує файли через з’єднання HTTP, HTTPS та FTP. Він корисний для отримання веб-ресурсів безпосередньо з терміналу.

Наприклад:

wget https://example.com/file.iso

Це завантажує образ файлу.iso з віддаленого сервера.

Корисні параметри wget:

  • -c – Відновити перерване завантаження.
  • -r – Завантажувати рекурсивно.
  • -O – Зберегти в певний файл.

wget ідеально підходить для скриптів автоматичного завантаження та дзеркального відображення веб-сайтів.

32. curl – Передача даних з сервера або на сервер

Команда curl передає дані до або з мережевого сервера, використовуючи підтримувані протоколи. Це включає REST, HTTP, FTP та інші.

Наприклад:

curl -L https://example.com

Вищевказана команда отримує дані з HTTPS URL та виводить їх.

Корисні параметри curl:

  • -o – Запис виводу у файл.
  • -I – Показати тільки заголовки відповідей.
  • -L – Слідкувати за переадресаціями.

curl призначений для програмного передавання даних через мережі.

Команди прав на файли

Команди дозволів файлів дозволяють вам змінювати права доступу для користувачів. Це включає встановлення прав на читання/запис/виконання, зміну власності та режимів файлів за замовчуванням.

33. chmod – Змінити режими файлів або дозволи доступу

Команда chmod використовується для зміни прав доступу або режимів файлів та каталогів. Режими дозволів представляють, хто може читати, записувати або виконувати файл.

Наприклад:

chmod 755 file.txt

Існує три набори дозволів—власник, група та публіка. Дозволи встановлюються за допомогою числових режимів від 0 до 7:

  • 7 – читання, запис та виконання.
  • 6 – читання та запис.
  • 4 – тільки читання.
  • 0 – без дозволів.

Це встановлює дозволи власника на 7 (rwx), групи на 5 (r-x), і публічні на 5 (r-x). Ви також можете посилатися на користувачів та групи символічно:

chmod g+w file.txt

Синтаксис g+w додає дозвіл на запис у групу до файлу.

Встановлення належних дозволів для файлів та каталогів є важливим для безпеки Linux та контролю доступу. chmod надає вам гнучке управління для точної конфігурації дозволів за потребою.

34. chown – Зміна власника файлу та групи

Команда chown змінює власника файлу або директорії. Власність має два компоненти — користувач, який є власником, та група, до якої він належить.

Наприклад:

chown john:developers file.txt

Вищезазначена командна інструкція встановить власника користувача на “john” та власницьку групу на “developers.”

Тільки обліковий запис суперкористувача root може використовувати chown для зміни власників файлів. Він використовується для виправлення проблем з дозволами шляхом зміни власника та групи за потребою.

35. umask – Встановлення типових дозволів на файли

Команда umask контролює значення за замовчуванням дозволів, які надаються новоствореним файлам. Вона приймає восьмирічну маску як вхідні дані, яка віднімається з 666 для файлів і 777 для директорій.

Наприклад:

umask 007

Нові файли будуть мати дозволи 750 замість 666, а нові каталоги – 700 замість 777.

Встановлення umask дозволяє налаштувати права доступу до файлів за замовчуванням, а не покладатися на системні налаштування. Команда umask корисна для обмеження прав на нові файли без потреби в ручному додаванні обмежень.

Команди керування процесами

Ці команди дозволяють переглядати, моніторити та контролювати процеси, що виконуються на вашій системі Linux. Це корисно для ідентифікації використання ресурсів та зупинки програм, які працюють некоректно.

36. ps – Звіт стану поточних процесів

Команда ps відображає моментальний знімок поточно працюючих процесів, включаючи їх PID, TTY, stat, час запуску тощо.

Наприклад:

ps aux

Це показує кожен процес, який виконується всіма користувачами, з додатковими деталями, такими як використання ЦПУ та пам’яті.

Деякі корисні параметри ps:

  • aux – Показати процеси для всіх користувачів
  • --forest – Відобразити дерево батьківських/дочірніх процесів

ps надає вам можливість бачити, що зараз виконується на вашій системі.

37. top – Відображення процесів Linux

Команда top показує інформацію про процеси в Linux у реальному часі, включаючи PID, користувача, використання CPU %, використання пам’яті, час роботи та багато іншого. На відміну від ps, вона динамічно оновлює дисплей, відображаючи поточне використання.

Наприклад:

top -u mysql

Вищезазначена команда моніторить процеси лише для користувача “mysql”. Це стає дуже корисним для виявлення програм, що інтенсивно використовують ресурси.

38. htop – Інтерактивний переглядач процесів

Команда htop є інтерактивним переглядачем процесів, який замінює команду top. Вона показує системні процеси разом із графіками використання CPU/пам’яті/свопу, дозволяє сортувати за колонками, завершувати програми та багато іншого.

Просто введіть htop у командному рядку, щоб переглянути ваші процеси.

htop має покращений інтерфейс з кольорами, прокруткою та підтримкою миші для зручнішої навігації порівняно з top. Відмінно підходить для дослідження процесів.

гістограма показує, що розробники віддають перевагу Linux (76,9%) порівняно з Docker (73,6%) та Kubernetes (71,1%)

39. kill – Надіслати сигнал процесу

Команда kill відправляє сигнал процесу, щоб завершити або зупинити його. Сигнали дозволяють коректне завершення роботи, якщо процес їх обробляє.

Наприклад:

kill -15 12345

Наведена вище команда відправляє сигнал SIGTERM (15) для коректного завершення процесу з PID 12345.

40. pkill – Відправити сигнал процесу за назвою

Команда pkill завершує процеси за назвою замість PID. Це може полегшити процес, ніж спочатку шукати PID.

Наприклад:

pkill -9 firefox

Це примусово зупиняє всі процеси Firefox за допомогою SIGKILL (9). pkill визначає процеси, використовуючи ім’я, користувача та інші критерії, а не PID.

41. nohup – Виконати команду, невразливу до збоїв

Команда nohup запускає процеси, невразливі до збоїв, тому вони продовжують працювати, якщо ви вийдете з системи або втратите зв’язок.

Наприклад:

nohup python script.py &

Наведена вище команда запустить script.py у фоновому режимі і зробить його нечутливим до збоїв. nohup зазвичай використовується для запуску постійних фонових демонів та сервісів.

Команди моніторингу продуктивності

Ці команди надають цінну статистику продуктивності системи, щоб допомогти аналізувати використання ресурсів, виявляти вузькі місця та оптимізувати ефективність.

42. vmstat – Звіт статистики віртуальної пам’яті

Команда vmstat виводить детальні звіти про пам’ять, своп, введення/виведення та активність процесора. Це включає метрики, як-от використана/вільна пам’ять, своп введення/виведення, блоки диска, що читаються/записуються, та час процесора, витрачений на процеси/бездіяльність.

Наприклад:

vmstat 5

Інші корисні опції vmstat:

  • -a – Показати активну та неактивну пам’ять
  • -s – Відображати лічильники подій та статистику пам’яті
  • -S – Вивід у КБ замість блоків
  • 5 – Вивід оновлюється кожні 5 секунд.

Приклад вище виводить дані про пам’ять та CPU кожні 5 секунд до переривання, що корисно для моніторингу поточної продуктивності системи.

43. iostat – Звіт статистики CPU та введення/виведення

Команда iostat моніторить та відображає використання ЦПУ та метрики дискового вводу/виводу. Це включає навантаження на ЦПУ, IOPS, пропускну здатність читання/запису та інше.

Наприклад:

iostat -d -p sda 5

Деякі параметри iostat:

  • -c – Показати інформацію про використання ЦПУ
  • -t – Друкувати часову мітку для кожного звіту
  • -x – Показувати розширену статистику, як-от час обслуговування та кількість очікувань
  • -d – Показати детальну статистику по диску/партитурі замість загальних підсумків
  • -p – Показати статистику для конкретних дискових пристроїв

Це показує детальну статистику вводу/виводу на пристрій для sda кожні 5 секунд.

iostat допомагає аналізувати продуктивність дискової підсистеми та виявляти апаратні вузькі місця.

44. free – Відображення обсягу вільної та використаної пам’яті

Команда free показує загальну кількість, використану та вільну кількість фізичної та своп-пам’яті в системі. Це дає огляд доступної пам’яті.

Наприклад:

free -h

Деякі параметри для безкоштовної команди:

  • -b – Відображати вихідні дані в байтах
  • -k – Показувати вихідні дані в KB замість стандартних байтів
  • -m – Показувати вихідні дані в MB замість байтів
  • -h – Друкувати статистику в зрозумілому форматі, як GB, MB замість байтів.

Це виводить статистику пам’яті у зручному для читання форматі (GB, MB тощо). Це корисно, коли вам потрібен швидкий огляд ємності пам’яті.

45. df – Звіт про використання дискового простору файлової системи

Команда df відображає використання дискового простору для файлових систем. Вона показує назву файлової системи, загальний/використаний/доступний простір та ємність.

Наприклад:

df -h

Вказана команда виведе використання диска у форматі, зручному для читання. Ви також можете виконати її без аргументів, щоб отримати ті ж дані у розмірах блоків.

46. sar – Збір та звітування системної активності

Інструмент sar збирає та записує інформацію про активність системи щодо CPU, пам’яті, вводу/виводу, мережі та іншого з часом. Ці дані можуть бути проаналізовані для виявлення проблем з продуктивністю.

Наприклад:

sar -u 5 60

Цей приклад вимірює використання ЦП кожні 5 секунд протягом 60 зразків.

sar забезпечує детальні історичні дані про продуктивність системи, які не доступні в інструментах реального часу.

Команди управління користувачами

При використанні систем з кількома користувачами вам можуть знадобитися команди, які допомагають управляти користувачами та групами для контролю доступу та дозволів. Давайте розглянемо ці команди тут.

47. useradd – Створити нового користувача

Команда useradd створює новий обліковий запис користувача та домашній каталог. Вона встановлює новий UID користувача, групу, Shell та інші параметри за замовчуванням.

Наприклад:

useradd -m john

Корисні параметри команди useradd:

  • -m – Створити домашній каталог користувача.
  • -g – Вказати основну групу замість стандартної.
  • -s – Встановити оболонку входу користувача.

Вищевказана команда створить нового користувача, “john,” з генерованим UID та домашньою папкою, створеною в /home/john.

48. usermod – Змінити обліковий запис користувача

Команда usermod змінює налаштування існуючого користувацького облікового запису. Це може змінити ім’я користувача, домашній каталог, Shell, групу, дату закінчення терміну дії тощо.

Наприклад:

usermod -aG developers john

За допомогою цієї команди ви додаєте користувача john до додаткової групи—“developers.” Параметр -a додає до існуючого списку груп, до яких доданий користувач.

49. userdel – Видалення облікового запису користувача

Команда userdel видаляє користувацький акаунт, домашній каталог та поштову чергу.

Наприклад:

userdel -rf john

Корисні параметри userdel:

  • -r – Видалити домашній каталог користувача та поштову скриньку.
  • -f – Примусове видалення, навіть якщо користувач все ще залогінений.

Це змушує видалити користувача “john” разом з асоційованими файлами.

Вказання опцій, таких як -r та -f разом з userdel, забезпечує повне видалення облікового запису користувача, навіть якщо користувач увійшов у систему або має активні процеси.

50. groupadd – Додати групу

Команда groupadd створює нову групу користувачів. Групи представляють команди або ролі для цілей дозволів.

Наприклад:

groupadd -r sysadmin

Корисні параметри groupadd:

  • -r – Створити системну групу, що використовується для основних системних функцій.
  • -g – Вказати GID нової групи замість використання наступного доступного.

Вищевказана команда створює нову групу “sysadmin” з системними привілеями. При створенні нових груп, -r або -g допомагають правильно їх налаштувати.

51. passwd – Оновлення токенів аутентифікації користувача

Команда passwd встановлює або оновлює пароль/токени аутентифікації користувача. Це дозволяє змінити ваш пароль для входу.

Наприклад:

passwd john

Це змушує користувача “john” ввести новий пароль інтерактивно. Якщо ви втратили пароль до облікового запису, ви можете увійти в Linux з правами sudo або su і змінити пароль тим самим способом.

Команди мережі

Ці команди використовуються для моніторингу з’єднань, усунення проблем мережі, маршрутизації, DNS запитів та налаштувань інтерфейсу.

52. ping – Надсилання ICMP ECHO_REQUEST мережевим хостам

Команда ping перевіряє з’єднання з віддаленим хостом, відправляючи пакети ICMP echo request та очікуючи на відповідь echo.

Наприклад:

ping google.com
PING google.com (142.251.42.78): 56 data bytes
64 bytes from 142.251.42.78: icmp_seq=0 ttl=112 time=8.590 ms
64 bytes from 142.251.42.78: icmp_seq=1 ttl=112 time=12.486 ms
64 bytes from 142.251.42.78: icmp_seq=2 ttl=112 time=12.085 ms
64 bytes from 142.251.42.78: icmp_seq=3 ttl=112 time=10.866 ms
--- google.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 8.590/11.007/12.486/1.518 ms

Корисні параметри ping:

  • -c [count] – Обмежити кількість відправлених пакетів.
  • -i [interval] – Чекати інтервал секунд між пінгами.

За допомогою вказаної команди ви пінгуєте google.com та отримуєте статистику кругового походження, що вказує на з’єднання та затримку. Загалом, ping використовується для перевірки, чи система, з якою ви намагаєтесь з’єднатися, жива та підключена до мережі.

53. ifconfig – Налаштування мережевих інтерфейсів

Команда ifconfig відображає та налаштовує параметри мережевого інтерфейсу, включаючи IP-адресу, маску мережі, широкомовну адресу, MTU та апаратну MAC-адресу.

Наприклад:

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe1e:ef1d  prefixlen 64  scopeid 0x20<link>
ether 08:00:27:1e:ef:1d  txqueuelen 1000  (Ethernet)
RX packets 23955654  bytes 16426961213 (15.3 GiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 12432322  bytes 8710937057 (8.1 GiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Запуск ifconfig без інших аргументів надасть вам список усіх мережевих інтерфейсів, доступних для використання, разом з IP та додатковою мережевою інформацією. ifconfig також може використовуватися для встановлення адрес, ввімкнення/вимкнення інтерфейсів та зміни налаштувань.

54. netstat – Статистика мережі

Команда netstat показує мережеві з’єднання, таблиці маршрутизації, статистику інтерфейсів, з’єднання маскараду та членство в мультикастах.

Наприклад:

netstat -pt tcp

Ця команда виведе всі активні TCP-з’єднання та процеси, які їх використовують.

55. ss – Статистика сокетів

Команда ss виводить статистичну інформацію про сокети, подібно до netstat. Вона може показувати відкриті TCP та UDP сокети, розміри буферів відправлення/приймання, та більше.

Наприклад:

ss -t -a

Це друкує всі відкриті TCP сокети. Ефективніше, ніж netstat.

56. traceroute – Trace Route To Host

Команда traceroute відображає шлях пакетів до мережевого хоста, показуючи кожен крок на шляху та час транзиту. Корисна для налагодження мережі.

Наприклад:

traceroute google.com

Це відстежує шлях до досягнення google.com та виводить кожен мережевий стрибок.

57. dig - DNS Lookup

Команда dig виконує пошук DNS та повертає інформацію про DNS записи для домену.

Наприклад:

dig google.com
; <<>> DiG 9.10.6 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60290
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 220 IN A 142.251.42.78
;; Query time: 6 msec
;; SERVER: 2405:201:2:e17b::c0a8:1d01#53(2405:201:2:e17b::c0a8:1d01)
;; WHEN: Срд, 15 лист. 2023 01:36:16 IST
;; MSG SIZE  rcvd: 55

Цей запит звертається до DNS серверів за записами, пов’язаними з google.com, і виводить деталі.

58. nslookup – Інтерактивний запит до Інтернет-серверів імен

Команда nslookup інтерактивно запитує DNS-сервери для виконання пошуку розв’язання назв або відображення DNS-записів.

Він запускає інтерактивний Shell, дозволяючи вам вручну шукати назви хостів, зворотні IP-адреси, знаходити типи DNS-записів та багато іншого.

Наприклад, деякі звичайні випадки використання nslookup. Введіть nslookup у вашому командному рядку:

nslookup

Далі ми встановимо DNS сервер Google 8.8.8.8 для пошуку.

> server 8.8.8.8

Тепер давайте запитаємо A запис stackoverflow.com щоб знайти його IP-адресу.

> set type=A
> stackoverflow.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: stackoverflow.com
Address: 104.18.32.7
Name: stackoverflow.com
Address: 172.64.155.249

Тепер давайте знайдемо MX записи для github.com, щоб побачити його поштові сервери.

> set type=MX
> github.com
Сервер: 8.8.8.8
Адреса: 8.8.8.8#53
Неавторитетна відповідь:
github.com обмінник пошти = 1 aspmx.l.google.com.
github.com обмінник пошти = 5 alt1.aspmx.l.google.com.
github.com обмінник пошти = 5 alt2.aspmx.l.google.com.
github.com обмінник пошти = 10 alt3.aspmx.l.google.com.
github.com обмінник пошти = 10 alt4.aspmx.l.google.com.

Інтерактивні запити роблять nslookup дуже корисним для дослідження DNS та усунення проблем з розв’язанням імен.

59. iptables – Фільтрація пакетів IPv4 і NAT

Команда iptables дозволяє налаштовувати правила брандмауера Linux netfilter для фільтрації та обробки мережевих пакетів. Вона встановлює політики та правила для того, як система буде обробляти різні типи вхідних та вихідних з’єднань та трафіку.

Наприклад:

iptables -A INPUT -s 192.168.1.10 -j DROP

Вказана вище команда блокуватиме всі вхідні дані з IP 192.168.1.10.

iptables забезпечує потужне керування брандмауером ядра Linux для обробки маршрутизації, NAT, фільтрації пакетів та іншого контролю трафіку. Це критично важливий інструмент для забезпечення безпеки серверів Linux.

60. ip – керування мережевими пристроями та маршрутизацією

Команда ip дозволяє керувати та моніторити різні дії, пов’язані з мережевими пристроями, такі як призначення IP-адрес, налаштування підмереж, відображення деталей з’єднання та налаштування опцій маршрутизації.

Наприклад:

ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:8a:5c:04 brd ff:ff:ff:ff:ff:ff

Вищевказана команда показує всі мережеві інтерфейси, їх стан та іншу інформацію.

Ця команда має на меті замінити ifconfig більш сучасним управлінням мережею Linux. ip може керувати мережевими пристроями, таблицями маршрутизації та іншими налаштуваннями мережевого стеку.

Команди керування пакетами

Менеджери пакетів дозволяють легко встановлювати, оновлювати та видаляти програмне забезпечення в дистрибутивах Linux. Популярні менеджери пакетів включають APT, YUM, DNF, Pacman та Zypper.

61. apt – Менеджер пакетів Debian/Ubuntu

Команда apt керує пакетами на системах Debian/Ubuntu за допомогою репозиторію APT. Вона дозволяє встановлювати, оновлювати та видаляти пакети.

Наприклад:

apt update

Ця команда отримує останні версії пакетів та метадані з репозиторіїв.

apt install nginx

Ви можете встановити пакет nginx з налаштованих репозиторіїв APT, використовуючи вищезазначену команду.

apt upgrade

Ця команда оновлює пакети та залежності до новіших версій.

APT спрощує встановлення програмного забезпечення, отримуючи пакети з репозиторіїв.

62. pacman – Менеджер пакетів Arch Linux

pacman керує пакетами в Arch Linux з репозиторію Arch User Repository. Він може встановлювати, оновлювати та видаляти пакети.

Наприклад:

pacman -S nmap

Це встановлює пакет nmap з налаштованих репозиторіїв.

pacman -Syu

Це синхронізується з репозиторіями та оновлює всі пакети.

pacman тримає Arch Linux оновленим і дозволяє легко керувати пакетами.

63. dnf – Менеджер пакетів Fedora

dnf встановлює, оновлює та видаляє пакети в дистрибутивах Fedora Linux, використовуючи RPM пакети. Він замінює Yum як менеджер пакетів нового покоління.

Наприклад:

dnf install util-linux

Це встановлює пакет util-linux.

dnf upgrade

Це оновлює всі встановлені пакети до останніх версій.

dnf робить управління пакетами Fedora швидким і ефективним.

64. yum – Менеджер пакетів Red Hat

yum керує пакетами в дистрибутивах Linux RHEL та CentOS, використовуючи пакети RPM. Він отримує їх з репозиторіїв Yum для встановлення та оновлення.

Наприклад:

yum update

Це оновлює всі встановлені пакети до останніх версій.

yum install httpd

Наведена вище команда встановлює пакет Apache httpd. yum був основним менеджером пакетів для оновлення дистрибутивів Red Hat.

65. zypper – Менеджер пакетів OpenSUSE

zypper керує пакетами на SUSE/openSUSE Linux. Він може додавати репозиторії, шукати, встановлювати та оновлювати пакети.

Наприклад:

zypper refresh

Команда оновлення для zypper оновлює метадані репозиторію з доданих репозиторіїв.

zypper install python

Це встановлює пакет Python з налаштованих репозиторіїв. zypper робить досвід управління пакетами беззусильним на системах SUSE/openSUSE.

66. flatpak – Менеджер пакетів додатків Flatpak

Команда flatpak допомагає вам керувати програмами та середовищами виконання Flatpak. flatpak дозволяє розповсюджувати десктопні програми в ізольованому середовищі на різних дистрибутивах Linux.

Наприклад:

flatpak install flathub org.libreoffice.LibreOffice

Наприклад, вищевказана команда встановить LibreOffice з репозиторію Flathub.

flatpak run org.libreoffice.LibreOffice

А цей запускає ізольований застосунок LibreOffice Flatpak. flatpak надає централізований міждистрибутивний репозиторій застосунків для Linux, тому ви більше не обмежені пакетами, доступними лише в бібліотеці пакетів конкретного дистрибутива.

67. appimage – Менеджер Пакетів Додатків AppImage

AppImage пакети є самодостатніми додатками, які працюють на більшості дистрибутивах Linux. Команда appimage запускає наявні AppImages.

Наприклад:

chmod +x myapp.AppImage
./myapp.AppImage

Це дозволяє безпосередньо запускати бінарний файл AppImage.

AppImages дозволяють розгортання додатків без установки на весь системний рівень. Уявіть їх як невеликі контейнери, які включають усі файли, необхідні для роботи додатку без залучення багатьох зовнішніх залежностей.

68. snap – Менеджер пакетів Snappy Application

Команда snap керує snap-пакетами—контейнеризованими програмними пакетами. Snaps автоматично оновлюються і працюють у різних дистрибутивах Linux, подібно до Flatpak.

Наприклад:

snap install vlc

Ця проста команда встановлює snap медіаплеєра VLC.

snap run vlc

Після встановлення ви можете використовувати snap для запуску пакетів, які встановлені через snap, використовуючи вищезазначену команду. Snaps ізолюють додатки від базової системи для портативності та дозволяють чистіші встановлення.

Команди інформації системи

Ці команди дозволяють вам переглядати деталі про апаратне забезпечення вашої системи Linux, ядро, дистрибутиви, назви хостів, час безперервної роботи та більше.

69. uname – Друк інформації про систему

Команда uname виводить детальну інформацію про ядро системи Linux, архітектуру апаратури, назву хосту та операційну систему. Це включає номери версій та інформацію про машину.

Наприклад:

uname -a
Linux hostname 5.4.0-48-generic x86_64 GNU/Linux

uname корисний для запитів цих основних деталей системи. Деякі опції включають:

  • -a – Роздрукувати всю доступну системну інформацію
  • -r – Роздрукувати лише номер випуску ядра

Вищенаведена команда вивела розширену інформацію про систему, включаючи назву/версію ядра, архітектуру обладнання, назву хоста та ОС.

uname -r

Це виведе тільки номер релізу ядра. Команда uname показує деталі про основні компоненти вашої системи Linux.

70. hostname – Показати або встановити назву хосту системи

Команда hostname виводить або встановлює ідентифікатор назви хоста для вашої Linux системи в мережі. Без аргументів вона показує поточну назву хоста. Передача імені оновить назву хоста.

Наприклад:

hostname
linuxserver

Це виводить linuxserver — налаштовану назву хоста системи.

hostname UbuntuServer

hostnames ідентифікують системи в мережі. hostname отримує або налаштовує ідентифікаційне ім’я вашої системи в мережі. Друга команда допомагає змінити локальне ім’я хоста на UbuntuServer.

71. uptime – Як довго система працює

Команда uptime показує, як довго система Linux працює з моменту останнього перезавантаження. Вона виводить час безперервної роботи та поточний час.

Просто виконайте наступну команду, щоб отримати дані про час безперервної роботи вашої системи:

uptime
23:51:26 up 2 days, 4:12, 1 user, load average: 0.00, 0.01, 0.05

Це виводить час безперервної роботи системи, показуючи, як довго система працювала з моменту останнього запуску.

72. whoami – Друк активного ID користувача

Команда whoami виводить назву користувача, який в даний момент залогований в систему. Вона показує рівень привілеїв, на якому ви працюєте.

Введіть команду у термінал для отримання ID:

whoami
john

Це виводить ефективне ім’я користувача, під яким поточний користувач увійшов і працює, і є корисним у скриптах або діагностиці для ідентифікації, які дії виконуються від імені користувача.

73. id – Друкувати реальні та ефективні ідентифікатори користувача та групи

Команда id виводить детальну інформацію про користувача та групу щодо ефективних ідентифікаторів та назв поточного користувача. Це включає:

  • Реальний ID користувача та ім’я.
  • Ефективний ID користувача та ім’я.
  • Реальний ID групи та ім’я.
  • Ефективний ID групи та ім’я.

Щоб використати команду id, просто введіть: 

id
uid=1000(john) gid=1000(john) groups=1000(john),10(wheel),998(developers)

Команда id виводить реальні та ефективні ідентифікатори користувача та групи поточного користувача. id показує деталі користувача та групи, які корисні для визначення дозволів на доступ до файлів.

74. lscpu – Відображення інформації про архітектуру CPU

Команда lscpu показує детальну інформацію про архітектуру CPU, включаючи:

  • Кількість ядер процесора
  • Кількість гнізд
  • Назва моделі
  • Розміри кешу
  • Частота процесора
  • Розміри адрес

Щоб використовувати команду lscpu, просто наберіть: 

lscpu
Архітектура:        x86_64
Режими роботи CPU:      32-біт, 64-біт
Порядок байтів:          Little Endian
CPU(и):              16
Список активних CPU: 0-15

lscpu надає деталі архітектури CPU, такі як кількість ядер, сокетів, назва моделі, кеші та більше.

75. lsblk – Список блокових пристроїв

Команда lsblk виводить інформацію про всі доступні блокові пристрої, включаючи локальні диски, розділи та логічні томи. Вивід включає назви пристроїв, мітки, розміри та точки монтування.

lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0   1.8T  0 disk
|-sda1    8:1    0   512M  0 part  /boot
|-sda2    8:2    0    16M  0 part
`-sda5    8:5    0   1.8T  0 part
`-lvm1 254:0    0   1.8T  0 lvm   /

lsblk відображає всі блочні пристрої, включаючи диски, розділи та логічні томи. Надає огляд пристроїв зберігання.

76. lsmod – Показати статус модулів у ядрі Linux

Команда lsmod виводить список наразі завантажених модулів ядра, таких як драйвери пристроїв. Це включає Networking, Місце та інші модулі, пов’язані з апаратним забезпеченням, які використовуються ядром Linux для взаємодії з внутрішніми та зовнішніми пристроями.

lsmod
Модуль                  Розмір  Використовується
ipv6                  406206  27
evdev                   17700  0
crct10dif_pclmul       16384  1
crc32_pclmul             16384  0
ghash_clmulni_intel    16384  0
aesni_intel           399871  0
aes_x86_64             20274  1 aesni_intel

Як ви можете бачити, він відображає список наразі завантажених модулів ядра, таких як драйвери пристроїв. У цьому випадку, показано використання модулів Networking, введення, криптографії та шифрування.

77. dmesg – Друк або керування буфером кільця ядра

Команда dmesg виводить повідомлення з буфера кільця ядра. Це включає важливі системні події, зафіксовані ядром під час запуску та роботи.

dmesg | grep -i error
[   12.345678] Помилка при отриманні відповіді на пакетне читання: -110
[   23.456789] tplink_mdio 0000:03:00.0: Пряме завантаження прошивки для tplink-mdio/leap_p8_v1_0.bin не вдалося з помилкою -2
[   40.567890] iwlwifi 0000:09:00.0: Пряме завантаження прошивки для iwlwifi-ty-a0-gf-a0-59.ucode не вдалося з помилкою -2

Пошук “error” вказує на проблеми з завантаженням конкретного мікропрограмного забезпечення. Це виводить буферизовані повідомлення журналу ядра, включаючи системні події, такі як запуск, помилки, попередження тощо.

Команди системного адміністрування

Команди системного адміністратора допомагають запускати програми від імені інших користувачів, вимикати або перезавантажувати систему, а також керувати ініціалізаційними системами та сервісами.

78. sudo – Виконати команду як інший користувач

Команда sudo дозволяє вам виконувати команди від імені іншого користувача, зазвичай суперкористувача. Після введення команди sudo вона запропонує вам ввести пароль для аутентифікації.

Це забезпечує підвищений доступ для завдань, таких як встановлення пакетів, редагування системних файлів, адміністрування послуг тощо.

Наприклад:

sudo adduser bob
[sudo] password for john:

Користувач ‘bob’ був доданий до системи.

Це використовує sudo для створення нового користувача, ‘bob’. Зазвичай звичайні користувачі не можуть додавати користувачів без sudo.

79. su – Змінити ідентифікатор користувача або стати суперкористувачем

Команда su дозволяє перейти на інший користувацький обліковий запис, включаючи суперкористувача. Ви повинні надати пароль цільового користувача для аутентифікації. Це дає прямий доступ до виконання команд у середовищі іншого користувача.

Наприклад:

su bob
Пароль:
bob@linux:~$

Після введення пароля користувача bob, ця команда перемикає поточного користувача на користувача ‘bob’. Запрошення Shell відобразить нового користувача.

80. shutdown – Вимкнення або перезавантаження Linux

Команда shutdown планує вимкнення системи, зупинку або перезавантаження після вказаного таймера або негайно. Це необхідно для безпечного перезавантаження або вимкнення багатокористувацьких систем Linux.

Наприклад:

shutdown -r now
Broadcast message from root@linux Fri 2023-01-20 18:12:37 CST:
Система зараз перезавантажується!

Це перезавантажує систему миттєво з попередженням для користувачів.

81. перезавантаження – Перезавантаження або рестарт системи

Команда reboot перезавантажує операційну систему Linux, виходячи з системи всіх користувачів та безпечно перезавантажуючи систему. Вона синхронізує диски та коректно вимикає систему перед перезапуском.

Наприклад:

reboot
Перезапуск системи.

Це негайно перезавантажує ОС. reboot є простою альтернативою команді shutdown -r.

82. systemctl – Керування системою systemd та менеджером сервісів

Команда systemctl дозволяє керувати службами systemd, такими як запуск, зупинка, перезапуск або перезавантаження. Systemd — це нова система ініціалізації, яка використовується у більшості сучасних дистрибутивів Linux, замінюючи SysV init.

Наприклад:

systemctl start apache2
==== АВТЕНТИФІКАЦІЯ ДЛЯ org.freedesktop.systemd1.manage-units ===
Для запуску 'apache2.service' потрібна автентифікація.
Автентифікація як: Ім'я користувача
Пароль:
==== АВТЕНТИФІКАЦІЯ ЗАВЕРШЕНА ===

Це запускає сервіс apache2 після аутентифікації.

83. сервіс – Запустити скрипт ініціалізації System V

Команда service запускає скрипти ініціалізації System V для керування сервісами. Це дозволяє запускати, зупиняти, перезапускати та перезавантажувати сервіси, які керуються за допомогою традиційного SysV init.

Наприклад:

service iptables start
[ ok ] Запуск iptables (через systemctl): iptables.service.

Наведена вище команда запускає службу брандмауера iptables за допомогою її SysV init-скрипта.

Інші команди Linux для випробування

  1. mount – Приєднати або “прикріпити” диски до системи.
  2. umount – Від’єднати або “видалити” диски з системи.
  3. xargs – Створює та виконує команди, отримані через стандартний вхід.
  4. alias – Створювати ярлики для довгих або складних команд.
  5. jobs – Перелік програм, що в даний час виконуються в фоновому режимі.
  6. bg – Відновити зупинений або призупинений фоновий процес.
  7. killall – Завершити процеси за назвою програми, а не за PID.
  8. history – Відображати раніше використані команди в поточній сесії терміналу.
  9. man – Отримання доступу до довідкових посібників для команд прямо в терміналі.
  10. screen – Управління кількома сесіями терміналу з одного вікна.
  11. ssh – Встановлення захищених шифрованих з’єднань з віддаленими серверами.
  12. tcpdump – Захоплення мережевого трафіку на основі конкретних критеріїв.
  13. watch – Повторювати команду через інтервали та виділяти різницю у виводі.
  14. tmux – Мультиплексор терміналу для стійких сесій та розподілу.
  15. nc – Відкривання TCP або UDP з’єднань для тестування та передачі даних.
  16. nmap – Відкриття хостів, сканування портів та визначення операційних систем.
  17. strace – Відлагодження процесів шляхом відстеження сигналів операційної системи та викликів.

7 основних порад щодо використання команд Linux

  1. Знайте свій Shell: Bash, zsh, fish? Різні оболонки мають унікальні можливості. Виберіть ту, яка найкраще відповідає вашим потребам.
  2. Оволодійте основними утилітами: ls, cat, grep, sed, awk тощо становлять основу набору інструментів Linux.
  3. Дотримуйтеся конвеєрів: Уникайте надмірного використання тимчасових файлів. Розумно поєднуйте програми.
  4. Перевіряйте перед перезаписом: Завжди подвійно перевіряйте перед перезаписом файлів за допомогою > та >>.
  5. Слідкуйте за своїми робочими процесами: Документуйте складні команди та робочі процеси для подальшого використання або обміну.
  6. Створюйте свої інструменти: Пишіть прості скрипти оболонки та псевдоніми для частих завдань.
  7. Починайте без sudo: Спочатку використовуйте стандартний обліковий запис користувача, щоб зрозуміти дозволи.

І пам’ятайте продовжувати тестувати нові команди на віртуальних машинах або VPS серверах, щоб вони стали для вас звичними, перш ніж ви почнете використовувати їх на продакшн-серверах.

Глосарій DreamHost

VPS Hosting

Віртуальний приватний сервер (VPS) – це віртуальна платформа, яка зберігає дані. Багато веб-хостів пропонують тарифні плани VPS хостингу, які надають власникам сайтів приватне місце на спільному сервері.

Читати далі

Кращий Linux Хостинг з DreamHost

Після того, як ви опануєте основні команди Linux, вам також потрібен провайдер хостингу і серверів, який надає вам повний контроль, щоб використовувати потужність і гнучкість Linux.

Ось де DreamHost відзначається.

DreamHost оптимізована інфраструктура Linux ідеально підходить для запуску ваших додатків, сайтів та сервісів:

  • Швидкий хостинг на сучасних серверах Linux.
  • Доступ до Shell через SSH для керування через командний рядок.
  • Налаштовувані версії PHP, включаючи PHP 8.0.
  • Веб-сервери Apache або NGINX.
  • Керовані бази даних MySQL, PostgreSQL, Redis.
  • Установка додатків в один клік, таких як WordPress та Drupal.
  • Підвищена швидкість завдяки SSD-прискореному зберіганню NVMe.
  • Безкоштовне автоматичне оновлення SSL сертифікатів Let’s Encrypt.

Експерти DreamHost можуть допомогти вам максимально використати платформу Linux. Наші сервери ретельно налаштовані для безпеки, продуктивності та надійності.

Запустіть свій наступний проект на Linux хостинговій платформі, якій ви можете довіряти. Розпочати з надійним, масштабованим хостингом на DreamHost.com.

Отримуйте вміст безпосередньо у свою скриньку

Підпишіться зараз, щоб отримувати всі останні оновлення безпосередньо у свою скриньку.