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 00:55 | Nová verze

Byla vydána verze 2.12.0 QEMU (Wikipedie). Přispělo 204 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn. Řešeny jsou také bezpečnostní chyby Meltdown a Spectre.

Ladislav Hagara | Komentářů: 0
dnes 00:33 | Komunita

Google zveřejnil seznam 1 264 studentů přijatých do letošního Google Summer of Code. Přehled projektů, studentů, 212 organizací a mentorů je k dispozici na stránkách GSoC.

Ladislav Hagara | Komentářů: 0
včera 23:55 | Nová verze

Oracle vydal verzi 1.0 univerzálního virtuálního stroje GraalVM, který umožňuje běh programů napsaných v jazycích založených na JVM, JavaScript, LLVM bitcode a experimentálně Ruby, R a Python.

razor | Komentářů: 0
včera 01:22 | Zajímavý článek

Julia Evans pomocí svých kreslených obrázků proniká do Linuxu a informačních technologií. Vedle ucelených zinů publikuje také jednotlivé kreslené obrázky (RSS).

Ladislav Hagara | Komentářů: 5
23.4. 13:22 | Zajímavý software

Jordi Sanfeliu vydal verzi 1.0.0 svého unixového jádra Fiwix (Wikipedie) určeného také pro výuku operačních systémů. Dle článku na OSNews na něm začal pracovat již před více než dvaceti lety. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Stáhnout a vyzkoušet lze živou disketu nebo CD s GNU/Fiwixem.

Ladislav Hagara | Komentářů: 4
23.4. 06:00 | Nová verze

Byla vydána nová verze 10.7 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu. Vývojáři GitLabu zdůrazňují Web IDE (YouTube) a SAST (Static Application Security Testing) pro Go a C/C++.

Ladislav Hagara | Komentářů: 4
22.4. 14:00 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, zveřejnil na svém blogu recenzi notebooku Librem 13 od společnosti Purism. Používá jej již sedm měsíců a s ním i jako umělec spokojen. Potřebu francouzské AZERTY klávesnice vyřešil přelepkami. Na displej se podíval kalibrační sondou, barvy vyladil pomocí open source softwaru DisplayCAL, v aplikaci Inkscape nastavil zvětšování na 170 % aby 1 cm v Inkscapu byl 1 cm v reálu. Webovou kameru, mikrofon, Wi-Fi a Bluetooth lze na Librem 13 hardwarově vypnout.

Ladislav Hagara | Komentářů: 7
21.4. 23:44 | Komunita

Několik posledních verzí GNOME Shellu obsahuje chybu způsobující memory leak (únik paměti). Viz například videozáznamy verzí 3.26 nebo 3.28. Nalezení chyby #64 a její opravě se věnuje Georges Basile Stavracas Neto v příspěvku na svém blogu [reddit].

Ladislav Hagara | Komentářů: 2
21.4. 10:33 | Komunita

V pondělí měl na YouTube online premiéru otevřený krátký 2D film Hero vytvořený v 3D softwaru Blender. Cílem stejnojmenného projektu Hero je vylepšit nástroj Grease Pencil (tužka) v Blenderu 2.8.

Ladislav Hagara | Komentářů: 4
20.4. 23:22 | Nová verze

Byla vydána verze 4.0 kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Přehled novinek v Changelogu (GitHub).

Ladislav Hagara | Komentářů: 0
Používáte na serverech port knocking?
 (2%)
 (7%)
 (46%)
 (27%)
 (18%)
Celkem 369 hlasů
 Komentářů: 29, poslední 5.4. 12:25
    Rozcestník

    Dotaz: BASH nastaveni vystupu

    9.12.2008 23:04 Pheek | skóre: 24 | blog: io
    BASH nastaveni vystupu
    Přečteno: 458×
    Dobry den, potreboval bych poradit s vystupem, mam soubor zhruba o tomhle zneni
    Dec  9 22:56:21 debian kernel: [26358.810940] pdflush(26216): WRITE block 61624 on sda1
    Dec  9 22:56:21 debian kernel: [26358.810946] pdflush(26216): WRITE block 61632 on sda1
    Dec  9 22:56:21 debian kernel: [26358.810953] pdflush(26216): WRITE block 61640 on sda1
    Dec  9 22:56:21 debian kernel: [26358.810959] pdflush(26216): WRITE block 61648 on sda1
    Dec  9 22:56:21 debian kernel: [26358.810966] pdflush(26216): WRITE block 61656 on sda1
    Dec  9 22:56:21 debian kernel: [26358.810972] pdflush(26216): WRITE block 61664 on sda1
    Dec  9 22:56:21 debian kernel: [26358.810978] pdflush(26216): WRITE block 61672 on sda1
    Dec  9 22:56:21 debian kernel: [26358.812821] pdflush(26216): WRITE block 61680 on sda1
    Dec  9 22:56:21 debian kernel: [26358.812889] pdflush(26216): WRITE block 31213928 on sda3
    Dec  9 22:56:21 debian kernel: [26358.812998] pdflush(26216): WRITE block 33688 on sda3
    Dec  9 22:56:21 debian kernel: [26358.812998] pdflush(26216): WRITE block 33696 on sda3
    Dec  9 22:56:21 debian kernel: [26358.812998] pdflush(26216): WRITE block 33704 on sda3
    Dec  9 22:56:21 debian kernel: [26358.813141] pdflush(26216): WRITE block 33712 on sda3
    Dec  9 22:56:21 debian kernel: [26358.814199] rsyslogd(7620): dirtied inode 63861 (kern.log) on sda1
    Dec  9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29746912 on sda1
    Dec  9 22:56:21 debian kernel: [26358.814199] rsyslogd(7620): dirtied inode 14949 (syslog) on sda1
    Dec  9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29747048 on sda1
    Dec  9 22:56:21 debian kernel: [26358.814199] rsyslogd(7620): dirtied inode 63867 (debug) on sda1
    Dec  9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29747176 on sda1
    Dec  9 22:56:21 debian kernel: [26358.816793] pdflush(26216): WRITE block 29747184 on sda1
    
    vypisuji si ho pomoci
    tail -n $lines /var/log/syslog > /tmp/io
    potreboval bych ho asi uz v tom souboru io zmensit o ty polozky ktere maji stejny command takze pdflush rsyslogd atd.. takze by se mi z 10 zobrazil jen dva prislusneho commandu. Dale snim pak pracuji:
    tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s ""  | cut -d\  -f8,9,10,11,12,13,14
    Pomuze mi nekdo prosim? Dekuji vsem.

    Odpovědi

    Fuky avatar 9.12.2008 23:33 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu

    Jestli jsem Tě správně pochopil, tak chceš pracovat pouze s posledním rsyslogd a posledním pdflush. V tom případě, bych si rovnou přesměroval výsledek do dvou souborů:

    $ cat vstup.log |grep pdflush |tail -n1 > pdflush.log
    $ cat vstup.log |grep rsyslogd |tail -n1 > rsyslogd.log

    10.12.2008 07:23 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    ne to ne, jde mi o to abych si vypsal vsechno co dela READ a WRITE ale nektere veci zapisuji na disk vicekrat za sekundu tak je tam vice pdflush atd... ja to jednou za ekundu vemu a vypisu na vystup, ale chtel bych aby se mi vypsal jen jednou pdflush a ne treba 5krat pod sebe. Nevim co vtom souboru bude tudiz nemuzu se uplnout jen na konkretni vec, chci ten soubor protrisit tak aby kdyz tam bude vice pdflushu tak aby na vystupu byl jen jeden.
    Fuky avatar 10.12.2008 08:37 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu

    Buď více jednoznačný, uveď konkrétní příklad a krok za krokem co chceš. Takhle to vypadá, že pdflush pro Tebe není definice celého řádku, ale pouze text, který chceš z některých řádků odstranit.

    10.12.2008 08:58 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    Dobre budu se snazit, takze ten vastuo ktery ukladam do souboru /tmp/io pomoci
    tail -n $lines /var/log/syslog > /tmp/io
    je jasny je to vycuc z syslogu s poctem radku ktere si pri vstupu definuji, ten soubor potom vypad nejak takhle
    Dec 10 08:43:32 debian kernel: [32937.533261] pdflush(26216): WRITE block 26104 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533269] pdflush(26216): WRITE block 26112 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533276] pdflush(26216): WRITE block 26120 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533283] pdflush(26216): WRITE block 26128 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533290] pdflush(26216): WRITE block 26136 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533298] pdflush(26216): WRITE block 26144 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 26152 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 57420320 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 57420392 on sda3
    Dec 10 08:43:32 debian kernel: [32937.533673] pdflush(26216): WRITE block 57426512 on sda3
    Dec 10 08:43:33 debian kernel: [32937.918755] xmms(14944): READ block 173927 (Dj Bobo - Pray.mp3) on sda3                                                                                          
    Dec 10 08:43:33 debian kernel: [32938.326550] tail(15416): READ block 4313 (io) on sda1         
    Dec 10 08:43:33 debian kernel: [32938.326550] tail(15416): READ block 4313 (io) on sda1         
    Dec 10 08:43:34 debian kernel: [32939.350739] tail(15429): READ block 4313 (io) on sda1         
    Dec 10 08:43:34 debian kernel: [32939.350739] tail(15429): WRITE block 4313 (io) on sda1         
    Dec 10 08:43:36 debian kernel: [32941.120067] tail(15442): WRITE block 4313 (io) on sda1         
    Dec 10 08:43:36 debian kernel: [32941.120310] tail(15442): WRITE block (io) on sda1 
    a to si nasledne vypisuji na vystup pomoci
    tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s ""  | cut -d\  -f7,8,9,10,11,12,13,14
    takze z toho odstranim datum atd.. a ponecham si jen tenhle vystup a ten jde na obrazovku jednou za sekundu. Jak je ze souboru vidno tak v te jedne sekunde stejny program zapise na disk a to je v logu videt trebaako pdflush xmms a tail, ja bych chtel udelat selekci techto procesu tak aby sel na vystup jen vzdy jeden z danych vzroku, je jedno kterej , treba hned prvni a nebo posledni, takze by na vystupu uz nebylo
    xmms(15960): READ block 103229064 on sda3
    xmms(15960): READ block 103229248 on sda3
    xmms(15960): READ block 103229520 on sda3
    pdflush(26216): WRITE block 41520 on sda3
    pdflush(26216): WRITE block 41528 on sda3
    pdflush(26216): WRITE block 41536 on sda3
    
    ale jen
    xmms(15960): READ block 103229064 on sda3
    pdflush(26216): WRITE block 41536 on sda3
    
    Fuky avatar 10.12.2008 09:15 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu

    V tom případě si definuj, jakou minimální velikost může mít řetězec "program(PID):" a použij |uniq -w8, kde číslo osm, znamená počet znaků, které se porovnávájí.

    10.12.2008 09:30 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    ano to je ono, dekuji moc, jeste mam prosbu, takhle vypada muj sript
    #!/bin/sh
    if test $1 = || test $2 =
    then
    echo "IO je utilita na sledovani cteni a zapisu na disk."
    echo -e "pouzij:  io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m"
    echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m"
    echo "ukoncis ctrl+c"
    echo -e "\033[1mver. 0.2\033[0m"
    exit;
    fi
    
    until test 1 = 2
    do clear;
    lines=$1;
    interval=$2;
    echo 1 > /proc/sys/vm/block_dump
    tail -n $lines /var/log/syslog > /tmp/io # | uniq -w10 #| sort | uniq
    echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.2"
    echo -e "\033[1mCOMMAND(PID)\033[0m   \033[1mI/O\033[0m"
    echo "------------------------------------------------"
    export GREP_COLOR="1;32"
    tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s ""  | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    export GREP_COLOR="1;31"
    tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    rm /tmp/io
    sleep $interval
    done
    Chtel bych do nej nejak prihodit stisknuti klavesy q pro ukonceni aplikace stim ze by jeste pred ukoncenim provedl echo 0 > /proc/sys/vm/block_dump aby se neplnil log, pokousel jsem se pomoci read ale ten ceka na stisknuti klavesy enter, pokousel jsem se i na pozadi ale nepomohlo nic.
    Michal Wirth avatar 10.12.2008 09:47 Michal Wirth | skóre: 26
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    prikaz read prijima parametr -n N, kde N udava, kolik se ma precist znaku, takze nebude cekat nez nekdo ukonci radek enterem ;-)
    Důležité se časem stává absurdním, absurdní se časem mění v důležité.
    10.12.2008 10:14 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    nejak nemohu pustit read na pozadi aby cekal na zmacknuti
    #!/bin/sh                           
    
    if test $1 = || test $2 =
    then                     
    echo "IO je utilita na sledovani cteni a zapisu na disk."
    echo -e "pouzij:  io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m"
    echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m"
    echo "ukoncis ctrl+c"
    echo -e "\033[1mver. 0.2\033[0m"
    exit;
    fi
    
    until test 1 = 2
    do clear;
    lines=$1;
    interval=$2;
    read -n 1 stisk && if [ $stisk = q ]; then
    echo 0 > /proc/sys/vm/block_dump
    exit;
    else
    echo 1 > /proc/sys/vm/block_dump
    tail -n $lines /var/log/syslog > /tmp/io #| sort | uniq
    echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.2"
    echo -e "\033[1mCOMMAND(PID)\033[0m   \033[1mI/O\033[0m"
    echo "------------------------------------------------"
    export GREP_COLOR="1;32"
    tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s ""  | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    export GREP_COLOR="1;31"
    tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    rm /tmp/io
    sleep $interval
    echo 0 > /proc/sys/vm/block_dump
    fi
    done
    Fuky avatar 10.12.2008 10:24 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu

    Proměnou $stisk dej do uvozovek a porovnávěj pomocí ==.

    10.12.2008 10:30 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    #!/bin/sh                           
    
    if test $1 = || test $2 =
    then                     
    echo "IO je utilita na sledovani cteni a zapisu na disk."
    echo -e "pouzij:  io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m"
    echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m"
    echo -e "\033[1mver. 0.3\033[0m"
    exit;
    fi
    
    until test 1 = 2
    do clear;
    lines=$1;
    interval=$2;
    read -s -n 1 stisk && if [ "$stisk" == q ]; then
    echo 0 > /proc/sys/vm/block_dump
    exit;
    else
    echo 1 > /proc/sys/vm/block_dump
    tail -n $lines /var/log/syslog > /tmp/io #| sort | uniq
    echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.3"
    echo -e "\033[1mCOMMAND(PID)\033[0m   \033[1mI/O\033[0m              ukoncis pomoci \033[1mq\033[0m"
    echo "------------------------------------------------"
    export GREP_COLOR="1;32"
    tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s ""  | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    export GREP_COLOR="1;31"
    tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    rm /tmp/io
    sleep $interval
    echo 0 > /proc/sys/vm/block_dump
    fi
    done
    stale mi read nebezi na pozadi a pri zopakovani ciklu se znovu dotazuje na zmacknutu klavesnice, zmaznu, vse probehne ale po skonceni znovu a porad kola.
    10.12.2008 10:37 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    chtel bych aby read tise cekam az se zmackne q aby se program ukoncil
    Fuky avatar 10.12.2008 10:39 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu

    Tak to si nerozumíme, myslel jsem, že chceš program zastavovat při každém průchodu cyklem a bránily tomu jen dvě zmíněné chybičky. Pokud chceš využít read, tak musíš spustít svůj skript na pozadí a v tom skriptu na popředí budeš čekat na vstup od uživatele, poté zašleš signál skriptu běžícímu na pozadí a máš přesně co chceš. Nebo to vyřeš jednoduše, pomocí Ctrl+C viz níže, navíc na tento způsob ukončení jsou všichni zvyklí. To co zkoušíš implementovat Ty, je exotické řešení.

    10.12.2008 11:03 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    takze vyreseno pomoc INT
    #!/bin/sh                                
    
    if test $1 = || test $2 =
    then                     
    echo "IO je utilita na sledovani cteni a zapisu na disk."
    echo -e "pouzij:  io.sh \033[1m[pocet radku]\033[0m \033[1m[refres interval v sekundach]\033[0m"
    echo -e "priklad: io.sh \033[1m10\033[0m \033[1m1\033[0m"                                       
    echo -e "ukoncis pomoci \033[1mctrl+c\033[0m"                                                   
    echo -e "\033[1mver. 0.3\033[0m"
    exit;
    fi
    
    until test 1 = 2
    do clear;
    lines=$1;
    interval=$2;
    echo 1 > /proc/sys/vm/block_dump
    tail -n $lines /var/log/syslog > /tmp/io #| sort | uniq
    echo -e "-----------------\033[1mREAD/WRITE\033[0m-----------------v0.3"
    echo -e "\033[1mCOMMAND(PID)\033[0m   \033[1mI/O\033[0m         ukoncis pomoci \033[1mcrtr+c\033[0m"
    echo "------------------------------------------------"
    export GREP_COLOR="1;32"
    tail -n $lines /tmp/io | egrep --color=always -r READ | tr -s ""  | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    export GREP_COLOR="1;31"
    tail -n $lines /tmp/io | egrep --color=always -r WRITE | tr -s "" | cut -d\  -f7,8,9,10,11,12,13,14 | uniq -w8
    rm /tmp/io
    sleep $interval
    
    konec() {
    echo 0 > /proc/sys/vm/block_dump
    exit;
    }
    trap 'konec; exit 0' INT
    done
    12.12.2008 06:40 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    metodicke poznamky:

    1. 'until test 1 == 2' bych prepsal na 'while :; do'

    2. 'test $1 = || test $2 = ' je lepe '[[ -n "$1" -o -n "$2" ]]'

    3. tailovat v kazdem pruchodu cyklem je dost neefektivni nebot se cte pokazde cely log (a to 2x). navic pokud tam za $interval pribude vic nez $n radek, tak je nechytis. co treba tato konstrukce: tail -f /tmp/io | while read line do ...

    4. zrovna tak nemusis v kazdem pruchodu definovat funkci konec a trapovat INT - to muze byt klidne mimo cyklus, nejlepe pred nim. navic tady mas race condition, kdyz ti zmacknu ctrl-c do $interval sekund od spusteni skriptu tak se konec() nespusti protoze jeste neni proveden trap.
    In Ada the typical infinite loop would normally be terminated by detonation.
    Fuky avatar 10.12.2008 10:16 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu

    Nebo použij signály tj. standartní způsob ukončení pomocí Ctrl+C viz Ladění skriptů, odchytávání signálů a příklady...

    10.12.2008 12:35 Pheek | skóre: 24 | blog: io
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu
    jeste bych mel prosim dotaz, potrebuji smazat nekolik radku podle kriterii z urciteho soubru, mam to na neolika radcich ale chtel bych to da do jednoho radku a nedari se
    sed -i '/sed/d'  /tmp/io
    sed -i '/tail/d'  /tmp/io
    sed -i '/io.sh/d'  /tmp/io
    sed -i '/clear/d'  /tmp/io
    sed -i '/grep/d'  /tmp/io
    
    Fuky avatar 12.12.2008 01:57 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: BASH nastaveni vystupu

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.