S pomocí ls
příkaz, uživatelé a superuživatelé vypisují informace o souborech a adresářích. Tento článek pomáhá správci a uživateli identifikovat oprávnění k souborům, což je užitečné pro přístup a základní řešení problémů.
Pomocí ls
Ve své nejzákladnější podobě můžete použít ls
příkaz k zobrazení souborů v adresáři:Poznámka:Výpis může, ale nemusí být barevně odlišen.
[root@centos7 ~]# ls /etc
abrt firewalld makedumpfile.conf.sample rdma
adjtime flatpak man_db.conf redhat-release
aliases fonts maven request-key.conf
aliases.db fprintd.conf mime.types request-key.d
alsa fstab mke2fs.conf resolv.conf
alternatives fuse.conf modprobe.d rhsm
anacrontab gconf modules-load.d rpc
...
Existuje mnoho příznaků k dispozici, aby vám poskytl další informace se seznamem souborů. Nejčastěji se používá -a
(nebo --all
), protože zobrazuje všechny soubory v adresáři, včetně těch, které začínají tečkou (např. .bash_logout
).
Dalším běžným příznakem je -l
, která vám poskytuje další informace o souborech v adresáři, včetně oprávnění, vlastnictví a velikosti souboru. Pokud chcete snáze zjistit, v jakých jednotkách je velikost souboru (např. 1K, 234M, 2G), můžete přidat -h
(zkratka pro --human-readable
) příznak.
Pojďme si projít příklad. Jednoduchý seznam souborů v adresáři uživatele root může být tento:
[root@name ~]# ls /root
anaconda-ks.cfg
Pokud chcete verzi tohoto seznamu v dlouhém formátu (další informace zde uvedené pokryjeme v další části):
[root@name ~]# ls -l /root
total 4
-rw-------. 1 root root 896 Feb 22 01:40 anaconda-ks.cfg
Pokud však přidáte -a
příznak, ls
příkaz vrátí krátký seznam obsahující skryté položky:
[root@name ~]# ls -a /root
. anaconda-ks.cfg .bash_logout .bashrc .cshrc .tcshrc
.. .bash_history .bash_profile .cache .local
Zvažte jednu tečku a dvojitou tečku v obou seznamech adresářů. Jediná tečka (.
) odkazuje na samotný adresář. Tato tečka se hodí, pokud chcete spustit příkaz a odkazovat na svůj aktuální adresář (například když tam chcete zkopírovat soubor).
Dvojité tečky (..
) přejděte do nadřazeného adresáře. Pokud zadáte cd ..
posunete se o jeden krok výše v hierarchii souborového systému. Například, pokud je váš aktuální adresář /root
, zadáním cd ..
by vás přesměrovalo na /
, na samém vrcholu hierarchie.
Pokud zkombinujete -a
pomocí -l
možnost do -la
, získáte další podrobnosti o skrytých a neskrytých souborech:
[root@name ~]# ls -la /root
total 44
dr-xr-x---. 4 root root 4096 Feb 11 05:47 .
dr-xr-xr-x. 19 root root 4096 Jul 11 13:15 ..
-rw-------. 1 root root 896 Feb 22 01:40 anaconda-ks.cfg
-rw-------. 1 root root 163 Jul 11 01:18 .bash_history
-rw-r--r--. 1 root root 18 Feb 2 10:37 .bash_logout
-rw-r--r--. 1 root root 176 Feb 2 10:37 .bash_profile
-rw-r--r--. 1 root root 176 Feb 2 10:37 .bashrc
drwx------. 3 root root 4096 Jul 11 01:37 .cache
-rw-r--r--. 1 root root 100 Feb 2 10:37 .cshrc
drwxr-xr-x. 3 root root 4096 Feb 22 01:57 .local
-rw-r--r--. 1 root root 129 Feb 2 10:37 .tcshrc
Dekódování formátu dlouhého záznamu
Když začnete používat -l
vlajky, všimnete si mnohem více informací. Zde je příklad řádku výstupu:
drwxrwxr-x 2 root test 4096 Dec 3 2009 test
První znak vlevo vám řekne, na co se díváte. Pokud je to d
, jak vidíte zde, to říká, že tento soubor je adresář, což je v podstatě speciální druh souboru (a bude v celém textu označován jako soubor). Pokud však šlo o pomlčku (-
), což by znamenalo, že soubor je běžný soubor.
Pokud první znak bylo malé písmeno l
, pak by tato položka byla speciálním typem souboru zvaným symbolický odkaz nebo měkký odkaz, což je ukazatel (zástupce) na jiné místo v souborovém systému. Takový výpis může vypadat takto:
lrwxrwxrwx 1 root root 4 Jun 30 03:29 sh -> bash
Za prvním znakem jsou zkratky oprávnění, které jsou seskupeny po třech. Oprávnění pro soubory jsou reprezentována následujícími písmeny:
r
pro oprávnění ke čteníw
pro oprávnění k zápisux
pro oprávnění ke spuštění
Zpět k tomuto příkladu:
drwxrwxr-x 2 root test 4096 Dec 3 2009 test
- První trojice (
rwx
) zobrazuje oprávnění pro uživatele nebo vlastníka souboru. - Další trojice (
rwx
) zobrazuje oprávnění pro kategorii skupiny. - Poslední trojice (
r-x
) zobrazuje oprávnění pro poslední kategorii, jiné.
V tomto příkladu uživatelé, kteří nejsou vlastníky souboru ani ve skupině, mají oprávnění ke čtení a spouštění, ale nemají oprávnění k zápisu, jak je označeno pomlčkou (-
) ve střední poloze.
Číslo uvedené za oprávněními označuje buď odkaz počet (pro soubor) nebo počet obsažených položek adresáře (pro adresář). Toto číslo není relevantní pro oprávnění.
Po tomto čísle křestní jméno označuje vlastníka souboru. Uživatelská oprávnění (první trojice) se vztahují na tohoto vlastníka, takže v tomto příkladu uživatel root
má oprávnění ke čtení, zápisu a spouštění pro tento adresář.
Druhý název je skupina souboru. Oprávnění skupiny se vztahují na každého uživatele ve stejné skupině, takže v tomto případě na kohokoli v mail
skupina má oprávnění ke čtení, zápisu a spouštění.
Zabalení
Nyní byste měli mít mnohem lepší cit pro získávání informací o vašich souborech z příkazového řádku. ls
příkaz má mnohem více možností. Zadejte man ls
Chcete-li se dozvědět více a zjistit své oblíbené kombinace vlajek, abyste mohli věci dělat. Možná si budete chtít vytvořit i nějaké aliasy.