Команди по управлінню ОС: pwd, cd, mkdir, touch, cp, ls, rm, less, more, find, head, tail, cat, grep, scp і ін.
У цій статті коротко пройдемося по незамінним командам в рутинній роботі будь-якого системного адміністратора. База, без якої на хостингу, як без рук. Стаття буде корисна користувачам, які починають освоювати ази управління системою з Linux. Тут ми розглянемо основний функціонал і призначення кожної з них. Окремі команди будуть винесені в окремі статті (або вже винесені).
Команда pwd
Команда pwd (скорочення від анг. print working directory) дослівно перекладається, як "вивести робочу директорію". Переклад відразу визначає і чітко пояснює призначення команди, мета вивести на екран шлях до директорії, в якій на поточний момент виконує дії або просто знаходиться користувач. Шлях буде виведений абсолютний, починаючи з символу /. Зручно використовувати для визначення точного шляху директорії для подальшого виконання дій над нею. pwd має простий синтаксис і в більшості випадків застосовується без додавання опцій.
Команда cd
За допомогою цієї команди можна змінити поточну робочу директорію. Зверніть увагу, щоб це зробити, користувач повинен мати права доступу на виконання в указаній директорії. Синтаксис аналогічно дуже простий, після самої команди потрібно вказати шлях до бажаного джерела переходу.
Наприклад, перейдемо в каталог з назвою test.
cd / home / maria / test
Часто використовувані аргументи:
- - для повернення в попередню директорію;
. - для переходу в піддеректорію в поточній робочій папці;
~ - для переходу в домашню директорію.
Команда mkdir
Застосовується для створення нової директорії. Має аналогічно зрозумілий і простий синтаксис. Після команди вводиться шлях і назва самої папки, якщо потрібно створити відразу кілька, тоді значення прописуються через пробіл. Також можна однією командою встановити потрібні права доступу до неї (як прописуються права додатково можна почитати в нашій статті "Права доступу та типи користувачів до файлів і директорій в ОС Linux"), задається через опцію -m.
Наприклад, створимо нову папку з назвою test зі стандартними правами доступу.
mkdir -m755 / home / maria / test
Через rmdir можна видалити каталог, але тільки порожній. Для видалення папки з файлами використовується команда rm.
Команда rm
Має єдине призначення - видаляти файли або директорії. Після команди вказуємо шлях до папки або файлу, який необхідно видалити. Для рекурсивного видалення каталогу використовується опція -r. Через оператор -i можна включити виведення запитів з підтвердженням про видалення кожного файлу, для підтвердження потрібно ввести символ y. У разі, якщо є небезпека видалити щось не те, дуже корисна функція. Для докладного виведення інформації про процес видалення додаємо опцію -v, її можна використовувати з великою частиною команд, і всюди вона має одне і теж призначення
Приклад, видалимо рекурсивно папку test c докладним виведенням інформації про хід виконання:
rm -v / home / maria / test
Команда ls
Виведення вмісту поточного каталогу (або будь-якого іншого заданого вами) і надання інформації про його файли. Після команди вказуємо директорію, для якої потрібно подивитися наповнення, якщо потрібно дізнатися для поточної директорії, тоді досить буде самої команди без додаткових аргументов. Часто використовувані опції з цією командою: -a - для відображення всіх файлів, в тому числі і прихованих, а опція -l - для виведення додаткової інформації про файли (наприклад, права доступу, власник, дата створення і т.д.).
Команди more, less, cat
Використовуються для виведення вмісту файлів великих розмірів. Команда more дуже проста команда з невеликим набором опцій, наприклад, в порівнянні з подібною командою less, але для виконання основної своєї задачі цього більш ніж достатньо. Текст розбивається посторінково, так як весь текст може не поміщатися в вікно терміналі, при використанні команди more для переходу до наступної сторінки потрібно натискати клавишу "Enter", де в кінці сторінки вказаний відсоток завантаження вмісту файлу. Обидві команди less і cat мають багато опцій фільтрації і сортування для більш зручного виведення і пошуку необхідних даних. Утиліта cat несе в собі крім завдання виведення вмісту на екран, можливість створювати і об'єднувати файли.
Команди cp і mv
Використовуючи утиліту cp і mv, об'єднує функція копіювання файлів і директорія в межах одного сервера. Варто просто вказати шлях до файлу, який необхідно перенести, і бажане місце перенесення. Різниця між командами є, cp копіює файл, але залишає за собою оригінальний вихідний файл на місці, а mv просто переносить файл, не залишаючи джерело. Друга відмінність, що mv володіє умінням перейменувати файли, для копіювання її використовують рідко. Дізнатися більше про утиліти можна в нашій статті "Утиліти CP і MV. Приклади використання "
Команда scp і Rsync
Необхідні для здійснення копіювання файлів, але вже не тільки в межах однієї системи, але і між різними серверами. scp вважається більш примітивною і простою, в порівнянні Rsync користується великим попитом через велику кількість ключів, наявність спеціального алгоритму перенесення, який дозволяє в разі помилки передачі даних продовжити копіювання і докинути відсутню частину, також Rsync забезпечує хорошу швидкість при роботі з об'ємними файлами.
Команда touch
Команда дозволяє змінювати різні часові мітки файлу (час модифікації, час останнього доступу і т.д.), через відповідні опції. Викликати короткий опис опцій можна через ключ --help. Друге часте застосування створення файлу, це можна зробити, якщо ввести назву файлу, якого не існує в системі, створиться порожній новий файл з вказаною назвою. Синтаксис команди також легкий, вказуємо утиліту, далі опції, якщо необхідно і назву файлу, над яким будуть проводитися маніпуляції.
Команда find і grep
Не менш потрібною є команда find для здійснення пошуку в системі. Містить в собі велику кількість ключів, за якими можна добре звузити вибірку і швидше знайти необхідний матеріал. Про використання утиліти і опціях утиліти можна ознайомитись в статті тут. Часто використовують разом утиліти find і grep, завдяки grep можна виконувати пошук файлу по його наповненню, навіть за вказаним поєднанням слів. Ще оптимальний варіант, якщо користувач нічого не пам'ятає про самий файл, але володіє інформацією про його зміст. grep застосовується з багатьма утилітами, є універсальним інструментом для пошуку. Наприклад, необхідно вивести список всіх процесів, пов'язаних з службою dovecot:
ps aux | grep dovecot
Утиліти head і tail
Також допомагають виконувати пошук і полегшити висновок необхідного вмісту файлів, і використовуються в комбінації з іншими утилітами для свого роду фільтрації. Але tail буде виводити рядки з кінця документа, а head спочатку. Для вказівки потрібної кількості рядків для виведення на екран використовується опція -n.
Розглянемо на практичному прикладі: виведемо перші шість рядків файлу test.txt.
cat test.txt | head -n 6
Опції man та --help
Не могли не згадати про них, за допомогою них можна завжди отримати довідку і документацію про використання тієї чи іншої команди.
Наприклад, для отримання довідки про використання команди find, введемо:
find --help
Команда df
Незамінний помічник для перевірки зайнятого і доступного місця в системі. Після виконання команди на екрані з'явиться інформація про розмір використаного і доступного простору і інші параметри такі, як: назва розділів, зайнятий обсяг, зайнятий обєм в процентному співвідношенні, розмір, місце монтування і т.д., до існуючих файлам і службам. Для більш читабельною виду можна використовувати з опцією -h. Також можна вказати конкретну директорію/розділ і отримати статистику тільки по ним.
Звичайно, цей список команд і утиліт можна продовжувати і продовжувати, в майбутньому будемо його поповнювати і розповідати про нові можливості роботи через термінал в системі з Linux.