Vyhledávání na webu

Řada RHCSA: Jak provádět správu souborů a adresářů – část 2


V tomto článku RHCSA Část 2: Správa souborů a adresářů si probereme některé základní dovednosti, které jsou vyžadovány při každodenních úkolech správce systému.

Vytvářejte, mažte, kopírujte a přesouvejte soubory a adresáře

Správa souborů a adresářů je klíčovou schopností, kterou by měl mít každý správce systému. To zahrnuje schopnost vytvářet/mazat textové soubory od začátku (jádro konfigurace každého programu) a adresáře (kde budete organizovat soubory a další adresáře) a zjistit typ existujících souborů.

Dotykový příkaz lze použít nejen k vytvoření prázdných souborů, ale také k aktualizaci času přístupu a úprav existujících souborů.

K určení typu souboru můžete použít file [název_souboru] (toto se bude hodit před spuštěním preferovaného textového editoru k jeho úpravám).

a rm [název souboru] jej smažte.

Pokud jde o adresáře, můžete vytvořit adresáře uvnitř existujících cest pomocí mkdir [adresář] nebo vytvořit úplnou cestu pomocí mkdir -p [/plná/cesta/k/adresáři].

Pokud jde o odstranění adresářů, musíte se před zadáním příkazu rmdir [adresář] ujistit, že jsou prázdné, nebo použít výkonnější (zacházejte opatrně!) rm -rf [adresář]. Tato poslední možnost vynutí rekurzivní odstranění [adresář] a veškerý jeho obsah – používejte ji tedy na vlastní riziko.

Přesměrování vstupu a výstupu a zřetězení

Prostředí příkazového řádku poskytuje dvě velmi užitečné funkce, které umožňují přesměrovat vstup a výstup příkazů ze souborů a do souborů a odeslat výstup příkazu jinému, tzv. přesměrování a potrubí, resp.

Abychom porozuměli těmto dvěma důležitým pojmům, musíme nejprve porozumět třem nejdůležitějším typům I/O (vstupních a výstupních) proudů (nebo sekvencí) znaků, což jsou ve skutečnosti speciální soubory, ve smyslu slova *nix.

  1. Standardní vstup (neboli standardní vstup) je standardně připojen ke klávesnici. Jinými slovy, klávesnice je standardní vstupní zařízení pro zadávání příkazů do příkazového řádku.
  2. Standardní výstup (neboli stdout) je standardně připojen k obrazovce, což je zařízení, které „přijímá“ výstup příkazů a zobrazuje je na obrazovce.
  3. Standardní chyba (neboli stderr) je místo, kam se ve výchozím nastavení odesílají stavové zprávy příkazu, což je také obrazovka.

V následujícím příkladu je výstup ls /var odeslán na stdout (obrazovka), stejně jako výsledek ls /tecmint . Ale ve druhém případě je zobrazen stderr.

Pro snazší identifikaci těchto speciálních souborů je jim každý přiřazen deskriptor souboru, abstraktní reprezentace, která se používá pro přístup k nim. Důležité je pochopit, že tyto soubory, stejně jako ostatní, mohou být přesměrovány. To znamená, že můžete zachytit výstup ze souboru nebo skriptu a odeslat jej jako vstup do jiného souboru, příkazu nebo skriptu. To vám umožní uložit na disk například výstup příkazů pro pozdější zpracování nebo analýzu.

Pro přesměrování stdin (fd 0), stdout (fd 1) nebo stderr (fd 2) jsou k dispozici následující operátory.

Redirection Operator

Efekt

>

Přesměruje standardní výstup do souboru obsahujícího standardní výstup. Pokud cílový soubor existuje, bude přepsán.

>>

Připojí standardní výstup k souboru.

2>

Přesměruje standardní chybu do souboru obsahujícího standardní výstup. Pokud cílový soubor existuje, bude přepsán.

2>>

Připojí standardní chybu k existujícímu souboru.

&>

Přesměruje standardní výstup i standardní chybu do souboru; pokud zadaný soubor existuje, bude přepsán.

<

Použije zadaný soubor jako standardní vstup.

<>

Zadaný soubor se používá pro standardní vstup i standardní výstup.

Na rozdíl od přesměrování se zřetězení provádí přidáním svislé čáry (|) za příkaz a před další.

Pamatovat si:

  1. Přesměrování se používá k odeslání výstupu příkazu do souboru nebo k odeslání souboru jako vstupu do příkazu.
  2. Zřetězení se používá k odeslání výstupu příkazu jinému příkazu jako vstupu.

Příklady přesměrování a zřetězení

Příklad 1: Přesměrování výstupu příkazu do souboru

Někdy se stane, že budete muset iterovat seznam souborů. Chcete-li to provést, můžete nejprve uložit tento seznam do souboru a poté tento soubor číst řádek po řádku. I když je pravda, že výstup ls můžete iterovat přímo, tento příklad slouží k ilustraci přesměrování.

ls -1 /var/mail > mail.txt

Příklad 2: Přesměrování stdout i stderr do /dev/null

V případě, že chceme zabránit zobrazení stdout i stderr na obrazovce, můžeme přesměrovat oba deskriptory souborů na /dev/null. Všimněte si, jak se výstup změní, když je pro stejný příkaz implementováno přesměrování.

ls /var /tecmint
ls /var/ /tecmint &> /dev/null

Příklad 3: Použití souboru jako vstupu pro příkaz

Zatímco klasická syntaxe příkazu cat je následující.

cat [file(s)]

Můžete také odeslat soubor jako vstup pomocí správného operátoru přesměrování.

cat < mail.txt

Příklad 4: Odeslání výstupu příkazu jako vstupu jinému

Pokud máte velký výpis adresáře nebo procesu a chcete mít možnost vyhledat určitý soubor nebo proces na první pohled, budete chtít výpis zpracovat na grep.

Všimněte si, že v následujícím příkladu používáme pro potrubí. První hledá požadované klíčové slovo, zatímco druhý z výsledků odstraní aktuální příkaz grep. Tento příklad uvádí všechny procesy spojené s uživatelem apache.

ps -ef | grep apache | grep -v grep