Sedláme Linux, 7. díl: práce se soubory

Sedmá část našeho seriálu bude věnována dalším příkazům pro práci se soubory a adresáři v operačním systému GNU/Linux. Projdeme si všechny důležité operace, které se se soubory a adresáři dají provádět.

Vytvoření prázdného souboru

Jestliže se rozhodnete vytvořit prázdný soubor, použijte k tomu příkaz touch, kterému jako parametr zadáte název příslušného souboru. Tedy například:

touch blbost.txt

Tímto příkazem vytvoříme prázdný soubor blbost.txt. Nejčastěji používaným příkladem, podle kterého si jistě tento příkaz zapamatujete, je touch heaven.

Změna data a času modifikace souboru

Toto je vlastně primární funkce příkazu touch - změna času a data modifikace souboru. Když si totiž vypíšete seznam souborů (příkaz ls - viz minulá část), zjistíte, že součástí tohoto výpisu je také datum a čas, které signalizují poslední změnu souboru. To můžete dle libosti změnit. Stačí použít příkaz touch s parametrem -d a časovým údajem:

touch -d `15 January 2003 21:07` vypis.txt
touch -d `15 January` vypis.txt
touch -d `15 January 1983` vypis.txt
touch -d `21:07` vypis.txt

Kopírování souborů

Když se rozhodnete zkopírovat nějaký soubor z jednoho adresáře do jiného, použijte příkaz cp (copy). Jako parametry mu zadáme nejprve původní soubor a následně cílovou lokaci. Například:

cp blbost.txt /etc/skel
cp /etc/shadow /home/lama

Kopírování adresářů

Malinko odlišné je to v případě kopírování adresářů. Tam musíme doplnit parametr -R. Tedy například:

cp -R /etc /home/kmartin

Přejmenování a přesouvání souborů a adresářů

Jestliže byste rádi přenesli soubor(y) nebo adresář(e) z jednoho místa na jiné, anebo byste chtěli některý soubor či adresář přejmenovat, je tu pro vás příkaz mv (move). Syntaxe je podobná jako při kopírování:

mv blbost.txt /tmp
mv blbost.txt blbost-1.txt

Odstranění souboru

K odstranění souboru slouží příkaz rm (remove). Ale pozor, po potvrzení klávesou Enter se už neptá, jestli to myslíte vážně, apod. Předpokládá, že všechno co děláte, děláte vědomě. Dobře si tedy rozmyslete, co chcete vlastně udělat. Existuje možnost vynucení potvrzení, ale tím se budeme zabývat až při povídání o aliasech. Typické použití příkazu rm je takovéto:

rm blbost.txt

Odstranění prázdného adresáře

K odstranění prázdného adresáře slouží příkaz rmdir. Syntaxe je dále shodná s rm - zadáme tedy jen název adresáře, který chceme odstranit:

rmdir adresar

Odstranění neprázdného adresáře

Rádi byste odstranili adresář včetně všech souborů, které obsahuje? Ani to není problém. Zde sáhneme opět po příkazu rm, ale tentokrát mu zadáme jako parametr -R. Tedy:

rm -R adresar

Odstranění souboru s komplikovaným názvem

Může se stát, že na disku budete mít například soubor typu -blbost. Kdybyste zadali rm -blbost, bude systém předpokládat, že se jedná o parametr. Abyste mu vysvětlili, že tomu tak není, použijte přepínač --, který mu sdělí, že všechno, co následuje, nejsou parametry, ale názvy souborů:

rm -- -blbost

Symbolické odkazy

Určitou zajímavostí, na kterou v řadě jiných systémů nenarazíte, jsou odkazy. Může se stát, že budete potřebovat, aby se na dvou různých místech vyskytoval stejný soubor. Proč ale zbytečně zaplňovat diskový prostor něčím, co už tu je? Zkrátka umístíme originální soubor na jednu pozici a na tu druhou umístíme odkaz. Pokud nějaký program zavolá tento odkaz, tak odkaz zase zavolá původní soubor a všechno se chová tak, jako kdybychom v systému měli dva totožné soubory. Rozlišujeme symbolické a pevné odkazy. Budu se zabývat pouze symbolickými (pevné se liší z praktického hlediska jen v tom, že nemohou odkazovat na adresář a mimo hranice svazku a když odkaz smažeme, smaže se i původní soubor). Vytvoření symbolického odkazu je prosté:

ln -s /home/kmartin/blbost.txt /etc/kravina.txt

Zdrojovým souborem (původním) je v tomto případě blbost.txt a odkazem, který vytváříme, je kravina.txt.

Spuštění programu

Prošli jsme si řadu příkazů pro práci se soubory, ale ještě vlastně nevíme, jak spustit nějaký program. V zásadě existují dvě možnosti. Pokud je tento program v některém z určených adresářů, tedy především v /bin nebo /usr/bin, pak stačí zadat pouze název spouštěcího souboru a potvrdit klávesou Enter. Jestliže se ale program vyskytuje jinde, pak je vhodné se do tohoto adresáře přesunout a zadat ./soubor, kde ./ specifikuje aktuální adresář. Anebo můžeme zkrátka zadat /cesta/soubor z libovolného umístění v systému.

Výpis a ukončení procesů

Každý spuštěný program je v systému označen jako proces a ten je identifikován svým číslem. Jeden program se může rozložit i do více procesů. Když se stane, že některý program přestane fungovat a "zamrzne", pak můžeme, díky práci s procesy, jeho běh ukončit. Stačí se přepnout do jiné konzole (nejčastěji ALT+F2F6) a zadat příkaz ps. Tím dojde k výpisu všech běžících procesů:

 PID TTY          TIME CMD
1690 tty1     00:00:00 login
1691 tty2     00:00:00 login
1692 tty3     00:00:00 login
1693 tty4     00:00:00 login
1695 tty6     00:00:00 mingetty
1703 tty2     00:00:00 bash
2507 tty5     00:00:00 login
2717 tty2     00:00:00 ps

Když se teď rozhodneme některý z nich ukončit, zadáme jednoduše příkaz kill následovaný číslem procesu (PID). Tedy například:

kill 1703

Jen doplním, že výpis procesů můžeme mít trošku pestřejší. Pokud budeme chtít vypsat všechny běžící procesy, použijeme parametr a. Abychom viděli čas spuštění programu a jméno uživatele, který jej využívá, doplníme ještě parametr u. A protože nás zajímá i návaznost mezi jednotlivými procesy, použijeme ještě parametr f, který nám jednotlivé závislosti vykreslí. Dostaneme tedy podobu ps auf. Výpis pak bude vypadat nějak takto:

USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
lucka    29245  0.0  0.2  3904 2336 pts/2    S    Jan03   0:00 -csh
kmartin  23284  0.2  0.2  4008 2416 pts/6    S    07:31   0:00 -csh
kmartin  23292  0.0  0.2  5392 2304 pts/6    R    07:31   0:00  \_ ps auf
root       324  0.0  0.0  1816  776 tty6     S     2002   0:00 /sbin/getty 38400 tty6
root       323  0.0  0.0  1816  776 tty5     S     2002   0:00 /sbin/getty 38400 tty5
root       322  0.0  0.0  1816  776 tty4     S     2002   0:00 /sbin/getty 38400 tty4
root       321  0.0  0.0  1816  776 tty3     S     2002   0:00 /sbin/getty 38400 tty3
root       320  0.0  0.0  1816  776 tty2     S     2002   0:00 /sbin/getty 38400 tty2
root       319  0.0  0.1  3616 1944 tty1     S     2002   0:00 -bash

K procesům se ještě vrátíme a budeme si povídat mj. o nástroji killall. Pro dnešek je to už ale všechno.

Témata článku: Linux, Práce, Remove, Root, Díl, Primární funkce, Meme, Shadow, Lin, Heaven, Touch, Login, PS 2, Soubor, Stat, Lama, PID, Lucky

Určitě si přečtěte

Velká podzimní aktualizace Windows 10 je tady: Co přináší Fall Creators Update

Velká podzimní aktualizace Windows 10 je tady: Co přináší Fall Creators Update

** Po půl roce je tu další aktualizace Windows ** A opět přináší hlavně hromadu drobných kosmetických vylepšení ** Podívali jsme se na ty nejzajímavější

17.  10.  2017 | Jakub Čížek | 183

Budoucností Windows 10 je Fluent Design. Takto bude jednou vypadat celý systém

Budoucností Windows 10 je Fluent Design. Takto bude jednou vypadat celý systém

** Fluent Design je vzhled, do kterého postupně Microsoft převleče celý systém ** Staví na průhlednosti a velkých plochách ** Do Windows 10 se z části dostane už zítra při vydání podzimní aktualizace

16.  10.  2017 | Stanislav Janů | 155

Nejlepší optické iluze: Z toho vám půjde hlava kolem

Nejlepší optické iluze: Z toho vám půjde hlava kolem

** Mozek se nechá snadno ošálit, a to mnoha způsoby ** Podívejte se na několik nejlepších optických iluzí ** Iluze dokazují, že vnímání reality může být značně zkreslené

16.  10.  2017 | Vojtěch Malý

Přichází doba hypersonických zbraní. Hrozí zvýšené riziko jaderného konfliktu

Přichází doba hypersonických zbraní. Hrozí zvýšené riziko jaderného konfliktu

** Světové mocnosti vyvíjí nové, nesmírně rychlé zbraně ** Jsou schopné pokořit rychlost Mach 5 ** Tyto zbraně mohou zvýšit riziko rozpoutání válečného konfliktu

Včera | Stanislav Mihulka | 19


Aktuální číslo časopisu Computer

Nový seriál o programování elektroniky

Otestovali jsme 17 bezdrátových sluchátek

Jak na nákup vánočních dárků ze zahraničí

4 tankové tiskárny v přímém souboji