Linux є основою інтернету. Він приводить в дію майже 97% найкращих веб-серверів світу. Та 55.9% професійних розробників використовують Linux для своїх потреб у розробці.
Однак, Linux має лише 2.68% частку на ринку настільних комп’ютерів. Чому така розбіжність?
Основна увага в Linux ніколи не приділялася його користувацькому інтерфейсу. Натомість, він був розроблений для надання вам повного контролю над операційною системою через командний рядок.
Це може здатися залякуючим для початківців — А тисячі доступних команд лише підсилюють це враження.
У цій статті ми розглянемо сто найбільш корисних команд Linux. Вивчення хоча б кількох з цих команд допоможе вам підвищити вашу продуктивність як користувача Linux. Давайте зануримось прямо зараз!
Linux
Linux посилається на колекцію відкритих операційних систем (OS). Не існує єдиної операційної системи Linux. Замість цього, користувачі можуть вибирати з широкого спектру дистрибутивів Linux, кожен з яких пропонує різні можливості.
Читати більшеЩо таке команди Linux?
Команди Linux дозволяють керувати вашою системою з інтерфейсу командного рядка (CLI) замість використання миші чи тачпада. Це текстові інструкції, які вводяться в термінал, щоб точно повідомити вашій системі, що робити.
Команди, які ви вводите в терміналі Linux, чутливі до регістру та мають синтаксис у вигляді “command -options arguments
.” Ви можете комбінувати їх для складних завдань за допомогою конвеєрів та перенаправлення.
Деякі ключові речі, які потрібно знати про команди Linux:
- Вони чутливі до регістру; наприклад, “
ls
” та “LS
” означають різні речі. - Вони слідують певному синтаксису як “
command -options arguments
.” - Вони можуть бути комбіновані для складних операцій за допомогою пайплайнів та перенаправлення.
- Вони надають вам детальний контроль над вашою системою, чого важко досягнути з графічними інтерфейсами.
- Вони дозволяють автоматизувати завдання через скрипти оболонки та пакетну обробку.
- Вони можуть використовуватися для доступу до системних ресурсів таких як файлова система, мережа, пам’ять та CPU.
- Вони є основою взаємодії з серверами 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 [шлях] [критерії]
Деякі корисні критерії для пошуку включають:
-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 [options] [input]
Опції:
-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
– Вказати назву файлу архіву замість стандартного вводу/виводу.-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/
Вищевказана командна інструкція рекурсивно синхронізує папку документів до server:/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, статусом, часом запуску тощо.
Наприклад:
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
виводить детальні звіти про пам’ять, своп, ввод/вивід і активність CPU. Це включає в себе метрики, такі як використана/вільна пам’ять, своп вхід/вихід, блоки диска прочитані/записані, та час CPU, проведений на процесах/бездіяльності.
Наприклад:
vmstat 5
Інші корисні опції vmstat:
-a
– Показувати активну та неактивну пам’ять-s
– Відображати лічильники подій та статистику пам’яті-S
– Вивід в KB замість блоків5
– Оновлення виводу кожні 5 секунд.
Наведений вище приклад виводить дані пам’яті та ЦП кожні 5 секунд до переривання, що є корисним для моніторингу поточної продуктивності системи.
43. iostat – Звіт про статистику процесора та введення/виведення
Команда iostat
відстежує та відображає використання CPU та метрики дискового вводу/виводу. Це включає навантаження на CPU, IOPS, пропускну здатність читання/запису та більше.
Наприклад:
iostat -d -p sda 5
Деякі опції iostat:
-c
– Відображення інформації про використання ЦП-t
– Друк часової мітки для кожного звіту-x
– Показ розширеної статистики, як-от час обслуговування та кількість очікувань-d
– Показ детальної статистики по диску/партиті, а не загальні підсумки-p
– Відображення статистики для конкретних дискових пристроїв
Це показує детальну статистику вводу/виводу для кожного пристрою для sda кожні 5 секунд.
iostat
допомагає аналізувати продуктивність дискової підсистеми та виявляти апаратні вузькі місця.
44. free – Відображення кількості вільної та використаної пам’яті
Команда free
показує загальну, використану та вільну кількість фізичної та своп-пам’яті в системі. Це дає огляд доступної пам’яті.
Наприклад:
free -h
Деякі параметри для команди free:
-b
– Показувати результат в байтах-k
– Показувати результат в КБ замість байтів за замовчуванням-m
– Показувати результат в МБ замість байтів-h
– Виводити статистику в зрозумілому форматі, такому як ГБ, МБ замість байтів.
Це виводить статистику пам’яті у зручному для читання форматі (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
змінює налаштування існуючого користувацького облікового запису. Це може змінити ім’я користувача, домашній каталог, оболонку, групу, дату закінчення терміну дії тощо.
Наприклад:
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-запиту ехо та очікуючи на відповіді ехо.
Наприклад:
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
;; Отримано відповідь:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60290
;; прапорці: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT ПСЕВДОСЕКЦІЯ:
; EDNS: версія: 0, прапорці:; udp: 1280
;; РОЗДІЛ ЗАПИТІВ:
;google.com. IN A
;; РОЗДІЛ ВІДПОВІДЕЙ:
google.com. 220 IN A 142.251.42.78
;; Час запиту: 6 мс
;; СЕРВЕР: 2405:201:2:e17b::c0a8:1d01#53(2405:201:2:e17b::c0a8:1d01)
;; КОЛИ: Срд, 15 лист 01:36:16 IST 2023
;; РОЗМІР ПОВІДОМЛЕННЯ 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
Server: 8.8.8.8
Address: 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 Package Manager
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
керує snaps—контейнеризованими програмними пакетами. Snaps автоматично оновлюються і працюють на різних дистрибутивах Linux, подібно до Flatpak.
Наприклад:
snap install vlc
Ця проста команда встановлює snap VLC media player.
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 – Друкувати ідентифікатор активного користувача
Команда whoami
виводить ефективне ім’я користувача поточного користувача, що ввійшов до системи. Вона показує рівень привілеїв, на якому ви працюєте.
Введіть команду у свій термінал, щоб отримати ID:
whoami
john
Це виводить діюче ім’я користувача, під яким поточний користувач увійшов та працює, і є корисним у сценаріях або діагностиці для визначення того, які дії виконуються від імені облікового запису користувача.
73. id – Вивести реальні та ефективні ID користувача та групи
Команда 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
- Кількість сокетів
- Назва моделі
- Розміри кешу
- Частота 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
Module Size Used by
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
Як ви можете бачити, тут вказано завантажені модулі ядра, як-от драйвери пристроїв. У цьому випадку, показано використання модулів мережі, вводу, криптографії та шифрування.
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 – Змінити ID користувача або стати суперкористувачем
Команда su
дозволяє переключитися на інший користувацький обліковий запис, включаючи суперкористувача. Ви повинні надати пароль цільового користувача для аутентифікації. Це надає прямий доступ до виконання команд у середовищі іншого користувача.
Наприклад:
su bob
Пароль:
bob@linux:~$
Після введення пароля Боба, ця команда змінює поточного користувача на користувача ‘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 – Перезавантаження або перезапуск системи
Команда 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 ініціалізаційного скрипта.
Інші команди 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.
- Встановлення за 1 клік таких додатків, як WordPress і Drupal.
- Підсилене SSD NVMe сховище для швидкості.
- Безкоштовне автоматичне поновлення SSL від Let’s Encrypt.
Експерти DreamHost можуть допомогти вам максимально ефективно використовувати платформу Linux. Наші сервери ретельно налаштовані для забезпечення безпеки, продуктивності та надійності.
Запустіть свій наступний проєкт на платформі Linux хостингу, якій ви можете довіряти. Розпочніть з надійного, масштабованого хостингу на DreamHost.com.