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í
×
    včera 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 2
    včera 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 10
    včera 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

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

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    7.10. 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 3
    7.10. 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    7.10. 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 198 hlasů
     Komentářů: 13, poslední včera 07:41
    Rozcestník

    GNU/Linuxový zapisníček

    25.1.2005 14:16 | Přečteno: 1611× | © | 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.