Linux команди для початківців які варто знати

Linux – потужна та гнучка операційна система, яка широко використовується в розробці, системному а...

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

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

Також, важливо памятати про чутливість до регістру. `file.txt` та `File.txt` – це два різні файли в Linux.

Отже, почнемо з базових команд:

Навігація та перегляд файлів:

  • pwd: Print Working Directory – показує поточний робочий каталог. Це перша команда, яку варто виконати, щоб зорієнтуватися в терміналі.
  • cd: Change Directory – змінює поточний каталог. n
    • cd /path/to/directory – перехід до вказаного каталогу.
    • cd .. – перехід на один рівень вгору.
    • cd ~ – перехід до домашнього каталогу користувача.
    • cd - – повернення до попереднього каталогу.
  • ls: List – виводить список файлів та директорій в поточному каталозі.n
    • ls -l: виводить детальний список, включаючи права доступу, власника, розмір та дату модифікації.
    • ls -a: показує всі файли, включаючи приховані (ті, що починаються з крапки).
    • ls -t: сортує файли за часом останньої модифікації (від нових до старих).
    • ls -R: рекурсивно виводить список файлів у всіх підкаталогах.
    • ls -h: показує розміри файлів у зручному для читання форматі (наприклад, KB, MB, GB).
    • ls -l -h (або ls -lh): обєднує формати `-l` та `-h`.
  • cat: Concatenate – виводить вміст файлу на екран. Корисна для перегляду невеликих текстових файлів.
  • more: дозволяє переглядати вміст файлу посторінково.
  • less: більш потужна версія `more`, дозволяє прокручувати сторінки вгору та вниз, шукати текст. Натисніть `q`, щоб вийти з `less`.
  • head: виводить перші декілька рядків файлу (за замовчуванням 10). head -n [кількість рядків] [назва файлу] дозволяє вказати потрібну кількість рядків.
  • tail: виводить останні декілька рядків файлу (за замовчуванням 10). tail -n [кількість рядків] [назва файлу] дозволяє вказати потрібну кількість рядків. tail -f [назва файлу] – дуже корисна опція для відстеження змін у файлі в реальному часі (наприклад, лог-файли).

Управління файлами та директоріями:

  • mkdir: Make Directory – створює нову директорію. mkdir [назва директорії]. Можна створити декілька директорій одночасно: mkdir dir1 dir2 dir3. Опція -p дозволяє створити всю необхідну структуру каталогів, якщо деякі з батьківських каталогів не існують: mkdir -p path/to/new/directory.
  • rmdir: Remove Directory – видаляє порожню директорію. rmdir [назва директорії].
  • rm: Remove – видаляє файли. n
    • rm [назва файлу] – видаляє вказаний файл.
    • rm -r [назва директорії] – видаляє директорію рекурсивно (разом з її вмістом). Будьте обережні! Ця команда видаляє файли назавжди.
    • rm -f [назва файлу] – примусове видалення файлу (ігнорує попередження). Використовуйте з великою обережністю.
    • rm -rf [назва директорії] – примусове рекурсивне видалення директорії. Крайньо небезпечна команда, особливо якщо використовувати її з кореневим каталогом (`/`).
  • cp: Copy – копіює файли та директорії. n
    • cp [вихідний файл] [цільовий файл] – копіює файл.
    • cp -r [вихідна директорія] [цільова директорія] – копіює директорію рекурсивно.
  • mv: Move – переміщує або перейменовує файли та директорії.n
    • mv [вихідний файл] [цільовий файл] – перейменовує файл.
    • mv [вихідний файл] [цільова директорія] – переміщує файл до директорії.
  • touch: створює порожній файл або змінює час останньої модифікації існуючого файлу. touch [назва файлу].

Робота з текстом:

  • echo: виводить текст на екран. echo Привіт, світ!. Часто використовується для перенаправлення виводу в файл: echo Текст для файлу > file.txt.
  • grep: Global Regular Expression Print – шукає вказаний текст у файлах.n
    • grep [текст для пошуку] [назва файлу] – шукає текст у файлі.
    • grep -i [текст для пошуку] [назва файлу] – ігнорує регістр при пошуку.
    • grep -r [текст для пошуку] [назва директорії] – рекурсивно шукає текст у всіх файлах в директорії.
    • grep -v [текст для пошуку] [назва файлу] – виводить рядки, які *не* містять вказаний текст.
    • grep -c [текст для пошуку] [назва файлу] – виводить кількість рядків, які містять вказаний текст.
  • wc: Word Count – рахує кількість рядків, слів та символів у файлі. n
    • wc -l [назва файлу] – рахує кількість рядків.
    • wc -w [назва файлу] – рахує кількість слів.
    • wc -c [назва файлу] – рахує кількість байтів (символів).
  • sed: Stream Editor – потужний інструмент для редагування тексту в файлах. Він заслуговує на окрему статтю, але ось простий приклад заміни тексту: sed s/старий текст/новий текст/g [назва файлу]. Опція `g` означає глобальну заміну (замінити всі входження).
  • awk: ще один потужний інструмент для обробки тексту, особливо корисний для обробки табличних даних.

Системна інформація та управління процесами:

  • uname: виводить інформацію про систему.n
    • uname -a: виводить всю доступну інформацію.
    • uname -r: виводить версію ядра.
    • uname -m: виводить архітектуру процесора.
  • ps: Process Status – показує список запущених процесів.n
    • ps aux: виводить детальний список всіх процесів, включаючи користувача, який запустив процес, використання CPU та памяті.
    • ps -ef: ще один варіант виводу списку процесів.
  • top: показує динамічний список процесів, відсортованих за використанням CPU. Натисніть `q`, щоб вийти з `top`.
  • kill: зупиняє процес. Потрібно вказати PID (Process ID) процесу, який можна знайти за допомогою `ps` або `top`. kill [PID процесу]. Якщо процес не зупиняється, можна використовувати сигнал 9 (SIGKILL): kill -9 [PID процесу]. Використовуйте цю опцію лише в крайньому випадку, оскільки вона може призвести до втрати даних.
  • df: Disk Free – показує інформацію про використання дискового простору. df -h показує інформацію в зручному для читання форматі.
  • du: Disk Usage – показує інформацію про використання дискового простору для вказаного файлу або директорії. du -sh [назва директорії] показує загальний розмір директорії в зручному для читання форматі.
  • free: показує інформацію про використання оперативної памяті. free -m показує інформацію в мегабайтах.
  • uptime: показує, як довго система працює без перезавантаження, а також середнє навантаження на систему за останні 1, 5 та 15 хвилин.

Права доступу:

  • chmod: Change Mode – змінює права доступу до файлів та директорій. Права доступу визначають, хто може читати, писати та виконувати файл. Права доступу можуть бути представлені в числовому (наприклад, 755) або символьному (наприклад, rwxr-xr-x) форматі.n
    • Числовий формат: кожній категорії користувачів (власник, група, інші) призначається число від 0 до 7, де:n
      • 4 – право на читання (r)
      • 2 – право на запис (w)
      • 1 – право на виконання (x)

      Сума цих значень визначає права доступу для кожної категорії. Наприклад, 7 (4+2+1) означає, що користувач має права на читання, запис та виконання. 6 (4+2) означає, що користувач має права на читання та запис.

    • Символьний формат: використовує літери r, w, x для позначення прав доступу, а `-` – для відсутності права. Наприклад, `rwxr-xr–` означає, що власник має права на читання, запис та виконання, група має права на читання та виконання, а інші мають тільки право на читання.

    Приклади:n

    • chmod 755 [назва файлу] – надає власнику права на читання, запис та виконання, групі та іншим – права на читання та виконання.
    • chmod +x [назва файлу] – додає право на виконання для всіх користувачів.
    • chmod u+w [назва файлу] – додає право на запис для власника.
    • chmod g-w [назва файлу] – забирає право на запис у групи.
  • chown: Change Owner – змінює власника файлу або директорії. chown [новий власник] [назва файлу]. Для зміни власника потрібні права суперкористувача (root).
  • chgrp: Change Group – змінює групу файлу або директорії. chgrp [нова група] [назва файлу]. Для зміни групи потрібні права суперкористувача (root).

Мережа:

  • ping: перевіряє зєднання з вказаним хостом. ping [адреса хоста] (наприклад, ping google.com). Натисніть Ctrl+C, щоб зупинити ping.
  • ifconfig: (або ip addr на сучасних системах) показує інформацію про мережеві інтерфейси.
  • etstat: показує інформацію про мережеві зєднання, таблицю маршрутизації та іншу мережеву статистику.
  • ssh: Secure Shell – дозволяє безпечно підключитися до віддаленого сервера. ssh [імя користувача]@[адреса сервера].

Корисні комбінації та прийоми:

  • Перенаправлення виводу:
  • >: перенаправляє вивід команди у файл, перезаписуючи його, якщо він існує. ls -l > file.txt.
  • >>: перенаправляє вивід команди у файл, додаючи його до кінця файлу, якщо він існує. echo Додатковий текст >> file.txt.
  • Конвеєр (pipe):
  • |: передає вивід однієї команди на вхід іншої команди. ls -l | grep txt – виводить список файлів, які містять txt у назві.
  • Аргументи командного рядка:
  • *: символ підстановки, який відповідає будь-якій послідовності символів. ls *.txt – виводить список всіх файлів з розширенням .txt.
  • ?: символ підстановки, який відповідає одному будь-якому символу. ls file?.txt – виводить список файлів, назва яких починається з file, потім іде один будь-який символ, і закінчується на .txt.
  • Історія команд:
  • Стрілки вгору та вниз: перехід по історії команд.
  • history: виводить список попередніх команд.
  • !n: виконує команду з номером n з історії.
  • Ctrl+R: пошук по історії команд.
  • Автодоповнення:
  • Натисніть Tab, щоб автоматично доповнити назву файлу або команди.

Отримання допомоги:

  • man: Manual – відкриває довідку по вказаній команді. man ls – відкриває довідку по команді `ls`. Натисніть `q`, щоб вийти з `man`.
  • [команда] --help: виводить коротку довідку по команді. ls --help.

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

Для подальшого вивчення рекомендується ознайомитися з регулярними виразами, скриптами Bash, а також з інструментами для автоматизації завдань, такими як cron. Удачі вам у вашому навчанні!

Найпоширеніші питання

Що таке термінал в Linux?

Термінал – це текстовий інтерфейс для взаємодії з операційною системою. Через нього ви вводите команди.

Як переглянути поточний каталог?

Використовуйте команду pwd (print working directory). Вона покаже повний шлях до вашої поточної папки.

Як змінити каталог (папку)?

Команда cd (change directory) дозволяє переміщатися між папками. Наприклад, cd Documents.

Як переглянути вміст каталогу?

Команда ls (list) показує файли та папки в поточному каталозі. ls -l покаже більше інформації.

Як створити новий каталог?

Команда mkdir (make directory) створює новий каталог. Наприклад, mkdir NewFolder.

Як видалити файл?

Команда rm (remove) видаляє файли. Будьте обережні! Наприклад, rm myfile.txt.

Як видалити порожній каталог?

Команда rmdir (remove directory) видаляє порожні каталоги. Наприклад, rmdir EmptyFolder.

Як скопіювати файл?

Команда cp (copy) копіює файли. Наприклад, cp file.txt newfile.txt.

Як перемістити або перейменувати файл?

Команда mv (move) переміщує або перейменовує файли. Наприклад, mv file.txt newname.txt.

Як отримати довідку по команді?

Використовуйте команду man (manual), наприклад, man ls. Вихід з мануалу – клавіша ‘q’.