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 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    včera 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 15
    19.5. 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    19.5. 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    19.5. 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    19.5. 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (23%)
     (9%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 47 hlasů
     Komentářů: 5, poslední včera 20:57
    Rozcestník

    GNU/Linuxový zapisníček

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