Linux – Aké príkazy používam v termináli?

Na Linux-e nemusíme mať vždy dostupné UI, ktoré by nám umožňovalo vykonať niektoré akcie. Avšak po chvíľke používania Linux-u si odvykneš niektoré veci robiť cez UI, pretože ich budeš vedieť rýchlejšie spraviť cez terminál. Tu je zopár základných príkazov, ktoré ja pravidelne volám cez terminál.

Článok je dostupný aj vo forme videa:

Obskúrne príkazy z internetov

Keď si Linux nainstaľuješ, tak je dosť možné, že ti niečo nebude fungovať tak, ako by malo. Chvíľku pogoogliš a nájdeš riešenie tvojho problému vo forme príkazu, ktorý musíš spustiť v termináli. Skopíruješ, spustíš a čakáš, či si si problém opravil/a, alebo či si si vytvoril nový, horší problém.

U mňa sú to napr. tieto dva príkazy. Prvý mi prepne počítač do performance módu a druhý príkaz nastaví rozsah farieb na monitore tak, aby som dokonca videl rozdiel medzi bielou a šedou (bez neho všetko vyzerá divne):

echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

xrandr --output DP-1 --set "Broadcast RGB" "Limited 16:235"

Thread, ktorý spomína druhý príkaz

inštalovanie a updatovanie programov cez terminál

Po inštalácii budeš chcieť inštalovať nejaké programy. Pustíš sa do googlenia a opäť (väčšinou) nájdeš iba nejaké príkazy, ktoré treba spúštať cez terminál.

Inštalovanie na Ubuntu:

sudo apt install [PROGRAM]

e.g.:

sudo apt install firefox

Updatovanie zoznamu packagov na Ubuntu:

sudo apt update

Upgradovanie programov:

sudo apt upgrade

Alebo pomocou snap:

sudo snap install firefox

spúštanie programov cez terminál

Niekedy je spustenie programu cez terminál rýchlejšie, ako spustenie cez UI. Napr. keď chceme programu rovno poslať nejaký parameter. Ja takýmto spôsobom otváram IDE-čka. Niekedy je totiž rýchlejšie sa odnavigovať do zložky cez terminál a rovno si túto otvoriť v IDE-čku:

code .
nautilus .
intellij-idea-comunity .
pycharm-community .

kompilácia programov

Nie vždy máš po ruke IDE-čko, aby za teba skompilovalo tvoj kód. Vtedy sa ti v niektorých jazykoch zíde terminál.

C

gcc main.c -o main.o

Haskell

ghc main.hs -o main.o

Spúštanie vyvíjaných programov

Okrem kompilovania cez terminál vieme naše programi v termináli aj spustiť. Prečo by som to robil/a, keď mám moje fantastické IDE? Napr. preto, že moje fantastické IDE spapá 4GB RAM-ky, ktorú môžem chcieť využiť nejakým lepším spôsobom.

C/Haskell/…

./main.o

Python

python main.py

Java/Kotlin

Gradle

./gradlew bootRun

Maven

./mvnw spring-boot:run

C# (.NET Core)

dotnet run

yarn, npm, pip – package managers

Niektoré package managers (napr. gradle, maven, …) fungujú copy/paste spôsobom. Do iných sa pridávaju package práve cez terminál.

Yarn

yarn init
yarn add react

NPM

npm init
npm install react

pip

pip install pytest

ssh

Webové alebo iné serverové aplikácie sa väčšinou nasádzajú na nejaký vzdialený server. K tomuto serveru nemáme prístup cez UI, ale iba cez terminál. Na prístup k tomuto terminálu sa používa práve ssh.

Pripojenie na vzdialený server pomocou ssh kľúča:

ssh -i "~/Downloads/gk-aws-key.pem" ec2-user@ec2-52-59-213-93.eu-central-1.compute.amazonaws.com

Pomocou hesla (heslo si od nás vypýta):

ssh ec2-user@ec2-52-59-213-93.eu-central-1.compute.amazonaws.com

top

Zobrazí procesy bežiace na danom systéme spolu s ich vyťažením CPU, RAM, …

sledovanie logov

Keď nemáme prístup k UI textovému editoru, tak si veľmi ľahko poradíme s logmi aj v termináli. Vďaka poslednému príkazu tail a príkazu grep terminál dokonca aj preferujem na sledovanie logov. Ale hej, zriedka sa stane, že mi temrinál nestačí a logy si radšej otvorím v UI.

Výpis celého obsahu súboru:

cat logs.txt

Výpis súboru po stranách:

less logs.txt

„Sledovanie“ obsahu súboru – výpis sa bude updatovať spolu so súborom:

tail -f logs.txt

Filtrovanie logov

grep "error" logs.txt

Alebo aj:

tail -f logs.txt | grep "error"

Editovanie súborov – nano, vim

V termináli/shelli nemáme dostupné bežné textové editory s UI. A tak nám musia postačiť jendoduchšie (urážam práve vim?) editory v termináli.

nano

nano subor.txt

Obsah súboru v nano uložíš pomocou CTRL+O a nano zatvoríš pomocou CTRL+X.

vim

vim subor.txt

vim je téma samo o sebe. Naučiť sa ho vieš napr. pomocou vimtutor.

git cez terminál

Na tomto zozname v žiadnom prípade nemôže chýbať git. Git som využíval aj pomocou UI aj cez terminál a poslednú dobu si Git idem hlavne v termináli. Prečo? Asi zvyk a pomerne rozšírené možnosti. Tu sú základné príkazy, ktoré najčastejšie používam:

git status
git diff
git add subor.txt
git commit -m "Add some changes"
git push origin master
git pull

github

V poslednej dobe som objavil aj tento krásny príkaz, pomocou ktorého sa dá vytvoriť plnohodnotné PR na GitHub-e. Zatiaľ tomuto príkazu 100% neverím a tak PR-ko vždy checknem aj na GitHub-e, ale veľmi sa mi tento spôsob pozdáva.

gh pr create

 

Odkazy

GitHub CLI
Potrebujem vedieť Linux? – Ep.55 nášho podcastu


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.