Командний рядок

Command-line interface (CLI) - це інтерфейс користувача, який дозволяє взаємодіяти з операційною системою або програмою за допомогою команд введених з клавіатури. Основні з якими ви можете стикатися у своїй роботі:

  • sh (Bourne shell) - це стандартна оболонка командного рядка в більшості Unix-подібних операційних системах. Вона має обмежені можливості порівняно з іншими оболонками.
  • bash (Bourne-Again SHell) - це покращена версія sh, яка має більше можливостей та функцій, таких як історія команд, автодоповнення, підтримка змінних середовища та ін.
  • zsh (Z shell) - це ще більш розширена версія оболонки командного рядка, яка має багато додаткових функцій, таких як краще автодоповнення, підтримка керування процесами та ін.
  • PowerShell - це оболонка командного рядка та скріптова мова, розроблена компанією Microsoft для взаємодії з операційною системою Windows та іншими продуктами Microsoft. PowerShell має багато функцій, таких як підтримка об'єктів, вбудовані командлети та можливість виконувати скрипти.

Command line interface

Відмінності між sh, bash, zsh та PowerShell полягають у їхніх можливостях та функціях, які вони надають користувачам. Вибір оболонки командного рядка залежить від потреб користувача та операційної системи, з якою він працює.

Якщо ми говоримо про Linux, то як правило, сама по собі оболонка не має сенсу без команд які ми можемо у ній виконувати. Тому розглянемо найбільш популярні команди, які вам знадобляться у роботі:

  • Команда chmod використовується для зміни прав доступу до файлів та директорій. Наприклад, chmod 755 file.txt надасть власнику файлу повний доступ, а іншим користувачам - тільки читання та виконання.
  • Команда chown використовується для зміни власника файлу або директорії. Наприклад, chown user file.txt змінить власника файлу на користувача "user".
  • Команда rm використовується для видалення файлів або директорій. Наприклад, rm file.txt видалить файл "file.txt".
  • Команда cp використовується для копіювання файлів або директорій. Наприклад, cp file.txt newfile.txt створить копію файлу "file.txt" з назвою "newfile.txt".
  • Команда wget використовується для завантаження файлів з Інтернету. Наприклад, wget https://example.com/file.txt завантажить файл "file.txt" з веб-сайту "example.com".
  • Команда curl використовується для взаємодії з веб-серверами через протокол HTTP. Наприклад, curl https://example.com поверне вміст веб-сторінки "example.com".
  • Команда mc відкриває файловий менеджер Midnight Commander, який дозволяє працювати з файлами та директоріями в терміналі.
  • Команда mv використовується для переміщення або перейменування файлів або директорій. Наприклад, mv file.txt newdir/ перемістить файл "file.txt" в директорію "newdir".
  • Команда ls виводить список файлів та директорій в поточній директорії. Наприклад, ls -l виведе список файлів з детальною інформацією про кожен файл.
  • Команда cat використовується для виведення вмісту файлу в термінал. Наприклад, cat file.txt виведе вміст файлу " file.txt".
  • Команда grep використовується для пошуку тексту в файлі або виведення вмісту файлу, що містить певний текст. Наприклад, grep "example" file.txt виведе всі рядки файлу "file.txt", що містять слово "example".
  • Команда less використовується для перегляду великих файлів в терміналі. Наприклад, less file.txt дозволить прокручувати вміст файлу "file.txt" поступово.
  • Команда man використовується для відображення документації по команді. Наприклад, man ls відобразить документацію по команді "ls".
  • Команда ps використовується для відображення активних процесів в системі. Наприклад, ps aux виведе список всіх процесів в системі.
  • Команда env використовується для відображення змінних середовища. Наприклад, env виведе список всіх змінних середовища.
  • Команда top використовується для відображення активних процесів в системі в режимі реального часу. Наприклад, top відобразить список процесів, які виконуються в даний момент.
  • Команда cron використовується для планування виконання команд в певний час. Наприклад, crontab -e дозволить налаштувати розклад виконання команд.
  • Команда vim використовується для редагування текстових файлів в терміналі. Наприклад, vim file.txt відкриє файл " file.txt" для редагування.
  • Команда netstat використовується для відображення статусу мережевих з'єднань. Наприклад, netstat -a виведе список всіх активних мережевих з'єднань.
  • Команда apt використовується для управління пакетами в Debian-подібних системах. Наприклад, apt-get install package встановить пакет з назвою "package".
  • Команда rpm використовується для управління пакетами в Red Hat-подібних системах. Наприклад, rpm -i package.rpm встановить пакет з назвою "package.rpm".
  • Команда printenv використовується для виведення значень всіх змінних середовища, які встановлені в поточному оболонці. Наприклад, якщо ви виконаєте команду printenv в терміналі, то ви побачите список всіх змінних середовища, таких як PATH, HOME, USER та інші.
  • Команда export використовується для створення нової змінної середовища або для зміни значення існуючої змінної середовища. Наприклад, якщо ви виконаєте команду export MY_VAR="Hello World", то ви створите нову змінну середовища з назвою MY_VAR та значенням Hello World.

Приклад використання команди printenv:

$ printenv
HOME=/home/user
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
USER=user
LANG=en_US.UTF-8

Приклад використання команди export:

$ export MY_VAR="Hello World"
$ echo $MY_VAR
Hello World

Також, можна використовувати команду export для додавання нових шляхів до змінної PATH. Наприклад:

$ export PATH=$PATH:/usr/local/bin

Ця команда додає шлях /usr/local/bin до змінної PATH, щоб система могла знайти виконувані файли, які знаходяться в цій директорії.

Поглиблене вивчення

Linux Phrasebook (Скотт Граннеман. Linux. Карманный справочник. 2-е издание)

Я рекомендую придбати книгу Linux Phrasebook (Скотт Граннеман. Linux. Карманный справочник. 2-е издание), вона допоможе вам освоїти роботу з командним рядком на професфйному рівні.

results matching ""

    No results matching ""