Конзолата ни дава супер сили – или защо трябва да можем да боравим с Линукс

Конзола – (console) или “Системна конзола” е директен начин на потребителя да работи със системата. Конзолата е вид интерфейс по същия начин, по който и програмите, с които работим, са вид интерфейс. Разликата е, че конзолата е текст-базиран интерфейс.

Това има няколко основни ползи:

  • Много по-бързо е
  • Работи на практика на всички систем, тъй като те винаги започват от текст-базиран интерфейс и надграждат към графична среда (GUI)
  • Не изисква ползването на мишка
  • Ползва при работа със сървъри
  • Дава бърз и по-директен достъп до системата

Конзолата, или терминалът, е най-често използваният инструмент от програмистите поради огромния набор от команди, които забързват работата в ежедневието. Пример за такива команди са:

  • cp – копиране на папка или файл
  • mv – местене на папка или файл
  • rm – триене
  • ll – лист на всички файлове и директории
  • touch – създава нов файл
  • kill – унищожава процес
  • wget – сваляне на външни файлове
  • grep/ack – търсене на низ във файлове
  • (OS specific install) – Brew/apt – инсталиране на допълнителен софтуер директно през терминала като браузъри, програми за фото обработка и т.н.

Това е една минимална част от командите, но обхваща едни от най-често срещаните. Но това са неща, които можем да правим и през интерфейса на операционната система, нали? Да! Но движението из директории е изключително бързо през терминала. През терминала можем и да комбинираме команди като mv source dest && rm old. Тази команда мести и трие папки. По същия начин може да се комбинира всичко, включително копиране на съдържание, търсене из група файлове и т.н.

Всичко до сега са програми, които идват с Linux и Mac по подразбиране. Тепърва започва интересното: чрез терминала можем да инсталираме огромен брой допълнителни програми и команди.

Директен пример за често използвани

  • *AMP stack (Apache/MysQL/PHP) – основа за уеб разработка. Рестартиране, включване, работа с базата и т.н. Могат да се случват изцяло през терминала без допълнителни интерфейси като PHPMyAdmin
  • Git – най-известния version control system, всички команди като git add, git commit, git push се случват в терминала. Тъй като потребителят пише точно това, което иска, няма нищо скрито от интерфейси като “GitHub Desktop”, който може да добави десетки други команди във фона.
  • node/npm – най-ползваният JS runtime environment и най-използваният мениджър на пакети. Те самите идват с допълнителни команди за инсталиране и използване на още програми като gulp, Sass и т.н.
  • WP-cli – команди за менажиране на WordPress като инсталиране на теми, работа с базата данни, редакция на статии и потребители изцяло от терминала.
  • Съществуват безброй други! Всички изключително полезни за потребителя. С времето употребата им става по-бърза и ефективна до момента, в който – ако е възможно – винаги избирайте терминала. Местене, преименуване, триене на файлове, сваляне на архиви и разархивиране, редактиране и т.н., всичко става по-бързо през терминала.

Примери за интересни команди

  • df -h -x squashfs – показва свободно пространство на различните дисковe
  • diff -y -W 70 alpha1.txt alpha2.txt –suppress-common-lines – показва само разликите между два файлa
  • find . -name *ones* – открива файлове, в името на които има даден низ
  • grep train *.txt – търси низ в всички текстови файловe
  • ls -lha – списък с всички файлове, включително скрити

Както забелязвате, много от командите имат допълнителни символи след тях като “-h” или “-lha”. Това се наричат флагове и пред тях винаги се слага тире (-). За пълна информация относно какви флагове съществуват и как се ползва дадена команда, използваме вградената програма “man”. Например: “man ls” ще покаже пълна информация (документация) за ls командата и всички нейни флагове.

Терминалът е огромен, едва ли има човек, който знае всичко за него. Чрез команди може да се постигне почти всичко и отнема години практика, за да може човек да се чувства спокойно и да е силно продуктивен. И това е което правят всички програмисти и разработчици, системни инженери и сървърни техници.

Не е нужно да е трудно! Започнете с основните команди, описани горе. Повечето проблеми, с които ще се сблъскате, са вече решени и голяма част от решението им изисква няколко команди в терминала. Това е един прекрасен начин за учене!

Няма нищо страшно в терминала, той прави точно това, което му кажете и нищо повече.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

Харесва ли ви? Споделете ...