ls (Unix)
Typ softwaru | standardní UNIXová utilita či příkaz a Plan 9 utilita |
---|---|
Některá data mohou pocházet z datové položky. |
ls
je v informatice jeden ze základních příkazů unixových systémů. V příkazovém řádku slouží k vypsání obsahu adresáře. Vypisuje jména adresářů a souborů a v podrobném výpisu též unixová přístupová práva, vlastníka, skupinu, velikost a další informace. Je specifikován ve standardu POSIX a Single UNIX Specification.
Historie
Příkaz (utilita) ls
se poprvé objevila v původním AT&T Unixu. Jméno je odvozeno od příkazu list segments
v systému Multics, kde paměťové segmenty byly de facto soubory. V současnosti jsou dvě nejznámější verze. První od Free Software Foundation (je součástí balíčku GNU Core Utilities) a druhá jsou různé varianty BSD jako FreeBSD, OpenBSD nebo Darwin firmy Apple. Obě jsou však svobodné a open source.
Chování
Pokud je příkaz ls
volán bez argumentů, vypíše soubory a složky v aktuálním pracovním adresáři. Jako parametr může být specifikován i jiný adresář nebo seznam adresářů a příkaz ls
potom vypíše jejich obsah. Soubory začínající tečkou („.
“) nejsou vypisovány, pokud to není explicitně požadováno pomocí parametru -a
. Bez parametrů vypisuje příkaz soubory a adresáře v holém formátu, avšak ten není příliš vhodný pro orientaci uživatele, protože se obtížně rozeznávají adresáře od souborů nebo symbolických odkazů. Nejčastěji[zdroj?] jsou používány následující parametry:
-l
: dlouhý formát (anglicky long format). Zobrazuje typ souboru,oprávnění, počet pevných odkazů, vlastníka, skupinu, velikost, datum a jméno.-F
: přidá za jméno znak podle typu. Hvězdičku (*
) pro spustitelný soubor, lomítko (/
) pro adresář, svislou čáru (|
) pro soubor fronty, zavináč (@
) pro symbolický odkaz, rovná se (=
) pro soket, a otevřenou špičatou závorku (>) pro dveře[1].[2] Normálním souborům není přidáno nic.-a
: zobrazí i soubory které začínají tečkou. Ty jsou jinak považovány za skryté a nejsou vypisovány.-R
: rekurzivně vypisuje i obsah podadresářů. Napříkladls -R /
vypíše všechny soubory v počítači.-d
: vypíše informace o symbolickém odkazu nebo adresáři namísto výpisu jeho obsahu nebo cíli odkazu.-t
: seřadí výpis podle času poslední úpravy souboru.-X
: seřadí výpis podle přípony souboru.-h
: velikost se vypíše ve srozumitelnějším formátu (např. 1K, 234M, 5G). Například při požadavkuls -l -h
.
Je to velmi často používaný nástroj v příkazovém řádku.[zdroj?] Na některých systémech (např. PCLinuxOS) má ls
alias l
. Mnoho systémů[který?] také používá aliasy
ls -l
nall
ls -la
nala
- nebo
ls -ta
nalt
.
Obarvování názvů souborů
Příkaz ls
na rozdíl od příkazu dir
vykresluje různé typy souborů v barvě. To, která barva se pro určitý konkrétní typ souboru použije je dáno operačním systémem. Například v operačním systému Ubuntu se jedná o následující schéma:
- červená – soubor archivu,
- červená s černým pozadím – soubor porušeného přesměrování,
- modrá – adresář,
- světle modrá – soubor symbolického odkazu,
- zelená – spustitelný soubor,
- růžová – grafický soubor,
- žlutá s černým pozadím – zařízení.[3]
V některých prostředích lze pomocí parametru --color
(pro GNU ls nebo -G
(FreeBSD ls) výstup obarvit. Soubory pak mají různé barvy podle typů. GNU ls pro určení barvy souboru zhodnotí jeho formát, oprávnění a příponu, kdežto FreeBSD ls použije pouze formát a oprávnění souboru.[zdroj?] Při barevném zvýraznění vypadá výpis souborů například takto:
brw-r--r-- 1 unixguy staff 64, 64 Jan 27 05:52 blokove zarizeni
crw-r--r-- 1 unixguy staff 64, 255 Jan 26 13:57 znakove zarizeni
-rw-r--r-- 1 unixguy staff 290 Jan 26 14:08 komprimovany.gz
-rw-r--r-- 1 unixguy staff 331836 Jan 26 14:06 data.ppm
drwxrwx--x 2 unixguy staff 48 Jan 26 11:28 adresar
-rwxrwx--x 1 unixguy staff 29 Jan 26 14:03 spustitelny
prw-r--r-- 1 unixguy staff 0 Jan 26 11:50 fifo
lrwxrwxrwx 1 unixguy staff 3 Jan 26 11:44 link -> dir
-rw-rw---- 1 unixguy staff 217 Jan 26 14:08 bezny soubor
Přidružené příkazy
K příkazu ls
patří také příkazy dir
a vdir
. Rozdíl oproti ls
je pouze ve způsobu výpisu adresářové informace. Všechny tři příkazy vypisují informace o zadaných argumentech. Obsahy adresářů se vypíšou setříděné podle ASCII (v případě aktivní podpory locale pak podle aktuálního národního nastavení). Příkaz ls
soubory implicitně vypisuje ve více sloupcích, pouze pokud standardní výstup směřuje na terminál. Je-li implicitní výstup přesměrován do souboru či do roury, pak dojde k vypsání informace do jediného sloupce (jeden soubor na jeden řádek). Příkaz dir
soubory vypíše vždy ve sloupcích, totéž co ls -C
. Příkaz vdir
soubory implicitně vypíše v dlouhém formátu, totéž co ls -l
. Výpis do jednoho sloupce lze v každém případě vynutit použitím přepínače ls -1
.
Příklad použití
Následující příklad jednoduše demonstruje odlišné chování ls
při použití dvou různých argumentů.
$ pwd
/home/pepa
$ ls -l
drwxr--r-- 1 pepa editors 4096 navrhy
-rw-r--r-- 1 pepa editors 30405 edition-32
-r-xr-xr-x 1 pepa fred 8460 edit
$ ls -F
navrhy/
edition-32
edit*
V tomto příkladu má uživatel pepa
adresář navrhy
, soubor edition-32
a spustitelný soubor edit
ve svém domovském adresáři. Ve výpisu je vidět jaká oprávnění mají vzhledem souboru jeho majiteli (u), skupině (g) a všem ostatním (o). Tudíž je nutné následující výpis interpretovat podle šablony „duuugggooo
“ (tj. počet pevných odkazů, majitel, skupina, velikost, datum úpravy, jméno):
drwxr--r-- 1 pepa editors 4096 29. kvě 2008 navrhy
Výstup tedy znamená, že navrhy
je složka, vlastník má rwx (číst, zapisovat, spouštět), členové skupiny r (číst) a ostatní r (číst) – viz přístupová práva v Unixu.
Odkazy
Reference
- ↑ What do the symbols displayed by ls -F mean?. Unix & Linux Stack Exchange [online]. [cit. 2023-03-21]. Dostupné online. (anglicky)
- ↑ ls - List file and directory names and attributes. www.ibm.com [online]. [cit. 2023-03-21]. Dostupné online. (anglicky)
- ↑ Colors for ls Mean - How to Change Colors for ls in Bash [online]. 2022-11-27 [cit. 2023-03-21]. Dostupné online. (anglicky)
Literatura
- BRANDEJS, Michal. UNIX – LINUX. Praktický průvodce. Praha: Grada Publishing, 1996. 341 s. ISBN 80-7169-170-4.
Externí odkazy
- Obrázky, zvuky či videa k tématu ls na Wikimedia Commons
Média použitá na této stránce
Autor:
Software: GNU Project coreutils
Screenshot:
VulcanSphere, Licence: GPLv3Screenshot of 'ls'.