Linux є основою інтернету. Він забезпечує роботу майже 97% найкращих світових веб-серверів. І 55.9% професійних розробників використовують Linux для своїх потреб у розробці.
Проте, Linux має лише 2.68% частку ринку настільних комп’ютерів. Чому така різниця?
Основний акцент у Linux ніколи не був зосереджений на користувацькому інтерфейсі. Натомість, він був розроблений для надання вам повного контролю над операційною системою через командний рядок.
Це може зробити Linux залякуючим для початківців — А тисячі доступних команд лише ускладнюють це.
У цій статті ми розглядаємо сто найбільш корисних команд Linux. Вивчення хоча б кількох з цих команд може допомогти вам підвищити продуктивність як користувача Linux. Давайте зануримося в це!
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-201,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. Відмінно підходить для дослідження процесів.
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 для випробування
-
mount
– Приєднати або “прикріпити” диски до системи. -
umount
– Від’єднати або “видалити” диски з системи. -
xargs
– Створює та виконує команди, отримані через стандартний вхід. -
alias
– Створювати ярлики для довгих або складних команд. -
jobs
– Перелік програм, що в даний час виконуються в фоновому режимі. -
bg
– Відновити зупинений або призупинений фоновий процес. -
killall
– Завершити процеси за назвою програми, а не за PID. -
history
– Відображати раніше використані команди в поточній сесії терміналу. -
man
– Отримання доступу до довідкових посібників для команд прямо в терміналі. -
screen
– Управління кількома сесіями терміналу з одного вікна. -
ssh
– Встановлення захищених шифрованих з’єднань з віддаленими серверами. -
tcpdump
– Захоплення мережевого трафіку на основі конкретних критеріїв. -
watch
– Повторювати команду через інтервали та виділяти різницю у виводі. -
tmux
– Мультиплексор терміналу для стійких сесій та розподілу. -
nc
– Відкривання TCP або UDP з’єднань для тестування та передачі даних. -
nmap
– Відкриття хостів, сканування портів та визначення операційних систем. -
strace
– Відлагодження процесів шляхом відстеження сигналів операційної системи та викликів.
7 основних порад щодо використання команд Linux
- Знайте свій Shell: Bash, zsh, fish? Різні оболонки мають унікальні можливості. Виберіть ту, яка найкраще відповідає вашим потребам.
- Оволодійте основними утилітами:
ls
,cat
,grep
,sed
,awk
тощо становлять основу набору інструментів Linux. - Дотримуйтеся конвеєрів: Уникайте надмірного використання тимчасових файлів. Розумно поєднуйте програми.
- Перевіряйте перед перезаписом: Завжди подвійно перевіряйте перед перезаписом файлів за допомогою
>
та>>
. - Слідкуйте за своїми робочими процесами: Документуйте складні команди та робочі процеси для подальшого використання або обміну.
- Створюйте свої інструменти: Пишіть прості скрипти оболонки та псевдоніми для частих завдань.
- Починайте без
sudo
: Спочатку використовуйте стандартний обліковий запис користувача, щоб зрозуміти дозволи.
І пам’ятайте продовжувати тестувати нові команди на віртуальних машинах або VPS серверах, щоб вони стали для вас звичними, перш ніж ви почнете використовувати їх на продакшн-серверах.
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.