Linuxový príkazový riadok (shell) WebSupport pre svoj hosting poskytuje ako SSH alebo webovú konzolu, v ktorej môžeme pracovať pomocou moderného webového prehliadača ako je napríklad Google Chrome, alebo Mozilla Firefox.
Tento návod môžete takisto použiť pre používanie linuxového operačného systému aj na serverových a cloud službách.
Práve použitím webového prehliadača získate prístup k linuxovému príkazovému riadku (shellu) z prostredia, ktoré funguje nezávisle na operačnom systéme. Prístup k dátam, teda súborom a adresárom pomocou príkazového riadku je veľmi rýchly a efektívny.
Klávesové skratky
Najskôr sa pozrieme na klávesové skratky, vďaka ktorým dokážeme niektoré operácie v linuxovom príkazovom riadku výrazne zrýchliť. Tie sa môžu v niektorých operačných systémoch odlišovať.
Príkaz | Popis |
Ctrl + Shift + C Shift + Insert | Vloží skopírovaný text (pozor, klávesová skratka Ctrl + C slúži na ukončenie programu) |
Tab | Pri písaní príkazu doplní zvyšné písmená príkazu alebo názov súboru či priečinku |
Šípka hore Šípka dole | Vypíše príkaz zo zoznamu histórie (príkaz history), ale nespustí ho |
Ctrl + R | Vyhľadávanie v histórii príkazov (históriu zobrazíme pomocou príkazu history) |
!! | Spustí predošlý príkaz (napr. s právami administrátora/roota: sudo !!) |
!n | Spustí príkaz číslo n (za písmeno n dosadíme poradové číslo zistené z príkazu history) |
Ctrl + A | Presunie kurzor na začiatok riadku (väčšinou funguje aj kláves Home) |
Ctrl + E | Presunie kurzor na koniec riadku (väčšinou funguje aj kláves End) |
Ctrl + Z | Spustený program prenesie do pozadia (rovnako ako znak & za príkazom) |
Alt + B | Presunie kurzor o jedno slovo dozadu (Back) |
Alt + F | Presunie kurzor o jedno slovo dopredu (Forward) |
Ctrl + U | Vymaže všetky znaky pred kurzorom |
Ctrl + K | Vymaže všetky znaky za kurzorom |
Ctrl + W | Vymaže jedno slovo pred kurzorom |
Alt + D | Vymaže jedno slovo za kurzorom |
Ctrl + L | Vymaže celú obrazovku (rovnako ako príkaz clear) |
Ctrl + C | Ukončí spustený program (ako keby sme klikli na krížik okna hore vpravo resp. vľavo) |
Ctrl + D | Ukončí aktívnu reláciu (rovnako ako príkaz exit) |
Vytvárame súbory a priečinky
Všetky príkazy sú skratkou alebo krátkymi slovami od stručného anglického popisu toho, čo vlastne príkaz robí. Napríklad jeden z najčastejšie používaných príkazov je cd
, čo je skratka anglického popisu change directory (zmeň priečinok).
Najskôr sa presunieme do domovského priečinka jednoduchým krátkym príkazom change directory (cd
) nasledovaným znakom vlnovka (~
). Znak vlnovka v linuxovom príkazovom riadku vždy reprezentuje domovský priečinok.
cd ~
Aby sme si overili, či sa naozaj nachádzame v domovskom priečinku, použijeme príkaz print working directory (pwd
):
pwd
Ak sme v domovskom priečinku, vypíše sa cesta /home/meno_pouzivatela, pričom namiesto meno_pouzivatela bude uvedené meno aktuálne prihláseného používateľa (napr. Tibor). V tomto priečinku si pomocou príkazov make directory (mkdir
) a touch
vytvoríme 3 priečinky a 3 prázdne súbory, s ktorými budeme pracovať.
mkdir test
touch test/subor_1.txt
mkdir test/prazdny_priecinok
mkdir test/neprazdny_priecinok
touch test/neprazdny_priecinok/subor_2.txt
touch test/neprazdny_priecinok/subor_3.txt
Pomocou príkazu disk usage (du
) a prepínača -a
(ako all – čiže zobraz všetko vrátane súborov) vypíšeme štruktúru priečinkov v priečinku test
, ktorú sme práve vytvorili:
du -a test
Doteraz sme použili 5 príkazov (cd, pwd, mkdir, touch a du). Často sa stáva, že rovnaké príkazy používame viackrát. Preto vznikol príkaz history
, ktorý nám vypíše všetky doteraz spustené príkazy:
history
Každý použitý príkaz je v novom riadku, pričom každý riadok je uvedený poradovým číslom. Ak si prajeme opäť spustiť posledný príkaz zo zoznamu histórie, stačí použiť dva výkričníky (prvý riadok). Ak potrebujeme spustiť príkaz s konkrétnym poradovým číslom, zadáme jeden výkričník nasledovaný poradovým číslom (druhý riadok – spustí prvý príkaz zo zoznamu histórie):
!!
!1
V zozname histórie môžeme vďaka klávesovej skratke Ctrl + R vyhľadávať. Funguje to tak, že stlačíme klávesovú skratku a následne píšeme text, ktorý v zozname histórie chceme vyhľadať.
Súčasťou príkazu niekedy môžu byť citlivé údaje ako napríklad heslo. Spolu s citlivými údajmi sa však príkazy zapíšu do zoznamu histórie, a tak ich odtiaľ potrebujeme vymazať. Odstrániť môžeme jednu položku (prvý riadok s prepínačom -d
ako delete, čiže vymazať položku číslo 5) alebo celú históriu (druhý riadok s prepínačom -c
ako clear, čiže vymazať všetko). Po vymazaní je potrebné zmeny zapísať do súboru so zoznamom histórie (prepínač -w
ako write, čiže zapísať).
history -d 5 -w
history -c -w
Teraz sa presunieme do priečinka test
, v ktorom budeme pracovať s priečinkami a súbormi. Stačí napísať cd t
a stlačiť kláves Tab. Ak sa v aktuálnom priečinku nachádza iba jeden súbor a/alebo priečinok, ktorého názov začína na písmeno t, názov bude automaticky doplnený (v našom prípade) na test. Automatické dopĺňanie sa hodí napríklad keď priečinky a súbory majú dlhé názvy.
cd test
Pracujeme so súbormi a priečinkami
Vytvorili sme štruktúru priečinkov a súborov v priečinku test
a teraz s nimi môžeme pracovať. Pracovať s priečinkami a súbormi znamená, že budeme ich obsah zobrazovať, hľadať a upravovať. Priečinky a súbory budeme kopírovať, premiestňovať, premenovávať a mazať. Archivovaniu a komprimovaniu priečinkov a súborov sme sa venovali v návode Archivácia a kompresia súborov v Linuxe.
Ešte pred prácou so súbormi a priečinkami však musíme získať prehľad. Pozrieme sa teda, ktoré súbory a priečinky máme v priečinku test
k dispozícii. To docielime už známym príkazom du alebo v aktuálnom priečinku (v našom prípade ide o priečinok test
) príkazom ls
(ako list, čiže vypísať zoznam priečinkov a súborov). Prepínače -lah
zabezpečia podrobný výpis (l
ako long) všetkých priečinkov a súborov (aj skrytých s bodkou v názve na začiatku; a
ako all) a veľkosť je uvedená v pre ľudí ľahšie čitateľnej forme (h
ako human readable).
ls -lah
Priečinky sú od súborov väčšinou farebne odlíšené. Ak to tak nie je, potom podľa prvého znaku bezpečne rozoznáme, či ide o priečinok (prvý znak je d
) alebo o súbor (prvý znak je -
).
Vyššie sme vytvorili prázdny súbor subor_1.txt, do ktorého teraz vložíme text pomocou príkazu echo
a lomených zátvoriek (>
a >>
). Jedna zátvorka (prvý riadok) znamená, že sa celý obsah súboru prepíše a dve (druhý riadok) znamenajú, že sa text doplní na koniec a pôvodný obsah zostane zachovaný:
echo "Prvý riadok v súbore subor_1.txt" > subor_1.txt
echo "Druhý riadok v súbore subor_1.txt" >> subor_1.txt
Pomocou príkazu cat
(z anglického concatenate) si overíme, či sa oba riadky do súboru subor_1.txt
naozaj zapísali:
cat subor_1.txt
Keby sme však potrebovali zoradiť riadky abecedne, musíme nechať obsah súboru okrem zobrazenia cez príkaz cat
ešte aj zoradiť pomocou príkazu sort
. Inak povedané, výstup príkazu cat pošleme ako vstup príkazu sort a získame tak abecedne zoradený zoznam riadkov súboru subor_1.txt
. Výstup pošleme do vstupu cez “potrubie” (anglicky pipe), čo je reprezentované znakom zvislej čiary (|
):
cat subor_1.txt | sort
Ako vstup do triediaceho príkazu sort
môžeme poslať aj samotný obsah súboru pomocou opačnej lomenej zátvorky <
a získame tak rovnaký výstup ako v predošlom príkaze, ale s kratším zápisom (bez príkazu cat):
sort < subor_1.txt
Často sa stáva, že súbor obsahuje veľké množstvo riadkov. Taký súbor stiahneme (prvý riadok) pomocou príkazu curl
(z anglického Client URL). Zo stiahnutého súboru tabulka.csv
potrebujeme zobraziť iba prvých 5 riadkov (druhý riadok; head
ako hlavička) a posledných 5 riadkov (tretí riadok; tail
ako chvost).
curl -o tabulka.csv https://file-examples-com.github.io/uploads/2017/02/file_example_CSV_5000.csv
head -n 5 tabulka.csv
tail -n 5 tabulka.csv
Celý obsah dlhšieho dokumentu po častiach zobrazíme pomocou príkazu less
(prvý riadok), vďaka ktorému stláčaním klávesu medzerník stránkujeme a postupne prezrieme celý obsah dokumentu. Klávesom Q ukončíme zobrazenie obsahu cez príkaz less. Ak potrebujeme obsah súboru aj upraviť, musíme ho načítať v textovom editore (druhý riadok) ako je napríklad nano
. Čo v textovom editore nano upravíme, uložíme stlačením klávesovej skratky Ctrl + X
, potom kláves Y
a nakoniec kláves Enter
.
less tabulka.csv
nano tabulka.csv
Stiahli sme si pomerne veľa obsahu (tisíce riadkov) do súboru tabulka.csv, v ktorom je ťažké vyhľadávať ručne. Povedzme, že by sme v súbore tabulka.csv chceli zobraziť iba tie riadky, ktoré obsahujú meno Felisa. To dosiahneme príkazom grep
(globally search for a regular expression and print matching lines, čiže globálne hľadaj regulárny výraz a vypíš zodpovedajúce riadky):
grep Felisa tabulka.csv
Je veľmi dôležité pravidelne vytvárať zálohy dôležitých súborov (prvý riadok; cp
ako copy). Niekedy je vhodné zálohu aj premenovať (druhý riadok mv ako move). Príkaz mv
je špeciálny v tom, že slúži na premenovanie, ale tiež na presunutie súboru (tretí riadok). No a prípadné nadbytočné súbory môžeme vymazať (štvrtý riadok; rm
ako remove).
cp tabulka.csv ./neprazdny_priecinok/
mv ./neprazdny_priecinok/tabulka.csv ./neprazdny_priecinok/tabulka-zaloha.csv
mv ./neprazdny_priecinok/subor_2.txt subor_2.txt
rm tabulka.csv
Súborov s koncovkou .txt
už máme viacero a potrebujeme si vytvoriť prehľad, ktoré sú ako nazvané a v ktorých priečinkoch sa nachádzajú. Presne na takéto účely slúži príkaz find
v kombinácii so zázstupnými znakmi ako otáznik (nahrádza jeden ľubovoľný znak) a hviezdička (nahrádza ľubovoľný počet ľubovoľných znakov). Ak teda potrebujeme nájsť všetky súbory s koncovkou .txt v aktuálnom priečinku (vyjadrený bodkou), použijeme zástupný znak hviezdička (prvý riadok). Všetky súbory, ktorých názov začína rovnako, majú rovnakú koncovku a líšia sa iba jediným znakom (tu poradovým číslom) nájdeme pomocou príkazu v druhom riadku.
find . -name "*.txt"
find . -name "subor_?.txt"
Priečinky mažeme príkazom rm
s prepínačom -rf
. Pozor, tento príkaz použijeme iba vtedy ak s úplnou istotou vieme, čo mažeme. Po spustení takéhoto príkazu na priečinku test
v domovskom priečinku (~
) sa totiž bez upozornenia vymaže celý priečinok test aj so všetkými ďalšími priečinkami a súbormi.
rm -rf ~/test
Kde nájdeme ďalšie informácie
Predstavené príkazy sme si ukázali iba v niekoľkých príkladoch, ale možností využitia existuje oveľa viac. V linuxovom príkazovom riadku je ešte jeden veľmi často používaný príkaz man
(skratka od manual). Ak napríklad potrebujeme viac informácií o príkaze rm, stačí napísať man rm
a zobrazí sa podrobný manuál k príkazu rm, v ktorom sa pohybujeme ako v príkaze less (medzerník a kláves Q). Takto je možné do detailov študovať ktorýkoľvek príkaz linuxového príkazové riadku.
Zhrnutie
Ukázali sme, ako v linuxovom príkazovom riadku vytvoriť súbory a priečinky. Zobrazili a upravili sme obsah súborov. Premenovali, kopírovali, premiestňovali a mazali sme súbory a priečinky. Tiež sme si ukázali, ako sa používajú zástupné znaky, lomené zátvorky a zvislá čiara. No a aby sme celé písanie urýchlili, stláčali sme klávesové skratky. Nakoniec sme si uviedli kvalitný zdroj ďalšieho podrobného štúdia ohľadom prezentovaných ale aj nespomínaných príkazov.