abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:11 | Nová verze

    Byla vydána nová verze 10.8 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyl balíček DietPi WireGuard.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Pozvánky

    Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »

    lkocman | Komentářů: 0
    včera 16:44 | Bezpečnostní upozornění

    Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.

    Ladislav Hagara | Komentářů: 7
    včera 11:55 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | IT novinky

    Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).

    Ladislav Hagara | Komentářů: 9
    včera 05:11 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 170 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Bezpečnostní upozornění

    Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.

    Ladislav Hagara | Komentářů: 7
    včera 01:37 | Bezpečnostní upozornění

    Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »

    vencour | Komentářů: 10
    20.10. 20:47 | Bezpečnostní upozornění
    Hlášeny RCE v NGINX. Náprava dostupná. … více »
    vencour | Komentářů: 0
    20.10. 20:33 | IT novinky

    Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2889 hlasů
     Komentářů: 33, poslední 20.10. 23:44
    Rozcestník

    GNU/Linuxový zapisníček

    25.1.2005 14:16 | Přečteno: 1836× | © | poslední úprava: 25.1.2005 15:27

    Oč běží

    Rozhodl jsem se, že sem umístím svůj taj(em)ný GNU/Linuxový zápisníček. Postupně budu budu přidávat další věci, podle toho, jak se mi bude zápisníče rozrůstat. Snad to někomu k něčemu bude.

    Pokud byste někdo měl čím přispět k tomuto zápisníčku (něco, co tam není, co byste změnili, další variace na věci v něm již uvedené, zajímavé konstrukce příkazů, nestandartní využití příkazů, zjednodušení příkazů apod.) pište to prosím do komentářů. Budu to průběžně zpracovávat a doplňovat. Do nadpisu vašeho komentáře prosím na začátek napište, které sekce se to týká, ať se v tom vyznám. Časem také celému tomuto záznamu dám poněkud lepší formu než pouze pastnutý text mezi pre tagy a lépe jej uspořádám. Rád bych, aby se z toho stala jakási znalostní baze užitečných a často používaných věcí nad příkazovým řádkem. Mirror baze umístím časem také někde na mých domovských stránkách http://vcp.ligatura.org/, kde budou ke stažení i PS a PDF verze vysázené typografickým systémem TeX.

    Legenda k zápisníčku

    *     označuje popis
    $     označuje SHELL
    /     označení pro dodatkové informace
    
    ------------------     Jelikož jsem se snažil zapísnik nějak utřídit, tak
    : NAZEV SEKCE          takto je označena sekce.
    ------------------     Není to ovšem roztříděno zcela dokonale. Proč také?
    
    ---cut---     označuje, kde "říznout", používám pro krátké scripty
    

    Zápisníček

    ----------------------------------------------------------------------------
    : CVS
    ----------------------------------------------------------------------------
    
    * Zalozeni noveho repozitare
    $ cvs -d/cesta/k/cvsroot init
    
    * Zalozeni noveho modulu 
    $ cvs -d/cesta/k/cvsroot import -m"Initial import."  SOCRATES INITIAL
    
    ----------------------------------------------------------------------------
    : MASTER BOOT RECORD
    ----------------------------------------------------------------------------
    
    * Zalohovani MBR
    $ dd if=/dev/hda of=mbr.backup bs=512 count=1
    
    * Obnoveni CELEHO MBR ze zalohy
    $ dd of=/dev/hda if=mbr.backup bs=512 count=1
    
    * Obnoveni MBR, ale BEZ ZMEN PARTISEN
    $ dd of=/dev/hda if=mbr.backup bs=1 count=446
    
    / 446 byty            = bootloader
    / 4x16 byty (64 bytu) = partition table
    / 2 byty              = boot record signature
    
    ----------------------------------------------------------------------------
    : SSH
    ----------------------------------------------------------------------------
    
    * Vypis otisku
    $ ls /etc/ssh/*.pub | xargs -n 1 ssh-keygen -l -f
    
    * Vyuziti klicu k prihlasovani
    $ ssh-keygen -t dsa
    $ scp ~/.ssh/id_dsa.pub username@server:~/
    $ ssh username@server "cat ~/id_dsa.pub >> ~/.ssh/authorized_keys"
    $ rm ~/id_dsa.pub
    
    * Trik s tarem: poslat na remote host
    $ tar cf - myfiles | ssh remotehost " ( cd /destination/path ; tar xf - ) "
    * ziskat z remotehost
    $ ssh remotehost "( cd /source/path; tar cf - desiredfiles ) " | tar xf -
    
    * Trik s tarem, ale skrz nekolik masin: poslat ("rh" == remotehost)
    $ tar cf - myfiles | ssh rh1 " ssh rh2 \" ( cd /dest/path ; tar xf - ) \" "
    * ziskat
    $ ssh rh1 " ssh rh2 \"( cd /src/path; tar cf - desfiles ) \" " | tar xf -
    
    * SSH forvarding portu na localu
    $ ssh -N -L9090:localhost:80 localhost
    
    ----------------------------------------------------------------------------
    : GS
    ----------------------------------------------------------------------------
    
    * Prevod PS do jineho formatu
    $ gs -sDEVICE=jpeg -g500x500 -r40x40 -dBATCH -dNOPAUSE \
      -sOutputFile=soubor.jpg soubor.ps
    
    * Prevod PS do PDF
    $ gs -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=soubor.pdf soubor.ps
    
    * Prevod ISO-8859-2 do PS
    $ a2ps --column=1 --portrait --no-header --borders=no -P display \
      --encoding=latin2 -o vystup.ps vstup.txt
    
    * Prevod vsech souboru v adresari
    $ for i in *; do \
        a2ps --column=1 --portrait --no-header --borders=no -P display \
        --encoding=latin2 \ -o `basename $i txt`ps $i; \
      done
    
    ----------------------------------------------------------------------------
    : PSTOOLS
    ----------------------------------------------------------------------------
    
    * Otoceni vzhuru nohama
    $ pstops '0U(1w,1h)' in.ps > out.ps
    
    ----------------------------------------------------------------------------
    : FIND
    ----------------------------------------------------------------------------
    
    * Vyuziti 'find' na spusteni akce; do '{}' prijde nazev nalezeneho souboru
    $ find cesta -name regex -exec program parametry {} \;
    
    * Prava na soubory
    $ chmod 664 `find * -type f -print0`
    $ find -type f -print0 | xargs -0 chmod 0664
    
    * Prava na adresare
    $ chmod 775 `find * -type d -print0`
    $ find -type d -print0 | xargs -0 chmod 0775
    
    * Smazani souboru, pokud jich je priliz mnoho
    $ find . | grep 'filtr_souboru' | xargs rm -f
    
    * Zjisteni souhrnne velikosti vsech podadresaru v adresar
    $ find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn
    
    * Velka na mala pismena a na velka
    $ find . | perl -nle 'rename $_, lc'
    $ find . | perl -nle 'rename $_, uc'
    
    ----------------------------------------------------------------------------
    : BASH
    ----------------------------------------------------------------------------
    
    * Odecteni dvou ASCII hodnot
    $ num=$(( 64#Z - 64#Z )) ; echo $num
    $ num=$(( 48#z - 48#a )) ; echo $num
    
    * Cykly, priklady vypisi cisla od 1 do 10
    $ for (( i=1; i <= 10; i++ )); do echo $i; done
    $ for i in `seq 1 10`; do echo $i; done
    $ i=1; stop=11; while [ "$i" != "$stop" ]; do echo "$i"; i=$(($i+1)); done
    
    * Nahrada prikazu 'ls'
    $ for A in *; do printf "$A\n"; done
    
    * Automaticky renice (ve scriptech)
    $ renice +15 -p $$ >/dev/null 2>&1
    
    * Trocha aritmetiky
    $ echo $(echo scale=2\; 100/5 | bc)
    
    * Ruzna nastaveni podle terminalu
    
    ---cut---
    i=`tty`
    case "$i" in
      "/dev/tty1") setterm parametry -store;;
      "/dev/tty2") setterm parametry -store;;
      "/dev/tty3") setterm parametry -store;;
    esac
    ---cut---
    
    * Zjisteni hodnoty packet loss pomoci pingu a echa pouze
    $ pl=$(ping -q -c 3 localhost) ; pl=${pl#*,*, } ; echo ${pl%%%*}
    
    * Funkce, ktera zjisti, zda je retezec IP adresou ci nikoliv
    
    ---cut---
    isip() {
      case "$*" in
        ""|*[!0-9.]*|*[!0-9]) return 1 ;;
      esac
      local IFS=.
      set -- $*
      [ $# -eq 4 ] &&
      [ ${1:-666} -le 255 ] &&
      [ ${2:-666} -le 255 ] &&
      [ ${3:-666} -le 255 ] &&
      [ ${4:-666} -le 254 ]
    }
    ---cut---
    
    * Zjisteni basename souboru (odstraneni cele cesty)
    $ basename () { local path="${1##*/}" ; echo ${path%${2}}; }
    
    * Funkce: soubor se spusti, pokud ma spustitelny atribut
    $ eix () { [ -x $1 ] && "$@" & }
    
    * Nahrada za `echo "ahoj" | sed 's/a/A/'` (vypise "Ahoj")
    $ S="ahoj";S="${S//a/A}";echo $S
    
    ----------------------------------------------------------------------------
    : PERL
    ----------------------------------------------------------------------------
    
    * Instalace novych modulu (napr. Date::Parse)
    $ su root -c 'perl -MCPAN -e shell'
    cpan> install Date::Parse
    cpan> exit
    
    ----------------------------------------------------------------------------
    : IPTABLES
    ----------------------------------------------------------------------------
    
    * Totalni vycisteni pravidel
    
    ---cut---
    #!/bin/sh
    /sbin/iptables -F
    /sbin/iptables -X
    /sbin/iptables -t nat -F
    
    cat /proc/ip_tables_names | while read $table
    do
      /sbin/iptables -t $table -F
      /sbin/iptables -t $table -X
    done
    ---cut---
    
    ----------------------------------------------------------------------------
    : TAR
    ----------------------------------------------------------------------------
    
    * Rozbaleni .bz2 archivu
    $ tar -xjf archiv.tar.bz2
    
    * Zabaleni adresare do .tar.gz
    $ tar czvf adresar.tar.gz adresar
    
    * Rozbaleni adresare.tar.gz
    $ tar xzvf adresar.tar.gz
    
    * Uklizeni po rozbaleni spatneho balicku
    $ rm `tar ftz jmeno_balicku.tar.gz`
    
    ----------------------------------------------------------------------------
    : DIFF
    ----------------------------------------------------------------------------
    
    * Ruzna pouzifi prikazu "diff"
    $ diff -u puvodni_soubor novy_soubor > patch
    $ diff -ru puvodni_strom/ novy_strom/ > patch
    $ diff -ruN puvodni_strom/ novy_strom_s_novymi_soubory/ > patch
    
    ----------------------------------------------------------------------------
    : RUZNE
    ----------------------------------------------------------------------------
    
    * "Executable" bit jen pro adresare, vse pro cteni pro vsechny
    $ chmod -R a+rX
    
    * Alternativa k "tail -f soubor"
    $ less +F soubor
    
    * Zapnuti numlocku ($tty je tty1-N)
    $ setleds -D +num < $tty &
    
    * Hodnota CPU load
    $ echo "CPU Load is `ps -eao \"pcpu\" | awk '{a+=$1} END {print a}'`."
    
    * Hodnota MEM load
    $ echo "MEM Load is `ps -eao \"pmem\" | awk '{a+=$1} END {print a}'`."
    
    * Vypsani vsech uzivatelu s UID>500&&<1010
    $ awk -F: '{if($3>500&&$3<1010)print$1}' /etc/passwd
    
    * Vypsani jednoduche napovedy k prikazum v adresari /bin
    $ ls -1 /bin | xargs -l1 whatis 2>/dev/null | grep -v "nothing appropriate"
    
    * Generator nahodneho retezce z predem daneho rozsahu znaku (hexa, hesla apod.)
    $ tr -dc '1234567890abcedf' < /dev/urandom | head -c 9
    
    * Odmazani vseho za poslednim znakem "/" vcetne (takze zbude a/b)
    $ echo "a/b/c" | sed -e "s/\(.*\)\/[^\/]*/\1/"
    
    * Odmazani vseho za poslednim znakem "/" (takze zbude a/b/)
    $ echo "a/b/c" | sed -e "s/\(.*\/\)[^\/]*/\1/"
    
    * Odmazani vseho pred poslednim znakem "/" vcetne (takze zbude jen c)
    $ echo "a/b/c" | sed -e "s/.*\/\([^\/]*\)/\1/"
    
    * Domazani prazdnych znaku ze zacatku radku
    $ cat soubor | sed -e "s/^[\ \t]*//"
    
    ----------------------------------------------------------------------------
    : POZOR - NEBEZPECI!
    ----------------------------------------------------------------------------
    
    * Fork bombs jsou sakra nebezpecne! (chrante se pomoci `ulimit -u 100')
    
    $ :(){ :|:& };:
    $ $0 & $0 &
    
    ---cut---
    #!/bin/sh
    $0 &
    exec $0
    ---cut---
    
    ---cut---
    #!/bin/bash
    while true
    do
      $0 &
    done
    exit 0
    ---cut---
    
    * Take je treba dat pozor, aby se zadny adresar nejmenovat "-r|-R" apod.,
    * protoze by to nemuselo dopadnout dobre!
    
    * Prikaz 'rm -rf' nikdy nepouzivame pod rootem!!!
    

    Závěrem

    No a to je asi tak prozatím vše... Užijte to ve zdraví. A hlavně nezapomeňte, že to psal člověk a nadto já, takže tam můžou - ne to není rozhodně přesně formulováno - takže tam s největší pravděpodobností jsou chyby!        

    Hodnocení: -

    zatím nehodnoceno
            špatné • dobré        

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

    Komentáře

    Vložit další komentář

    25.1.2005 16:10 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše doplneni - dalsi uzitecne volby pro ghostscript
    Pokud zpracovavate ps nebo pdf soubory pomoci ghostcriptu, nepriklad je prevadite do bitmapove podoby, ma nekdy vystup neprirozene kriklave barvy. Tehdy pomuze rici ghostsriptu, ze vstup je v barevnem prostoru CMYK, pridejte tuto volbu
    -dProcessColorModel=/DeviceCMYK
    
    Pokud pouzivate ghostscript ke generovani ps nebo pdf souboru, mohou vas zajimat take nasledujici volby
    -dEmbedAllFonts=true
    -dCompressPages=true
    -dUseFlateCompression=true
    
    Uvedene volby funguji prinejmensim v ghostscriptu verze gs7.04 nebo vyssich.
    -- OldFrog
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.