Pohyb v adresářové struktuře

Jak víte, v GNU/Linuxu je vše uloženo v jisté hierarchické adresářové struktuře, která začíná kořenovým adresářem a rozvětvuje se do jednotlivých podadresářů. Pokud se dostaneme k příkazové řádce, zpravidla se ocitneme ve svém domovském adresáři.

Abychom mohli vyrazit na průzkum, musíme si s sebou vzít příslušné vybavení, modul GPS umožňující zjistit kdekoliv naši pozici (příkaz pwd), svítilnu k prohledávání okolí (příkaz ls) a dopravní prostředek (příkaz cd). Posledním předpokladem je schopnost navigace, tedy povědomí o adresářové struktuře a znalost tzv. absolutních a relativních cest.

To není nic komplikovaného. Kupříkladu, mějme soubor /var/log/messages (povšimněte si, že jednotlivé položky v cestě se oddělují lomítkem). Tato cesta začíná lomítkem (kořenovým adresářem), a proto se jí říká absolutní cesta. Pokud se však nacházíme v adresáři /var, je relativní cesta k tomuto souboru log/messages. Relativní cesta je cesta k souboru z aktuálního adresáře. Jsme-li tedy ve /var, nemusíme vypisovat absolutní cestu, můžeme použít cestu relativní.

Každý adresář má vždy alespoň dvě položky, odkaz sám na sebe (tečku) a odkaz na předchozí adresář (dvě tečky). Pokud se tedy nacházíme v adresáři /var/tmp, můžeme se k příslušnému souboru dostat přes odkaz na předchozí adresář, tedy takto: ../log/messages. Pokud bychom se nacházeli v adresáři /var/tmp/mike, měla by relativní cesta o jeden skok na předchozí adresář více: ../../log/messages.

Nyní se již můžeme pustit do vlastního průzkumu. Začneme tím, že zjistíme, kde jsme:

  [michal@griffon ~]$ pwd
  home/michal

Jak vidíte, nacházíme se v adresáři /home/michal. Nyní se rozhlédneme:

  [michal@griffon ~]$ ls
  linuxbook.xml Desktop

Teď už víme, že se v našem domovském adresáři nacházejí tyto položky. A na závěr se necháme přepravit do adresáře /tmp prostřednictvím relativní cesty:

  [michal@griffon ~]$ cd ../../tmp
  [michal@griffon tmp]$

Přirozeně jsme mohli použít absolutní cestu, což by bylo i rychlejší:

  [michal@griffon ~]$ cd /tmp

Příkaz ls podrobněji

Program ls má některé zajímavé parametry, které vám umožní získat více informací. Volby unixových programů začínají vždy pomlčkou a mívají dvě formy, krátkou (např. -a) a dlouhou (např. –all-files). Tyto formy jsou zaměnitelné - použijte tu, která se vám lépe píše nebo pamatuje. Volby mohou mít i parametry, které jsou u krátké formy zpravidla specifikovány po jedné mezeře (např. -f soubor.txt, zatímco u dlouhé mohou být odděleny rovnítkem (např. –file=soubor.txt. Různé programy mají různé parametry a volby, o kterých se dozvíte v manuálových stránkách (příkaz man). Parametry a volby se oddělují mezerou. Názorněji to uvidíte na příkladech.

Parametrem programu ls je adresář, jehož obsah chcete vypsat. Pokud jej nespecifikujeme, vypíše se aktuální adresář. Pokud bychom tedy chtěli vypsat obsah adresáře /bin, zapsali bychom:

  [michal@griffon ~]$ ls /bin

Tou nejpoužívanější volbou pro program ls je -l, která zvolí pro výpis tzv. dlouhý formát, kde získáte přehled o vlastníkovi a skupině příslušné danému souboru, jeho velikosti a přístupových právech. Vyzkoušejme si to:

  [michal@griffon ~]$ ls -l
  drwx------ 16 michal users  4096 2007-10-05 22:03 Desktop
  -rw-r--r--  1 michal users 12578 2007-10-05 10:22 linuxbook.xml

Jak vidíte, ve výpisu máte k dispozici u jednotlivých položek přístupová práva, jméno vlastníka a skupiny, velikost, datum a čas poslední změny. Vidíte i typ jednotlivých položek (první znak na řádce), u položky Desktop vidíme, že se jedná o adresář (d jako directory). Normální soubor je označen pomlčkou, b by označovalo blokové zařízení, c znakové zařízení a l symbolický link.

Poslední důležitou volbu, která bude zmíněna, je -a. Tato volba zařídí vypsání všech souborů, i skrytých (tj. soubory začínající tečkou). Jednotlivé volby (resp. pouze ty, které neočekávají parametr) lze v případě ls a řady dalších unixových utilit kupit za jedinou pomlčku, takto:

  [michal@griffon ~]$ ls -la

Je vhodné dodat, že ne úplně všechny nástroje (zejména pak ty neunixové) nemusí umět takto slučovat parametry, a v takovém případě je nutné parametry vypsat „zdlouhavě“, jeden po druhém a oddělit je mezerou, takto:

  [michal@griffon ~]$ ls -l -a

Kam dál

pokrocili/komandlajna/navigace.txt · Poslední úprava: 2009/11/11 08:46 autor: Michal Dočekal
CC Attribution-Share Alike 3.0
www.chimeric.de Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 PDF Export