{"id":756,"date":"2021-04-07T09:54:19","date_gmt":"2021-04-07T09:54:19","guid":{"rendered":"https:\/\/dev.sourcecode.sk\/wsczkb\/?post_type=ht_kb&#038;p=756"},"modified":"2025-11-05T15:38:50","modified_gmt":"2025-11-05T14:38:50","slug":"zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku","status":"publish","type":"ht_kb","link":"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/","title":{"rendered":"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell"},"content":{"rendered":"\n<p>Linuxov\u00fd p\u0159\u00edkazov\u00fd \u0159\u00e1dek (shell) WebSupport pro sv\u016fj <a href=\"https:\/\/www.websupport.cz\/webhosting\/\">hosting<\/a> poskytuje jako SSH nebo webovou konzoli, ve kter\u00e9 m\u016f\u017eeme pracovat pomoc\u00ed modern\u00edho webov\u00e9ho prohl\u00ed\u017ee\u010de jako je nap\u0159\u00edklad Google Chrome, nebo Mozilla Firefox. <\/p>\n\n\n\n<p>Tento n\u00e1vod m\u016f\u017eete stejn\u011b pou\u017e\u00edt pro pou\u017e\u00edv\u00e1n\u00ed linuxov\u00e9ho opera\u010dn\u00edho syst\u00e9mu i na serverov\u00fdch a cloud slu\u017eb\u00e1ch.<\/p>\n\n\n\n<p>Pr\u00e1v\u011b pou\u017eit\u00edm webov\u00e9ho prohl\u00ed\u017ee\u010de z\u00edsk\u00e1te p\u0159\u00edstup k linuxov\u00e9mu p\u0159\u00edkazov\u00e9mu \u0159\u00e1dku (shellu) z prost\u0159ed\u00ed, kter\u00e9 funguje nez\u00e1visle na opera\u010dn\u00edm syst\u00e9mu.&nbsp;P\u0159\u00edstup k dat\u016fm, tedy soubor\u016fm a adres\u00e1\u0159\u016fm pomoc\u00ed p\u0159\u00edkazov\u00e9ho \u0159\u00e1dku je velmi rychl\u00fd a efektivn\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-info\">Tento n\u00e1vod popisuje p\u0159\u00edkazov\u00fd \u0159\u00e1dek, kter\u00fd reprezentuje <strong>Bash<\/strong>. Jde o p\u0159\u00edkazov\u00fd shell interpreter naprogramovan\u00fd v r\u00e1mci projektu GNU. N\u00e1zev je akronym k n\u00e1zvu Bourne again shell &#8211; je zalo\u017een\u00fd na Bourne Shell (bsh), co\u017e byl nejpou\u017e\u00edvan\u011bj\u0161\u00ed unixov\u00fd shell.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kl\u00e1vesov\u00e9 zkratky<\/h2>\n\n\n\n<p>Nejd\u0159\u00edv se pod\u00edv\u00e1me na kl\u00e1vesov\u00e9 zkratky, d\u00edky kter\u00fdm dok\u00e1\u017eeme n\u011bkter\u00e9 operace v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku v\u00fdrazn\u011b zrychlit. Ty se mohou v n\u011bkter\u00fdch opera\u010dn\u00edch syst\u00e9mech odli\u0161ovat. <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>P\u0159\u00edkaz<\/strong><\/td><td><strong>Popis<\/strong><\/td><\/tr><tr><td><em>Ctrl + Shift + C<\/em><br><em>Shift + Insert<\/em><\/td><td>Vlo\u017e\u00ed zkop\u00edrovan\u00fd text (pozor, kl\u00e1vesov\u00e1 zkratka <em>Ctrl + C<\/em> slou\u017e\u00ed na ukon\u010den\u00ed programu)<\/td><\/tr><tr><td><em>Tab<\/em><\/td><td>P\u0159i psan\u00ed p\u0159\u00edkazu dopln\u00ed ostatn\u00ed p\u00edsmena p\u0159\u00edkazu nebo n\u00e1zev souboru \u010di slo\u017eky<\/td><\/tr><tr><td><em>\u0160ipka nahoru<\/em><br><em>\u0160ipka dol\u016f<\/em><\/td><td>Vyp\u00ed\u0161e p\u0159\u00edkaz ze seznamu historie (p\u0159\u00edkaz history), ale nespust\u00ed ho<\/td><\/tr><tr><td><em>Ctrl + R<\/em><\/td><td>Vyhled\u00e1v\u00e1n\u00ed v historii p\u0159\u00edkaz\u016f (historii zobraz\u00edme pomoc\u00ed p\u0159\u00edkazu history)<\/td><\/tr><tr><td><em>!!<\/em><\/td><td>Spust\u00ed p\u0159ede\u0161l\u00fd p\u0159\u00edkaz (nap\u0159. s pr\u00e1vy administr\u00e1tora\/roota: sudo !!)<\/td><\/tr><tr><td><em>!n<\/em><\/td><td>Spust\u00ed p\u0159\u00edkaz \u010d\u00edslo <em>n<\/em> (za p\u00edsmeno <em>n<\/em> dosad\u00edme po\u0159adov\u00e9 \u010d\u00edslo zji\u0161t\u011bn\u00e9 z p\u0159\u00edkazu history)<\/td><\/tr><tr><td><em>Ctrl + A<\/em><\/td><td>P\u0159esune kurzor na za\u010d\u00e1tek \u0159\u00e1dku (v\u011bt\u0161inou funguje i kl\u00e1vesa <em>Home<\/em>)<\/td><\/tr><tr><td><em>Ctrl + E<\/em><\/td><td>P\u0159esune kurzor na konec \u0159\u00e1dku (v\u011bt\u0161inou funguje i kl\u00e1vesa <em>End<\/em>)<\/td><\/tr><tr><td><em>Ctrl + Z<\/em><\/td><td>Spu\u0161t\u011bn\u00fd program p\u0159enese do pozad\u00ed (stejn\u011b jako znak &amp; za p\u0159\u00edkazem)<\/td><\/tr><tr><td><em>Alt + B<\/em><\/td><td>P\u0159esune kurzor o jedno slovo dozadu (<strong>B<\/strong>ack)<\/td><\/tr><tr><td><em>Alt + F<\/em><\/td><td>P\u0159esune kurzor o jedno slovo dop\u0159edu (<strong>F<\/strong>orward)<\/td><\/tr><tr><td><em>Ctrl + U<\/em><\/td><td>Vyma\u017ee v\u0161echny znaky p\u0159ed kurzorem<\/td><\/tr><tr><td><em>Ctrl + K<\/em><\/td><td>Vyma\u017ee v\u0161echny znaky za kurzorem<\/td><\/tr><tr><td><em>Ctrl + W<\/em><\/td><td>Vyma\u017ee jedno slovo p\u0159ed kurzorem<\/td><\/tr><tr><td><em>Alt + D<\/em><\/td><td>Vyma\u017ee jedno slovo za kurzorem<\/td><\/tr><tr><td><em>Ctrl + L<\/em><\/td><td>Vyma\u017ee celou obrazovku (stejn\u011b jako p\u0159\u00edkaz clear)<\/td><\/tr><tr><td><em>Ctrl + C<\/em><\/td><td>Ukon\u010d\u00ed spu\u0161t\u011bn\u00fd program (jako kdyby jsme klikli na k\u0159\u00ed\u017eek okna naho\u0159e vpravo resp. vlevo)<\/td><\/tr><tr><td><em>Ctrl + D<\/em><\/td><td>Ukon\u010d\u00ed akt\u00edvn\u00ed relaci (stejn\u011b jako p\u0159\u00edkaz exit)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Vytv\u00e1\u0159\u00edme soubory a slo\u017eky<\/h2>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-info\">Pokud n\u011bkter\u00e9 znaky na va\u0161\u00ed kl\u00e1vesnici nebudete um\u011bt napsat, pom\u016f\u017ee web <a href=\"https:\/\/znakynaklavesnici.cz\/\" target=\"_blank\" rel=\"noreferrer noopener\">znakynaklavesnici.cz<\/a><\/p>\n\n\n\n<p>V\u0161echny p\u0159\u00edkazy jsou zkratkou nebo kr\u00e1tk\u00fdmi slovy od stru\u010dn\u00e9ho anglick\u00e9ho popisu toho, co vlastn\u011b p\u0159\u00edkaz d\u011bl\u00e1. Nap\u0159\u00edklad jeden z nej\u010dast\u011bji pou\u017e\u00edvan\u00fdch p\u0159\u00edkaz\u016f je <code>cd<\/code>, co\u017e je zkratka anglick\u00e9ho popisu <em>change directory<\/em> (zm\u011b\u0148 slo\u017eku). <\/p>\n\n\n\n<p>Nejd\u0159\u00edve se p\u0159esuneme do domovsk\u00e9 slo\u017eky jednoduch\u00fdm kr\u00e1tk\u00fdm p\u0159\u00edkazem <em>change directory<\/em> (<code>cd<\/code>) n\u00e1sledovan\u00fdm znakem vlnovka (<code>~<\/code>). Znak vlnovka v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku v\u017edy reprezentuje domovskou slo\u017eku.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd ~<\/pre>\n\n\n\n<p>Abychom si ov\u011b\u0159ili, jestli se opravdu nach\u00e1z\u00edme v domovsk\u00e9 slo\u017ece, pou\u017eijeme p\u0159\u00edkaz <em>print working directory<\/em> (<code>pwd<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pwd<\/pre>\n\n\n\n<p>Pokud jsme v domovsk\u00e9 slo\u017ece, vyp\u00ed\u0161e se cesta <em>\/home\/jmeno_uzivatele<\/em>, p\u0159i\u010dem\u017e nam\u00edsto <em>jmeno_uzivatele<\/em> bude uveden\u00e9 jm\u00e9no aktu\u00e1ln\u011b p\u0159ihl\u00e1\u0161en\u00e9ho u\u017eivatele (nap\u0159. Tibor). V t\u00e9to slo\u017ece si pomoc\u00ed p\u0159\u00edkaz\u016f <em>make directory<\/em> (<code>mkdir<\/code>) a <code>touch<\/code> vytvo\u0159\u00edme 3 slo\u017eky a 3 pr\u00e1zdn\u00e9 soubory, se kter\u00fdmi budeme pracovat.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir test<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">touch test\/soubor_1.txt<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir test\/prazdna_slozka<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir test\/neprazdna_slozka<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">touch test\/neprazdna_slozka\/soubor_2.txt<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">touch test\/neprazdna_slozka\/soubor_3.txt<\/pre>\n\n\n\n<p>Pomoc\u00ed p\u0159\u00edkazu <em>disk usage<\/em> (<code>du<\/code>) a p\u0159ep\u00edna\u010de <code>-a<\/code> (jako all &#8211; \u010dili zobraz v\u0161echno v\u010detn\u011b soubor\u016f) vyp\u00ed\u0161eme strukturu slo\u017eek ve slo\u017ece <code>test<\/code>, kterou jsme pr\u00e1v\u011b vytvo\u0159ili:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">du -a test<\/pre>\n\n\n\n<p>Dote\u010f jsme pou\u017eili 5 p\u0159\u00edkaz\u016f (cd, pwd, mkdir, touch a du). \u010casto se st\u00e1v\u00e1, \u017ee stejn\u00e9 p\u0159\u00edkazy pou\u017e\u00edv\u00e1me v\u00edckr\u00e1t. Proto vznikl p\u0159\u00edkaz <code>history<\/code>, kter\u00fd n\u00e1m vyp\u00ed\u0161e v\u0161echny dote\u010f spu\u0161t\u011bn\u00e9 p\u0159\u00edkazy:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">history<\/pre>\n\n\n\n<p>Ka\u017ed\u00fd pou\u017eit\u00fd p\u0159\u00edkaz je v nov\u00e9m \u0159\u00e1dku, p\u0159i\u010dem\u017e ka\u017ed\u00fd \u0159\u00e1dek je uveden\u00fd po\u0159adov\u00fdm \u010d\u00edslem. Pokud si p\u0159ejeme op\u011bt spustit posledn\u00ed p\u0159\u00edkaz ze seznamu historie, sta\u010d\u00ed pou\u017e\u00edt dva v\u00fdk\u0159i\u010dn\u00edky (prvn\u00ed \u0159\u00e1dek). Kdy\u017e pot\u0159ebujeme spustit p\u0159\u00edkaz s konkr\u00e9tn\u00edm po\u0159adov\u00fdm \u010d\u00edslem, zad\u00e1me jeden vyk\u0159i\u010dn\u00edk n\u00e1sledovan\u00fd po\u0159adov\u00fdm \u010d\u00edslem (druh\u00fd \u0159\u00e1dek &#8211; spust\u00ed prvn\u00ed p\u0159\u00edkaz ze seznamu historie):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">!!<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">!1<\/pre>\n\n\n\n<p>V seznamu historie m\u016f\u017eeme d\u00edky kl\u00e1vesov\u00e9 zkratce <em>Ctrl + R<\/em> vyhled\u00e1vat. Funguje to tak, \u017ee stla\u010d\u00edme kl\u00e1vesovou zkratku a n\u00e1sledn\u011b p\u00ed\u0161eme text, kter\u00fd v seznamu historie chceme vyhledat.<\/p>\n\n\n\n<p>Sou\u010d\u00e1st\u00ed p\u0159\u00edkazu n\u011bkdy mohou b\u00fdt citliv\u00e9 \u00fadaje jako nap\u0159\u00edklad heslo. Spolu s citliv\u00fdmi \u00fadaji se v\u0161ak p\u0159\u00edkazy zap\u00ed\u0161ou do seznamu historie, a tak je odtud pot\u0159ebujeme vymazat. Odstranit m\u016f\u017eeme jednu polo\u017eku (prvn\u00ed \u0159\u00e1dek s p\u0159ep\u00edna\u010dem <code>-d<\/code> jako <em>delete<\/em>, \u010dili vymazat polo\u017eku \u010d\u00edslo 5) nebo celou historii (druh\u00fd \u0159\u00e1dek s p\u0159ep\u00edna\u010dem <code>-c<\/code> jako <em>clear<\/em>, \u010dili vymazat v\u0161echno). Po vymazan\u00ed je pot\u0159eba zm\u011bny zapsat do souboru se seznamem historie (p\u0159ep\u00edna\u010d <code>-w<\/code> jako <em>write<\/em>, \u010dili zapsat).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">history -d 5 -w<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">history -c -w<\/pre>\n\n\n\n<p>Te\u010f se p\u0159esuneme do slo\u017eky <code>test<\/code>, ve kter\u00e9 budeme pracovat se slo\u017ekami a soubory. Sta\u010d\u00ed napsat <code>cd t<\/code> a stla\u010dit kl\u00e1vesu <em>Tab<\/em>. Pokud se v aktu\u00e1ln\u00ed slo\u017ece nach\u00e1z\u00ed pouze jeden soubor a\/nebo slo\u017eka, jej\u00ed\u017e n\u00e1zev za\u010d\u00edn\u00e1 na p\u00edsmeno t, n\u00e1zev bude automaticky dopln\u011bn\u00fd (v na\u0161em p\u0159\u00edpad\u011b) na test. Automatick\u00e9 dopln\u011bn\u00ed se hod\u00ed nap\u0159\u00edklad kdy\u017e slo\u017eky a soubory maj\u00ed dlouh\u00e9 n\u00e1zvy.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd test<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Pracujeme se soubory a slo\u017ekami<\/h2>\n\n\n\n<p>Vytvo\u0159ili jsme strukturu slo\u017eek a soubor\u016f ve slo\u017ece <code>test<\/code> a te\u010f s nimi m\u016f\u017eeme pracovat. Pracovat se slo\u017ekami a soubory znamen\u00e1, \u017ee budeme jejich obsah zobrazovat, hledat a upravovat. Slo\u017eky a soubory budeme kop\u00edrovat, p\u0159emis\u0165ovat, p\u0159ejmenov\u00e1vat a mazat. Archivov\u00e1n\u00ed a komprimov\u00e1n\u00ed slo\u017eek a soubor\u016f jsme se v\u011bnovali v n\u00e1vodu <a href=\"https:\/\/www.websupport.cz\/podpora\/kb\/archivace-a-komprese-souboru-v-linuxu\/\" target=\"_blank\" rel=\"noreferrer noopener\">Archivace a komprese soubor\u016f v Linuxu<\/a>.<\/p>\n\n\n\n<p>Je\u0161t\u011b p\u0159ed prac\u00ed se soubory a slo\u017ekami v\u0161ak mus\u00edme z\u00edskat p\u0159ehled. Pod\u00edv\u00e1me se tedy, kter\u00e9 soubory a slo\u017eky m\u00e1me ve slo\u017ece <code>test<\/code> k dispozici. Toho doc\u00edl\u00edme u\u017e zn\u00e1m\u00fdm p\u0159\u00edkazem du nebo v aktu\u00e1ln\u00ed slo\u017ece (v na\u0161em p\u0159\u00edpad\u011b jde o slo\u017eku <code>test<\/code>) p\u0159\u00edkazem <code>ls<\/code> (jako <em>list<\/em>, \u010dili vypsat seznam slo\u017eek a soubor\u016f). P\u0159ep\u00edna\u010de <code>-lah<\/code> zabezpe\u010d\u00ed podrobn\u00fd v\u00fdpis (<code>l<\/code> jako <em>long<\/em>) v\u0161ech slo\u017eek a soubor\u016f (i skryt\u00fdch s te\u010dkou v n\u00e1zvu na za\u010d\u00e1tku; <code>a<\/code> jako <em>all<\/em>) a velikost je uveden\u00e1 v pro lidi sn\u00e1ze \u010diteln\u00e9 form\u011b (<code>h<\/code> jako <em>human readable<\/em>).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ls -lah<\/pre>\n\n\n\n<p>Slo\u017eky jsou od soubor\u016f v\u011bt\u0161inou barevn\u011b odli\u0161en\u00e9. Pokud to tak nen\u00ed, potom podle prvn\u00edho znaku bezpe\u010dn\u011b rozezn\u00e1me, jestli jde o slo\u017eku (prvn\u00ed znak je <code>d<\/code>) nebo o soubor (prvn\u00ed znak je <code>-<\/code>).<\/p>\n\n\n\n<p>V\u00fd\u0161e jsme vytvo\u0159ili pr\u00e1zdn\u00fd soubor subor_1.txt, do kter\u00e9ho te\u010f vlo\u017e\u00edme text pomoc\u00ed p\u0159\u00edkazu <code>echo<\/code> a lomen\u00fdch z\u00e1vorek (<code>&gt;<\/code> a <code>&gt;&gt;<\/code>). Jedna z\u00e1vorka (prvn\u00ed \u0159\u00e1dek) znamen\u00e1, \u017ee se cel\u00fd obsah souboru p\u0159ep\u00ed\u0161e a dv\u011b (druh\u00fd \u0159\u00e1dek) znamenaj\u00ed, \u017ee se text dopln\u00ed na konec a p\u016fvodn\u00ed obsah z\u016fstane zachovan\u00fd:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">echo \"Prvn\u00ed \u0159\u00e1dek v souboru soubor_1.txt\" &gt; soubor_1.txt<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">echo \"Druh\u00fd \u0159\u00e1dek v souboru soubor_1.txt\" &gt;&gt; soubor_1.txt<\/pre>\n\n\n\n<p>Pomoc\u00ed p\u0159\u00edkazu <code>cat<\/code> (z anglick\u00e9ho <em>concatenate<\/em>) si ov\u011b\u0159\u00edme, jestli se oba \u0159\u00e1dky do souboru <code>soubor_1.txt<\/code> doopravdy zapsaly:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cat soubor_1.txt<\/pre>\n\n\n\n<p>Kdybychom v\u0161ak pot\u0159ebovali se\u0159adit \u0159\u00e1dky abecedn\u011b, mus\u00edme nechat obsah souboru krom\u011b zobrazen\u00ed p\u0159es p\u0159\u00edkaz <code>cat<\/code> je\u0161t\u011b i se\u0159adit pomoc\u00ed p\u0159\u00edkazu <code>sort<\/code>. Jinak \u0159e\u010deno, v\u00fdstup p\u0159\u00edkazu cat po\u0161leme jako vstup p\u0159\u00edkazu sort a z\u00edsk\u00e1me tak abecedn\u011b se\u0159azen\u00fd seznam \u0159\u00e1dk\u016f souboru <code>soubor_1.txt<\/code>. V\u00fdstup po\u0161leme do vstupu p\u0159es \u201cpotrub\u00ed\u201d (anglicky <em>pipe<\/em>), co\u017e je reprezentovan\u00e9 znakem svisl\u00e9 \u010d\u00e1ry (<code>|<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cat soubor_1.txt | sort<\/pre>\n\n\n\n<p>Jako vstup do t\u0159\u00edd\u00edc\u00edho p\u0159\u00edkazu <code>sort<\/code> m\u016f\u017eeme poslat aj samotn\u00fd obsah souboru pomoc\u00ed opa\u010dn\u011b lomen\u00e9 z\u00e1vorky <code>&lt;<\/code> a z\u00edsk\u00e1me tak stejn\u00fd v\u00fdstup jako v p\u0159ede\u0161l\u00e9m p\u0159\u00edkazu, ale s krat\u0161\u00edm z\u00e1pisem (bez p\u0159\u00edkazu cat):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sort &lt; soubor_1.txt<\/pre>\n\n\n\n<p>\u010casto se st\u00e1v\u00e1, \u017ee soubor obsahuje velk\u00e9 mno\u017estv\u00ed \u0159\u00e1dk\u016f. Takov\u00fd soubor st\u00e1hneme (prvn\u00ed \u0159\u00e1dek) pomoc\u00ed p\u0159\u00edkazu <code>curl<\/code> (z anglick\u00e9ho <em>Client URL<\/em>). Ze sta\u017een\u00e9ho souboru <code>tabulka.csv<\/code> pot\u0159ebujeme zobrazit pouze prvn\u00edch 5 \u0159\u00e1dk\u016f (druh\u00fd \u0159\u00e1dek; <code>head<\/code> jako hlavi\u010dka) a posledn\u00edch 5 \u0159\u00e1dk\u016f (t\u0159et\u00ed \u0159\u00e1dek; <code>tail<\/code> jako chvost).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl -o tabulka.csv https:\/\/file-examples-com.github.io\/uploads\/2017\/02\/file_example_CSV_5000.csv<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">head -n 5 tabulka.csv<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">tail -n 5 tabulka.csv<\/pre>\n\n\n\n<p>Cel\u00fd obsah del\u0161\u00edho dokumentu po \u010d\u00e1stech zobraz\u00edme pomoc\u00ed p\u0159\u00edkazu <code>less<\/code> (prvn\u00ed \u0159\u00e1dek), d\u00edky kter\u00e9mu stl\u00e1\u010den\u00edm kl\u00e1vesy mezern\u00edk str\u00e1nkujeme a postupn\u011b prohl\u00e9dneme cel\u00fd obsah dokumentu. Kl\u00e1vesou Q ukon\u010d\u00edme zobrazen\u00ed obsahu p\u0159es p\u0159\u00edkaz less. Kdy\u017e pot\u0159ebujeme obsah souboru i upravit, mus\u00edme ho na\u010d\u00edst v textov\u00e9m editoru (druh\u00fd \u0159\u00e1dek) jako je nap\u0159\u00edklad <code>nano<\/code>. Co v textov\u00e9m editoru nano uprav\u00edme, ulo\u017e\u00edme stla\u010den\u00edm kl\u00e1vesov\u00e9 zkratky <code>Ctrl + X<\/code>, potom kl\u00e1vesy <code>Y<\/code> a nakonec kl\u00e1vesy <code>Enter<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">less tabulka.csv<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">nano tabulka.csv<\/pre>\n\n\n\n<p>St\u00e1hli jsme si pom\u011brn\u011b mnoho obsahu (tis\u00edce \u0159\u00e1dk\u016f) do souboru tabulka.csv, ve kter\u00e9m je t\u011b\u017ek\u00e9 vyhled\u00e1vat ru\u010dn\u011b. \u0158ekn\u011bme, \u017ee bychom v souboru tabulka.csv cht\u011bli zobrazit pouze ty \u0159\u00e1dky, kter\u00e9 obsahuj\u00ed jm\u00e9no <em>Felisa<\/em>. Toho dos\u00e1hneme p\u0159\u00edkazem <code>grep<\/code> (<em>globally search for a regular expression and print matching lines<\/em>, \u010dili glob\u00e1ln\u011b hledej regul\u00e9rn\u00ed v\u00fdraz a vypi\u0161 odpov\u00eddaj\u00edc\u00ed \u0159\u00e1dky):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep Felisa tabulka.csv<\/pre>\n\n\n\n<p>Je velmi d\u016fle\u017eit\u00e9 pravideln\u011b vytv\u00e1\u0159et z\u00e1lohy d\u016fle\u017eit\u00fdch soubor\u016f (prvn\u00ed \u0159\u00e1dek; <code>cp<\/code> jako <em>copy<\/em>). N\u011bkdy je vhodn\u00e9 z\u00e1lohu i p\u0159ejmenovat (druh\u00fd \u0159\u00e1dek mv jako <em>move<\/em>). P\u0159\u00edkaz <code>mv<\/code> je speci\u00e1ln\u00ed v tom, \u017ee slou\u017e\u00ed na p\u0159ejmenov\u00e1n\u00ed, ale t\u00e9\u017e na p\u0159esunut\u00ed souboru (t\u0159et\u00ed \u0159\u00e1dek). No a p\u0159\u00edpadn\u00e9 nadbyte\u010dn\u00e9 soubory m\u016f\u017eeme vymazat (\u010dtvrt\u00fd \u0159\u00e1dek; <code>rm<\/code> jako <em>remove<\/em>).<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cp tabulka.csv .\/neprazdna_slozka\/<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">mv .\/neprazdna_slozka\/tabulka.csv .\/neprazdna_slozka\/tabulka-zaloha.csv<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">mv .\/neprazdna_slozka\/soubor_2.txt soubor_2.txt<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">rm tabulka.csv<\/pre>\n\n\n\n<p>Soubor\u016f s koncovkou <code>.txt<\/code> u\u017e m\u00e1me v\u00edcero a pot\u0159ebujeme si vytvo\u0159it p\u0159ehled, kter\u00e9 jsou jak nazvan\u00e9 a v kter\u00fdch slo\u017ek\u00e1ch se nach\u00e1z\u00ed. P\u0159esn\u011b na takov\u00e9 \u00fa\u010dely slou\u017e\u00ed p\u0159\u00edkaz <code>find<\/code> v kombinaci so z\u00e1stupn\u00fdmi znaky jako <em>otazn\u00edk<\/em> (nahrazuje jeden libovoln\u00fd znak) a <em>hv\u011bzdi\u010dka<\/em> (nahrazuje libovoln\u00fd po\u010det libovoln\u00fdch znak\u016f). Pokud tedy pot\u0159ebujeme naj\u00edt v\u0161echny soubory s koncovkou .txt v aktu\u00e1ln\u00ed slo\u017ece (vyj\u00e1d\u0159en\u00fd te\u010dkou), pou\u017eijeme z\u00e1stupn\u00fd znak hv\u011bzdi\u010dka (prvn\u00ed \u0159\u00e1dek). V\u0161echny soubory, jejich\u017e n\u00e1zev za\u010d\u00edn\u00e1 stejn\u011b, maj\u00ed stejnou koncovku a li\u0161\u00ed se pouze jedin\u00fdm znakem (zde po\u0159adov\u00fdm \u010d\u00edslem) najdeme pomoc\u00ed p\u0159\u00edkazu v druh\u00e9m \u0159\u00e1dku.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">find . -name \"*.txt\"<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">find . -name \"soubor_?.txt\"<\/pre>\n\n\n\n<p>Slo\u017eky ma\u017eeme p\u0159\u00edkazem <code>rm<\/code> s p\u0159ep\u00edna\u010dem <code>-rf<\/code>. Pozor, tento p\u0159\u00edkaz pou\u017eijeme pouze tehdy, pokud s \u00faplnou jistotou v\u00edme, co ma\u017eeme. Po spu\u0161t\u011bn\u00ed takov\u00e9ho p\u0159\u00edkazu na slo\u017ece <code>test<\/code> v domovsk\u00e9 slo\u017ece (<code>~<\/code>) se toti\u017e bez upozorn\u011bn\u00ed vyma\u017ee celou slo\u017eku test i se v\u0161emi dal\u0161\u00edmi slo\u017ekami a soubory.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rm -rf ~\/test<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Kde najdeme dal\u0161\u00ed informace<\/h2>\n\n\n\n<p>P\u0159edstaven\u00e9 p\u0159\u00edkazy jsme si uk\u00e1zali pouze v n\u011bkolika p\u0159\u00edkladech, ale mo\u017enost\u00ed vyu\u017eit\u00ed existuje o mnoho v\u00edce. V linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku je je\u0161t\u011b jeden velmi \u010dasto pou\u017e\u00edvan\u00fd p\u0159\u00edkaz <code>man<\/code> (zkratka od <em>manual<\/em>). Pokud nap\u0159\u00edklad pot\u0159ebujeme v\u00edce informac\u00ed o p\u0159\u00edkazu rm, sta\u010d\u00ed napsat <code>man rm<\/code> a zobraz\u00ed se podrobn\u00fd manu\u00e1l k p\u0159\u00edkazu rm, ve kter\u00e9m se pohybujeme jako v p\u0159\u00edkazu less (mezern\u00edk a kl\u00e1vesa Q). Takto je mo\u017en\u00e9 do detailu studovat kter\u00fdkoliv p\u0159\u00edkaz linuxov\u00e9ho p\u0159\u00edkazov\u00e9ho \u0159\u00e1dku.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Shrnut\u00ed<\/h2>\n\n\n\n<p>Uk\u00e1zali jsme, jak v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku vytvo\u0159it soubory a slo\u017eky. Zobrazili a upravili jsme obsah soubor\u016f. P\u0159ejmenovali, kop\u00edrovali, p\u0159emis\u0165ovali a mazali jsme soubory a slo\u017eky. T\u00e9\u017e jsme si uk\u00e1zali, jak se pou\u017e\u00edvaj\u00ed z\u00e1stupn\u00e9 znaky, lomen\u00e9 z\u00e1vorky a svisl\u00e1 \u010d\u00e1ra. No a abychom cel\u00e9 psan\u00ed urychlili, stl\u00e1\u010deli jsme kl\u00e1vesov\u00e9 zkratky. Nakonec jsme si uvedli kvalitn\u00ed zdroj dal\u0161\u00edho podrobn\u00e9ho studia o prezentovan\u00fdch, ale i nezm\u00edn\u011bn\u00fdch p\u0159\u00edkazech.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Linuxov\u00fd p\u0159\u00edkazov\u00fd \u0159\u00e1dek (shell) WebSupport pro sv\u016fj hosting poskytuje jako SSH nebo webovou konzoli, ve kter\u00e9 m\u016f\u017eeme pracovat pomoc\u00ed modern\u00edho webov\u00e9ho prohl\u00ed\u017ee\u010de jako je nap\u0159\u00edklad Google Chrome, nebo Mozilla Firefox. Tento n\u00e1vod m\u016f\u017eete stejn\u011b pou\u017e\u00edt pro pou\u017e\u00edv\u00e1n\u00ed linuxov\u00e9ho opera\u010dn\u00edho syst\u00e9mu i na serverov\u00fdch a cloud slu\u017eb\u00e1ch. Pr\u00e1v\u011b pou\u017eit\u00edm webov\u00e9ho prohl\u00ed\u017ee\u010de&#8230;<\/p>\n","protected":false},"author":3,"template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[72],"ht-kb-tag":[],"class_list":["post-756","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-servery"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell - Websupport Centrum n\u00e1pov\u011bdy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/\" \/>\n<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell - Websupport Centrum n\u00e1pov\u011bdy\" \/>\n<meta property=\"og:description\" content=\"Linuxov\u00fd p\u0159\u00edkazov\u00fd \u0159\u00e1dek (shell) WebSupport pro sv\u016fj hosting poskytuje jako SSH nebo webovou konzoli, ve kter\u00e9 m\u016f\u017eeme pracovat pomoc\u00ed modern\u00edho webov\u00e9ho prohl\u00ed\u017ee\u010de jako je nap\u0159\u00edklad Google Chrome, nebo Mozilla Firefox. Tento n\u00e1vod m\u016f\u017eete stejn\u011b pou\u017e\u00edt pro pou\u017e\u00edv\u00e1n\u00ed linuxov\u00e9ho opera\u010dn\u00edho syst\u00e9mu i na serverov\u00fdch a cloud slu\u017eb\u00e1ch. Pr\u00e1v\u011b pou\u017eit\u00edm webov\u00e9ho prohl\u00ed\u017ee\u010de...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/\" \/>\n<meta property=\"og:site_name\" content=\"Websupport Centrum n\u00e1pov\u011bdy\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-05T14:38:50+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Odhadovan\u00e1 doba \u010dten\u00ed\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/\",\"url\":\"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/\",\"name\":\"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell - Websupport Centrum n\u00e1pov\u011bdy\",\"isPartOf\":{\"@id\":\"https:\/\/www.websupport.cz\/podpora\/#website\"},\"datePublished\":\"2021-04-07T09:54:19+00:00\",\"dateModified\":\"2025-11-05T14:38:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/#breadcrumb\"},\"inLanguage\":\"cs\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.websupport.cz\/podpora\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.websupport.cz\/podpora\/#website\",\"url\":\"https:\/\/www.websupport.cz\/podpora\/\",\"name\":\"Websupport Centrum n\u00e1pov\u011bdy\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.websupport.cz\/podpora\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"cs\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell - Websupport Centrum n\u00e1pov\u011bdy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/","og_locale":"cs_CZ","og_type":"article","og_title":"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell - Websupport Centrum n\u00e1pov\u011bdy","og_description":"Linuxov\u00fd p\u0159\u00edkazov\u00fd \u0159\u00e1dek (shell) WebSupport pro sv\u016fj hosting poskytuje jako SSH nebo webovou konzoli, ve kter\u00e9 m\u016f\u017eeme pracovat pomoc\u00ed modern\u00edho webov\u00e9ho prohl\u00ed\u017ee\u010de jako je nap\u0159\u00edklad Google Chrome, nebo Mozilla Firefox. Tento n\u00e1vod m\u016f\u017eete stejn\u011b pou\u017e\u00edt pro pou\u017e\u00edv\u00e1n\u00ed linuxov\u00e9ho opera\u010dn\u00edho syst\u00e9mu i na serverov\u00fdch a cloud slu\u017eb\u00e1ch. Pr\u00e1v\u011b pou\u017eit\u00edm webov\u00e9ho prohl\u00ed\u017ee\u010de...","og_url":"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/","og_site_name":"Websupport Centrum n\u00e1pov\u011bdy","article_modified_time":"2025-11-05T14:38:50+00:00","twitter_card":"summary_large_image","twitter_misc":{"Odhadovan\u00e1 doba \u010dten\u00ed":"10 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/","url":"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/","name":"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell - Websupport Centrum n\u00e1pov\u011bdy","isPartOf":{"@id":"https:\/\/www.websupport.cz\/podpora\/#website"},"datePublished":"2021-04-07T09:54:19+00:00","dateModified":"2025-11-05T14:38:50+00:00","breadcrumb":{"@id":"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/#breadcrumb"},"inLanguage":"cs","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.websupport.cz\/podpora\/kb\/zaklady-prace-se-soubory-a-slozkami-v-linuxovem-prikazovem-radku\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.websupport.cz\/podpora\/"},{"@type":"ListItem","position":2,"name":"Z\u00e1klady pr\u00e1ce se soubory a slo\u017ekami v linuxov\u00e9m p\u0159\u00edkazov\u00e9m \u0159\u00e1dku Shell"}]},{"@type":"WebSite","@id":"https:\/\/www.websupport.cz\/podpora\/#website","url":"https:\/\/www.websupport.cz\/podpora\/","name":"Websupport Centrum n\u00e1pov\u011bdy","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.websupport.cz\/podpora\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"cs"}]}},"_links":{"self":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb\/756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":3,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb\/756\/revisions"}],"predecessor-version":[{"id":7819,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb\/756\/revisions\/7819"}],"wp:attachment":[{"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/media?parent=756"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb-category?post=756"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.websupport.cz\/podpora\/wp-json\/wp\/v2\/ht-kb-tag?post=756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}