Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Informace
Obcování s ďáblem 6: Pár zbývajících drobností
30. srpna 2001, 00.00 | Se zástupci, aliasy a linky jsme se vyrovnali; dnes probereme několik dalších šikovných triků pro práci se soubory a se složkami. Jak uvidíte, hned první z nich souvisí právě se zástupci; proto jsme si je museli nechat až na teď.
Se zástupci, aliasy a linky jsme se vyrovnali; dnes probereme několik dalších šikovných triků pro práci se soubory a se složkami. Jak uvidíte, hned první z nich souvisí právě se zástupci; proto jsme si je museli nechat až na teď.Kde tedy opravdu jsem?
Hned v druhém dílu jsme se seznámili mj. s příkazem pwd, který zobrazí aktuální složku. Víme-li ovšem, že Mac OS X podporuje softlinky, víme také, že jedna jediná složka vlastně může mít řadu různých jmen — a jen jedno z nich je to "skutečné", všechna ostatní jsou jen "nasoflinkovaná" (hardlinky, u kterých jsou všechna jména rovnocenná, pro složky, jak víme, nelze použít).
Příkaz pwd standardně zobrazuje "tu složku, do které jsme se přepnuli příkazem cd"; jestliže jsme tedy v příkazu cd použili softlink, bude mu zobrazení odpovídat:
99 /tmp> cd 100 ~> ln -s /tmp odkazNaTempZMojiSlozky 101 ~> cd odkazNaTempZMojiSlozky 102 ~/odkazNaTempZMojiSlozky> pwd /Local/Users/ocs/odkazNaTempZMojiSlozky 103 ~/odkazNaTempZMojiSlozky>
Pokud ovšem chceme zjistit, kde jsme "doopravdy", stačí použít přepínač -P ("Physical path"):
103 ~/odkazNaTempZMojiSlozky> pwd -P /private/tmp 104 ~/odkazNaTempZMojiSlozky>
(tak se, mimochodem, ukázalo, že samo jméno "/tmp" je softlink na složku "/private/tmp").
Ničit už umíme, tvořit ne...
Víme už, jak rušit soubory a složky; neumíme je však zatím vytvářet. Je to jednoduché — chceme-li vytvořit soubor, použijeme příkaz touch:
106 /tmp> ls qqq ls: qqq: No such file or directory 107 /tmp> touch qqq 108 /tmp> ls -l qqq -rw-r—r— 1 ocs wheel 0 Aug 24 13:24 qqq 109 /tmp>
Samozřejmě, v praxi málokdy chceme jen tak vytvořit nějaký prázdný soubor; většinou budeme chtít do souborů ukládat nějaká data. To se naučíme už brzy, hned jak se pustíme do tzv. standardního vstupu a výstupu.
Tvorba složek je naopak velmi běžná věc. Podobně, jako příkaz touch vytvořil (prázdný) soubor, vytvoří příkaz mkdir (prázdnou) složku. Chceme-li složek určit více najednou, žádný problém — prostě použijeme více argumentů:
120 /tmp> ls -ld w* zsh: no matches found: w* 121 /tmp> mkdir www wan wopice wow 122 /tmp> ls -ld w* drwxr-xr-x 2 ocs wheel 1024 Aug 24 13:30 wan/ drwxr-xr-x 2 ocs wheel 1024 Aug 24 13:30 wopice/ drwxr-xr-x 2 ocs wheel 1024 Aug 24 13:30 wow/ drwxr-xr-x 2 ocs wheel 1024 Aug 24 13:30 www/ 123 /tmp>
A co když chceme připravit celý strom, obsahující i vnořené složky? Ani to není pro příkaz mkdir problém, jen si musíme toto chování vyžádat pomocí přepínače -p ("create Path"):
126 /tmp> ls a ls: a: No such file or directory 127 /tmp> mkdir a/b/c mkdir: a/b/c: No such file or directory 128 /tmp> mkdir -p a/b/c 129 /tmp> ls a b/ 130 /tmp> ls a/b c/ 131 /tmp>
Kdo si má ty složky pamatovat...
Dokud přecházíme sem/tam jen mezi dvěma složkami, poslouží nám dobře příkaz "cd -", známý už ze čtvrtého dílu. Pro složitější případy máme k dispozici velmi šikovné příkazy pushd a popd. První z nich funguje stejně jako příkaz cd; navíc si však zapamatuje složku, ze které jsme přišli. Druhý se prostě vrátí zpět:
149 /tmp> pushd ~ /tmp 150 ~> pushd /Applications /Applications ~ /tmp 151 /Applications> pushd /tmp /tmp /Applications ~ /tmp 152 /tmp> pushd /System /System /tmp /Applications ~ /tmp 153 /System> popd /tmp /Applications ~ /tmp 154 /tmp> popd /Applications ~ /tmp 155 /Applications> popd ~ /tmp 156 ~> popd /tmp 157 /tmp>
A co dále?
Ačkoli možnosti unixových shellů pro práci se soubory jsou daleko bohatší, to, co jsme si zatím ukázali, v naprosté většině případů stačí. Příště si ještě ukážeme jak najít soubory, jejichž jméno či obsah známe, ale nevíme přesně kde jsou, a pak se budeme chvíli věnovat spouštění programů.
Obsah seriálu (více o seriálu):
- Obcování s ďáblem
- Obcování s ďáblem 2 - základy
- Obcování s ďáblem 3 - Práce se soubory
- Obcování s ďáblem 4 - Další práce se soubory
- Obcování s ďáblem 5 - Stále soubory, hlavně linky
- Obcování s ďáblem 6: Pár zbývajících drobností
- Obcování s ďáblem 7: Samá voda, přihořívá, hoří!
- Obcování s ďáblem 8: Jak se do shellu volá, tak se program ozývá
- Obcování s ďáblem 9: Nové finty na programy
- Obcování s ďáblem 10: Do fronty, pánové, do fronty!
- Obcování s ďáblem 11: Standardní vstup a výstup
- Obcování s ďáblem 13: Další triky
- Obcování s ďáblem 14: Vyšší škola hledání souborů
- Obcování s ďáblem 15: Příkaz find stokrát jinak
- Obcování s ďáblem 16: Co se ještě dá uvařit z příkazu find
- Obcování s ďáblem 17: Regulární výrazy
- Obcování s ďáblem 18: Speciální regulární výrazy
- Obcování s ďáblem 19: Skládání regulárních výrazů
- Obcování s ďáblem 20: Regulární výrazy se zpětnými odkazy
- Obcování s ďáblem 21:K čemu je dobrý grep...
- Zázraky ihned, nemožné na počkání: sed
- Obcování s ďáblem - další finty s příkazem sed
- Rozsáhlejší příklad se sedem
- Obcování s ďáblem: Další kouzla, aneb awk
- Awk a proměnné
- Obcování s ďáblem 27: Awk a výrazy
- Obcování s ďáblem: Awk a funkce
- Awk a příkazy
- Co je to vlastně "uživatel"?
- Vlastnictví objektů
- Přístupová práva
- Vlastník, skupina, ostatní...
- Jak je to se skupinami?
- Skupiny a uživatelé
- Scripty
- Komentáře, a volba shellu
- Pro skript může být shell cokoli!
- Shellové skripty a argumenty
- Skripty a proměnné: aritmetika
- Proměnné shellu, "dědění" hodnot
- Práce s proměnnými
- Práce se jmény souborů
- Pole hodnot
- Další triky kolem polí...
- Standardní proměnné shellu
- Základní příkazy pro skripty
- Příkaz if
- Speciální podmínkové příkazy
- Podmínky pro práci se soubory
- Jednoduchý cyklus
- Příkaz for a pomocné příkazy break a continue
- Příkaz case
- Příkazy exit a select
- Rejstřík a přehled
- Procesy
- Informace o procesech
- Další klíčová slova pro příkaz ps
- Příkaz ps: několik praktických přepínačů
- A k čemu že je "ps" dobré?
- Copak procesor, s pamětí je to horší
- Virtuální paměť
- A ještě jednou virtuální paměť
- Zpět k příkazu ps
- Skutečný žrout paměti
- Ještě jednou top
- Doplněk k topu: vm_stat
- Co to tedy všechno znamená?
- Nevychází nám dal a má dáti?
- Kam se stránky ukládají?
- Změna odkládacího disku
- Změna odkládacího disku / fstab
- Poslední poznámka k fstab
- A jak to je se soubory?
- Co vlastně příkaz lsof vypisuje?
- Příkaz lsof a obsah sloupce NAME
- SIPS - Terminál není jen pro nadšence UNIXu
- Tak nám zabili NetInfo, paní Müllerová