1. Báza znalostí
  2. Začíname
  3. Základy práce so súbormi a priečinkami v linuxovom príkazovom riadku shell
  1. Báza znalostí
  2. Užitočné návody
  3. Základy práce so súbormi a priečinkami v linuxovom príkazovom riadku shell
  1. Báza znalostí
  2. Cloud a servery
  3. Základy práce so súbormi a priečinkami v linuxovom príkazovom riadku shell

Základy práce so súbormi a priečinkami v linuxovom príkazovom riadku shell

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.

Tento návod popisuje príkazový riadok, ktorý reprezentuje Bash. Ide o príkazový shell interpreter naprogramovaný v rámci projektu GNU. Názov je akronym k názvu Bourne again shell – je založený na Bourne Shell (bsh), čo bol najpoužívanejší unixový shell.

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íkazPopis
Ctrl + Shift + C
Shift + Insert
Vloží skopírovaný text (pozor, klávesová skratka Ctrl + C slúži na ukončenie programu)
TabPri 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 + RVyhľ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 !!)
!nSpustí príkaz číslo n (za písmeno n dosadíme poradové číslo zistené z príkazu history)
Ctrl + APresunie kurzor na začiatok riadku (väčšinou funguje aj kláves Home)
Ctrl + EPresunie kurzor na koniec riadku (väčšinou funguje aj kláves End)
Ctrl + ZSpustený program prenesie do pozadia (rovnako ako znak & za príkazom)
Alt + BPresunie kurzor o jedno slovo dozadu (Back)
Alt + FPresunie kurzor o jedno slovo dopredu (Forward)
Ctrl + UVymaže všetky znaky pred kurzorom
Ctrl + KVymaže všetky znaky za kurzorom
Ctrl + WVymaže jedno slovo pred kurzorom
Alt + DVymaže jedno slovo za kurzorom
Ctrl + LVymaže celú obrazovku (rovnako ako príkaz clear)
Ctrl + CUkončí spustený program (ako keby sme klikli na krížik okna hore vpravo resp. vľavo)
Ctrl + DUkončí aktívnu reláciu (rovnako ako príkaz exit)

Vytvárame súbory a priečinky

Ak niektoré znaky na vašej klávesnici nebudete vedieť napísať, pomôže web sk.keyboard24.com

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.

Aktualizované 10. mája 2022

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu