5. Soubory

Výpis obsahu adresáře (list)

Výpis obsahu adresáře home

ls /home

Změna adresáře (change directory)

Přechod do adresáře /usr/share/doc

cd /usr/share/doc

Přechod o adresář výše

cd ..

Přechod do kořenového adresáře

cd /

Editace textových souborů

  • nano (^ je klávesa Ctrl)
  • vi
    • tři módy činnosti
      1. příkazový – znaky jsou interpretovány jako příkazy
      2. vkládací – úprava obsahu
        • aktivace příkazy
          • i (insert) následný text se vkládá před kurzor
          • a (append) následný text se vkládá za kurzor
          • I (Insert) následný text se vkládá před první znak řádky
          • A (Append) následný text se vkládá za poslední znak řádky
          • R (Replace) následný text přepisuje od pozice kurzoru
          • r (replace) přepíše jeden znak
          • s (substitute) přepíše jeden znak a přepne se do vkládacího módu
          • u (undo) zruší poslední změnu
          • atd.
        • ukončení klávesou Esc
      3. rozšířený příkazový (ex mód)
        • aktivace příkazem : (dvojtečka)
        • dvojtečka se vypíše na posledním řádku, pak se vloží rozšířený příkaz zakončený klávesou Enter, což způsobí návrat do příkazového módu:
          • :q (ukončit editor bez uložení změn)
          • :wq (uložit soubor a ukončit editor)
          • :w test.txt (uložit soubor pod jiným názvem)
  • vim

Vypsání textu na obrazovku

echo "Toto je standardní výstup tj. obrazovka počítače"

Zřetězení vstupu a předání na výstup

Zobrazení obsahu souboru s očíslovanými řádky:

cat -n nazvev-souboru

Přesměrování výstupu

Napsané znaky se ukládají do souboru s názvem novy-soubor dokud nestisknete Ctrl+D:

cat > novy-soubor

Sloučení dvou video souborů do jednoho:

cat VTS_01_1.VOB VTS_01_2.VOB > ALL.VOB

Přesměrování vstupu

Setřídění řádků souboru s názvem novy-soubor podle abecedy:

sort < novy-soubor

Propojení příkazů

Znak | (pipe, roura, trubka) umožňuje propojit příkazy. Výstup příkazu 1 se zpracuje v příkazu 2. Užitečnost roury vzrůstá ve spojení s filtry. Filtry (sort, grep, head, tail atd.) jsou programy, které čtou vstup, nějakým způsobem jej modifikují a odešlou jej na výstup.

Setřídění řádků souboru s názvem nazev-souboru dle abecedy:

cat nazev-souboru | sort

Vytvoření adresáře

Příklad:

mkdir /cesta/nazev-adresare

Odstranění adresáře

Příklad:

rmdir /cesta/nazev-adresare

Komprimace

Příklad:

tar cvfz nazev-vytvareneho-archivu.tgz\
 /cesta/k/adresari/nebo/souboru

Dekomprimace

Příklad:

tar xvfz nazev-archivu.tgz

Detox

Rekurzivní odstranění nebezpečních znaků (diakritika, mezery atd.) z názvů souborů a adresářů:

  • detox -s utf_8 -r -v -n /cesta/k/adresari/nebo/souboru
  • příkaz se provede pouze bez parametru -n

Porovnávání souborů

Ze dvou rozdílných textových souborů je možné vytvořit opravu (patch) příkazem:

diff -up original.txt original-upraveny.txt > patch.txt

Opravu (patch) je možné aplikovat na originální soubor příkazem:

patch -b original.txt patch.txt

Parametr -b vytvoří zálohu (backup).

 

ssh

Vzdálený přístup na server 10.40.12.195 pod uživatelem user:

ssh -l user 10.40.12.195

scp (secure copy)

Zkopírování souboru test.txt z aktuálního adresáře na lokálním disku na vzdálený počítač s IP adresou 10.40.12.195 pod uživatelským účtem user do adresáře /home/user:

scp test.txt user@10.40.12.195:/home/user

Zkopírování adresáře test včetně všech podadresářů na server 10.40.12.195 do adresáře /home/user:

scp -r pokus user@192.168.1.200:/home/user

rsync

Nástroj na synchronizaci dat mezi hlavním zdrojem a zrcadlem. Přenáší pouze nové soubory a u existujících pouze jejich změněné části.

Syntaxe:

rsync {předvolby} {zdroj nebo více zdrojů} {cíl}

Přenesení všech souborů s příponou .jpg z aktuálního adresáře do adresáře /hom/user/photo:

rsync *.jpg /home/user/photo

Pro synchronizaci adresáře včetně podadresářů se používá parametr -r. Parametr -v zobrazuje soubory, které kopíruje a parametre --progress navíc zobrazuje i průběh (rychlost a čas).

Pokud za jméno adresáře napíšete lomítko je přenesen jeho obsah, nikoliv adresář samotný.

Přenesení adresáře new-photo a celého jeho obsahu do adresáře photo:

rsync -rv --progress /home/user/new-photo /home/user/photo

Parametr -a nahrazuje parametry -rlptgoD (ale ne -HAX).

Přenesení Debianího FTP archivu na lokální počítač (je použit vlastní rsync protokol, který musí být na straně serveru zprovozněn a nakonfigurován):

rsync -a rsync://ftp.debian.org/debian /mirror/ftp.debian.org

Přenesení adresáře archive v domovském adresáři uživatele user na serveru test.com do adresáře www (přenos je realizován pomocí ssh, k použití ssh můžete rsync přimět parametrem -e ssh, na serveru musí běžet sshd a musí být nainstalován rsync):

rsync -a user@test.com:archive www

Při kopírování velkých souborů např. ISO obrazů je vhodné použít paramtr --partial, který způsobí, že při předčasném přerušení není částečně stažený soubor smazán a stahování lze navázat.

rsync -v --progress --partial rsync://cdimage.debian.org/debian-cd/current/i386/iso-dvd/debian-504-i386-DVD-1.iso /home/user/iso

Přenesení všechny PDF dokumentů z domovského adresáře serveru do aktuálního lokálního adresáře:

rsync user@test.com:*.pdf .

Synchronizace adresáře www v domovském adresáři na vzdáleném serveru s lokálním adresářem archive:

rsync -a --delete remote.machine.com:www archive

Pro synchronizaci dat se používá parametr --delete, který způsobí smazání souborů a adresářů v cílovém adresáři, které neexistují v adresáři www na serveru (tímto způsobem je možné synchronizovat např. data mezi notebookem a pracovní stanicí).

Aby při každém připojení nebylo nutné zadávat heslo je vhodné používat ssh klíče a případně ssh agenta.

Další príklady:

  • rsync -avt /zdroj /cil
    rsync -av --delete /home/user /cil
    rsync -av --delete-before /home/user /cil
    rsync -av --exclude "*.php" /home/user /cil
    rsync -av --progress --exclude "*.php" /home/user /cil
    rsync -av -e "ssh" --compress /home/user user@server:/cil 

unison

Grafická nadstavba rsync.