Unixový tahák - Linux, Solaris atd.

Jednoduché příkazy a skritpty v unuxu

Lukáš Cirkva


Obsah

Úvod
1. Příklady příkazů
1.1. Univerzální vyhledání řetězce v souborech v aktuálním adresáři a podadresářích
1.2. Převod textu na určitou znakovou řadu
1.3. Zálohování celé diskové oblasti přes ssh
1.4. Vyhledání a smazání všech core souborů
1.5. Forwardování portů pomocí ssh
1.6. CVS - Concurrent Versions System
1.7. Midnight Commander - pamatování aktuálního adresáře
1.8. Vypalování
1.9. Přepnutí klávesové mapy
1.10. Screenshot
1.11. Šifrování pomocí stunnel
1.12. Spojování .doc a ps souborů
1.13. Tar a gzip v jednom příkazu :-)
1.14. Syncování adresářů přes rsync a ssh
1.15. Zjištění souhrné velikosti všech podadresářů
1.16. Oprava textu v angličtině
1.17. SSH display forwarding
1.18. Executable" bit jen pro adresáře, vše pro čtení pro všechny
2. Zdroje použité literatury

Úvod

Postupně sem dopisuji užitečné příklady příkazů a skriptů převážně pro bash v Linuxu.

Kapitola 1. Příklady příkazů

1.1. Univerzální vyhledání řetězce v souborech v aktuálním adresáři a podadresářích

Toto vyhledávání funguje všude, kde je find a grep, tedy i v Solarisu. :-)

find . -exec grep -li string {} \;

1.2. Převod textu na určitou znakovou řadu

recode  ISO-8859-2..windows-1250 in_file.txt > out_file.txt

nebo pomocí příkazů iconv, convert, cstocs.

1.3. Zálohování celé diskové oblasti přes ssh

Záloha diskové oblasti hda2, komprimace gzipem a uložení přes ssh na server.cz:

dd if=/dev/hda2 | gzip -f | ssh -C server.example.cz dd of=/home/noteboo2.raw.gz

obnovení ze zálohy:

gunzip -c noteboo2.raw.gz | ssh notebook.example.cz dd of=/dev/hda2

záloha aktuálního adresáře tar-em:

tar cvfx - . l ssh -C server.example.cz  dd of=/tmp/tar.tgz

1.4. Vyhledání a smazání všech core souborů

Vyhledání a smazání přebytečných coredump:

find /home -type f -name core -ok rm {} ;\

1.5. Forwardování portů pomocí ssh

Zpřístupnění vzdáleného portu 443 na lokální počítač port 4443 příkazem:

 ssh -L 4443:localhost:443 nekde.daleko.example.cz

1.6. CVS - Concurrent Versions System

V systému CVS jsou uloženy všechny verze zdrojového kódu a v případě potřeby se lze ke kterékoliv starší verzi vrátit.

Založení projektu:

cvs import -m "Initial import." "nazev-projektu" uzivatel INITIAL

získání dat z CVS:

cvs co "nazev-projektu"

potvrzení změn projektu (v adresáři projektu):

cvs ci -m "popis zmen"

přidání nového souboru:

cvs add soubor

1.7. Midnight Commander - pamatování aktuálního adresáře

Skriptíček do .bashrc, který poskytuje po ukončení mc přechod na aktivní adresář.

 mc ()
     {
     MC=/tmp/mc$$-"$RANDOM"
     /usr/bin/mc -P "$@" > "$MC"
     cd "`cat $MC`"
     rm "$MC"
     unset MC;
     }

1.8. Vypalování

Nejříve je třeba vyvořit ISO: mkisofs -o /tmp/tex.iso tex.zip, následuje zjištění zarízení vypalovačky: cdrecord -scanbus

 Cdrecord-Clone 2.01a34 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling

 Linux sg driver version: 3.5.31
 Using libscg version 'schily-0.8'.
 scsibus2:
 2,0,0   200) 'PLEXTOR ' 'CD-R   PX-W2410A' '1.03' Removable CD-ROM
 2,1,0   201) *
 2,2,0   202) *
 2,3,0   203) *
 2,4,0   204) *
 2,5,0   205) *
 2,6,0   206) *
 2,7,0   207) *

a samotné vypalování:

cdrecord dev=2,0,0 driveropts=burnfree -v x09-22207.iso

U mého notebooku IBM:

cdrecord dev=ATAPI:0,0,0 -eject speed=16 driveropts=burnfree /tmp/sol-9-u7-x86-v2.iso

1.9. Přepnutí klávesové mapy

Přepínat české - americké mapy na mém notebooku:

setxkbmap czsk us_cz_qwerty -model pc105 -compat group_led

1.10. Screenshot

Programový balík imagemagic (pokud si to dobře pamatuji)

import -window root

1.11. Šifrování pomocí stunnel

Obalení http portu na https:

stunnel -d https -r remote.server.cz:http

1.12. Spojování .doc a ps souborů

Postup je následující:

  • Převod doc na ps v Openoffice tiskem do souboru

  • Spojit oba ps soubory například pomocí cat soubor1 >> soubor2

  • Vytvořit pdf z ps ps2pdf soubor2.ps

1.13. Tar a gzip v jednom příkazu :-)

tar -cf - etc | gzip -c > /etc.tar.gz

1.14. Syncování adresářů přes rsync a ssh

rsync -e ssh -l -a -v --progress --delete --ipv4 --stats . uzivatel@server:/cilovy/adresar

1.15. Zjištění souhrné velikosti všech podadresářů

Příkaz zjistí velikost podaresářů v aktuálním adresáři:

find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn

1.16. Oprava textu v angličtině

Kontrola textu pomocí aspell:

aspell -l en -c soubor

1.17. SSH display forwarding

Jak forwardova X-ka přes ssh:

  1. sshd daemon musí poskytovat X forwarding (povoleno v /etc/ssh/sshd_config)

  2. před připojením nastavit správně display: export DISPLAY=localhost

  3. nastavení9 forwarování9 v ssh/config

    [kuky@book kuky]$ cat .ssh/config
    Compression yes
    CompressionLevel 9
    ForwardX11 yes
    ForwardX11Trusted yes
  4. a připojení ssh -X -Y server.example.cz

1.18. Executable" bit jen pro adresáře, vše pro čtení pro všechny

Zejména vhodné webových stránek: :-)

chmod -R a+rX

Kapitola 2. Zdroje použité literatury

Seznam odkazů použité literatury:

TOPlist