Portál AbcLinuxu, 20. května 2024 23:17


Soubory v Linuxu

Soubor je v podstatě určitá posloupnost bajtů, která k sobě jistým způsobem patří. Příkladem souboru je html stránka, spustitelný program, obrázek, film… Prakticky každý program vytváří, nebo čte nějaké soubory (webový prohlížeč, přehrávač hudby, textový editor…). Spousta z nich čte soubory, které odpovídají určité struktuře, ale základní unixové utilitky se na soubory dívají jako na proud bajtů.

Pokud se chceme podívat na obsah nějakého souboru, není nic jednoduššího, než napsat

cat linux.txt
Mandriva
Aurox
Kubuntu
Slackware
Když se podíváte do manuálové stránky, zjistíte, že cat - concatenate files and print on the standard output. Cat tedy neznamená kočka, ale je to zkratka ze slova concatenate - zřetězit, spojit. Tento příkaz tedy spojuje soubory.
cat linux.txt bsd.txt
Mandriva
Aurox
Kubuntu
Slackware
FreeBSD
OpenBSD
NetBSD

Stránkovací programy

Popravdě, málokteré soubory, s nimiž se setkáte budou tak krátké, aby se vešly do konzole. Proto byly vytvořeny stránkovací programy, které výstup po stránce zastaví a umožní vám si vše v klidu přečíst. Nejstarším příkazem je more, který je velmi jednoduchý. Prostě zastaví stránku a stiskem mezerníku se dostanete na další stranu a stiskem Enteru na další řádek. Zadáním znaku '/' (jenom lomeno, bez uvozovek) se dostanete do režimu hledání (stejné je to i ve vi). Klávesou 'q' ukončíte jeho činnost. Program less vznikl jako dokonalejší náhrada programu more. Zatímco prvně jmenovaný umožňoval pouze pohyb dopředu, less umožňuje i pohyb zpět. Ovládá se stejným způsobem, ale pohyb mezi stránkami může být ovládán klávesami Page Up a Page Down. Ještě dokonalejší náhradu představuje program most.

Tyto programy se dají použít třemi způsoby. Buďto přímým zadáním:

more foo.txt

Dále za rourou:

cat foo.txt | most

Posledním případem je nastavení systémové proměnné PAGER, která nastavuje výchozí stránkovací program, který je použit, pokud je potřeba zalomit dlouhý výstup.

echo $PAGER
/usr/bin/less

Určení typu souboru

Nejjednodušším způsobem, jak můžete určit typ souboru je příkaz file. Ten používá takzvané magic files (jsou v /usr/share/misc/file/), což jsou soubory obsahující charakteristické znaky jednotlivých souborů (zalomeno).

file /etc/passwd /bin /usr/bin/file /dev/cdrom /dev/hdd /tmp/
/etc/passwd:   ASCII text
/bin:          directory
/usr/bin/file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for 
GNU/Linux 2.4.1, dynamically linked (uses shared libs), stripped
/dev/cdrom:    symbolic link to `hdd'
/dev/hdd:      block special (22/64)
/tmp/:         sticky directory
Příkaz file je velmi mocný. S jeho pomocí například velmi snadno zjistíte, jakým kodekem je komprimován film.
file *avi
foo1.avi: RIFF (little-endian) data, AVI, 320 x 240, 23.98 fps, video: 
DivX 3 Fast-Motion, audio: MPEG-1 Layer 3 (stereo, 44100 Hz)
foo2.avi: RIFF (little-endian) data, AVI, 576 x 432, 25.00 fps, video: 
XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
foo3.avi:   RIFF (little-endian) data, AVI, 320 x 240, 25.00 fps, video: 
DivX 4, audio: MPEG-1 Layer 3 (stereo, 44100 Hz)

Speciální soubory

Ne všechny soubory v Linuxu jsou pouze dokumenty, nebo aplikace. Unixové chápání souboru je daleko širší, než jste dosud byli zvyklí. To, s jakým souborem máte čest zjistíte příkazem ls -l (více o tomto příkazu zjistíte z následující kapitole Přístupová práva).
ls -l
total 36
brw-rw----  1 root root 13, 0 Mar 10  2005 block-device
crw-rw----  1 root root 83, 0 Mar 10  2005 character-device
drwxr-xr-x  2 root root  4096 Oct  2 17:39 directory
-rw-r--r--  2 root root 14830 Oct  2 17:39 hardlink
prw-r--r--  1 root root     0 Oct  2 17:39 named-pipe
-rw-r--r--  2 root root 14830 Oct  2 17:39 regular-file
srw-rw-rw-  1 root root     0 Oct  2 15:35 socket
lrwxrwxrwx  1 root root    12 Oct  2 17:38 symlink -> regular-file

Jak vidíte, existuje mnoho druhů souborů:

« Předchozí | Nahoru | Obsah | Další »

Dokument vytvořil: vladka, 29.8.2005 11:52 | Poslední úprava: Nicky726, 27.2.2009 00:00 | Další přispěvatelé: Robert Krátký, Vít Ožana | Historie změn | Zobrazeno: 21778×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.