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. Удачі вам у вашому навчанні!