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 04:00 | Komunita

    Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).

    ❗Červivý Hřib krade❗ | Komentářů: 0
    dnes 03:33 | Nová verze

    V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.

    Ladislav Hagara | Komentářů: 0
    včera 21:11 | Komunita

    Ubuntu 27.04 bude Tenacious T-Rex.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Nová verze

    Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Humor

    Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 6
    včera 12:44 | Upozornění

    Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.

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

    Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si

    … více »
    Ladislav Hagara | Komentářů: 8
    včera 00:55 | Pozvánky

    Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do

    … více »
    bkralik | Komentářů: 0
    11.10. 11:33 | Nová verze

    Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.

    Ladislav Hagara | Komentářů: 0
    11.10. 03:55 | IT novinky

    Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2838 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Pozměněný příkaz ls

    25.12.2010 19:44 | Přečteno: 2578× | gnu_linux | Výběrový blog

    Jako obvykle jsem se v linuxu zatoulal někam, kam jsem se ani nechtěl dostat, ale vadilo mi už delší dobu, že výpis příkazu ls neukazuje dole souhrn podobný DOSovskému dir. Někdo může namítnout, že to dělá příkaz du, jenže ten se chová (pro můj vkus) dost podivně - vzhled výpisu je dost odlišný od ls atd. Nebudu to teď rozebírat, každý si du může vyzkoušet sám. Nakonec jsem po delší době skončil s docela šikovným skriptem, třeba se někomu taky bude hodit. Podotýkám, že programování v bashi nesnáším a moje vědomosti se v něm blíží nule (než jsem přišel na to, že uvnitř hranatých závorek podmínky "if" musí nutně být vlevo/vpravo mezery, to mi dalo zabrat). Skript se může nazvat jakkoli, já si ho hodil do ~/bin/, nazval jsem ho "dir" a mám v .bashrc alias se zkratkou "lu" (něco jako "list usage") kvůli kratšímu názvu :-D

    Tak tady je ta šílenost:
    
    #!/bin/bash
    # 2010-12-25  version 0.1
    
    ls -oFX --color=auto --group-directories-first --time-style=long-iso;
    echo ==========;
    t=`du --human-readable --separate-dirs --one-file-system --summarize`;
    # next line strips the dot at the end of the string
    t=${t%\.}
    f=0; for i in `find -maxdepth 1 -type f`; do let f++; done;
    h=0; for i in `find -maxdepth 1 -type f -name ".*"`; do let h++; done;
    if [ $f == 1 ] ; then
        str1="FILE"
    else
        str1="FILES"
    fi
    
    if [ $h == 1 ] ; then
        str2="FILE"
    else
        str2="FILES"
    fi
    echo "TOTAL SIZE $t IN $f $str1 ($h HIDDEN $str2)";
    
    Jak si pozorný čtenář povšiml, přidal jsem i výpis počtu souborů a kolik je z toho skrytých souborů. Dále jsem "opravil" to, kvůli čemu by zasloužil Micro$oft nakopat do zadku: v DOSu se totiž vypisovalo(stále vypisuje?) "file(s)", místo aby se bralo v potaz jednotné a množné číslo. Ještě jednou upřesňuji, že se celkový součet všech velikostí týká pouze souborů v aktuálním adresáři.

    Jakékoli nápady na zlepšení/zjednodušení uvítám. P.S. Proč sem nejde vložit 8-bitové PNG??? Bere to jen 24-bitové.        

    Hodnocení: 75 %

            špatné • dobré        

    Anketa

    Jak často používáte ls?
     (93 %)
     (4 %)
     (1 %)
     (2 %)
    Celkem 94 hlasů

    Obrázky

    Pozměněný příkaz ls, obrázek 1

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

    Komentáře

    Vložit další komentář

    poky74 avatar 25.12.2010 19:51 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls

    Slušeno by se k tomu ls přidat i parametr -h

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    Jendа avatar 26.12.2010 01:12 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    <rejp>Nebo --si. Já jsem si takový alias (la → ls -al --si --color=auto --file-type udělal. Když nejde Mohamed k hoře…</rejp>
    25.12.2010 20:04 CoC
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    ll? :)
    gtz avatar 25.12.2010 20:49 gtz | skóre: 27 | blog: gtz | Brno
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    co?

    ll je snad jen alias ls -l
    - nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
    Shadow avatar 26.12.2010 21:16 Shadow | skóre: 25 | blog: Brainstorm
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    ls -ll
    If we do not believe in freedom of speech for those we despise we do not believe in it at all.
    gtz avatar 26.12.2010 22:02 gtz | skóre: 27 | blog: gtz | Brno
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    No v Suse je ls -l stejné jako ls -ll , tedy stejné jako alias ll.
    - nejhorší jsou trpaslíci ... Ti Vám vlezou úplně všude
    27.12.2010 23:33 zulu
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Možná narážel na to, že na prvním řádku je total.
    25.12.2010 21:15 Stevko | skóre: 3 | Praha
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Ony tam tie hranaté zátvorky za if nemusia byť vôbec.
    Príspevok nemá byť ukončený spojením „môj názor“.
    25.12.2010 21:20 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    A to bych se hádal...
    mrkva@Destiny:~$ if [ 0 -eq 0 ]; then echo j; else echo n; fi
    j
    mrkva@Destiny:~$ if 0 -eq 0; then echo j; else echo n; fi
    bash: 0: příkaz nenalezen
    n
    (Jasně, je tu  test).
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    25.12.2010 22:14 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    A co třeba
    if grep neco soubor > /dev/null
    then
     echo "neco je v souboru"
    fi
    
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    25.12.2010 22:18 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    To samozřejmě fungovat bude.
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    25.12.2010 22:25 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Takže to jde i bez závorek :-) test stejně často bývá hardlink na [. A kdyby šlo o to porovnání, tak máme třeba ještě expr:
    if expr $f '=' 1 > /dev/null
    then
     ...
    fi
    
    Pamatuju si, na svůj první unixový předmět - přednášející nám říkal: "Za if je příkaz, když mi někdo bude u zkoušky tvrdit, že test nebo hranatá závorka, tak ho vyhodím."
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    25.12.2010 22:38 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Samozřejmě, že to jde opsat tak, aby nebyly použité závorky. Ale když z if [ $f == 1 ] ; then jen odeberu závorky, tak to fungovat prostě nebude.
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    25.12.2010 22:46 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Takle ano, ale já pochopil Stevkovu poznámku (a vlastně i to, co je v blogu) obecněji.
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    29.12.2010 16:37 Jirka P
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Za if je příkaz
    Blbě, za if je jeden nebo více příkazů.
    25.12.2010 23:13 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    testovanie navratovej hodnoty ide aj bez toho, ale to je nieco ine
    25.12.2010 23:16 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Něco jako:
    grep neco soubor && echo "neco je v souboru"
    
    ?

    Nebo jeste neco jinyho?
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    27.12.2010 18:13 petris_ | skóre: 12
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Ona totiz ta zavorka je obycejnej program, zkuste si "which [" a dela vpodstate to same co program test, akorat ze posledni argument musi byt ]. Neni to tedy zadna shellova konstrukce, ale byva i casto vestavena do shellu, kvuli rychlosti.
    28.12.2010 11:40 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    A tvrdím někde opak? :)
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    26.12.2010 10:30 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Hranate zavorky jsou synonymum pro prikaz test. Tam kde chceme pouzivat nejakou slozitejsi podminku (porovnani, kontrola hodnoty), musi se pouzit zavorky. Kdyz overujeme jen navratovou hodnotu prikazu, zavorky nejsou potreba.
    Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin
    25.12.2010 22:29 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Ten find mi tam připadá jako kanón na vrabce, určitě by to šlo nějak udělat pomocí ls, grep a wc. Nebo možná i bez grepu...
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    25.12.2010 23:14 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    ked uz sa v tom rypeme, tak = (v ziadnom pripade nie "=="!) je porovnanie stringov a -eq je porovnanie integerov

    vid man test
    Jendа avatar 26.12.2010 01:10 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    for i in `find -maxdepth 1 -type f`; do let f++; done;
    
    Když už, tak find -maxdepth 1 -type f | wc -l a určitě by to šlo ještě úsporněji.

    Mimochodem, skutečně budou čísla sedět, když bude v aktuálním adresáři soubor, který bude mít v názvu nějaký znak z $IFS? ;-)
    Amarok avatar 26.12.2010 09:16 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Dik za namety, opravil jsem par veci (a odstranil jsem zbytecne stredniky, kterych jsem si vsiml az dnes rano), tady aktualizovana verze:
    #!/bin/bash
    # 2010-12-25  version 0.2
    
    ls -oFX --color=auto --group-directories-first --time-style=long-iso
    echo ==========
    t=`du --human-readable --separate-dirs --one-file-system --summarize`
    # next line strips the dot at the end of the string
    t=${t%\.}
    
    f=`find -maxdepth 1 -type f | wc -l`
    h=`find -maxdepth 1 -type f -name ".*" | wc -l`
    
    if [ $f -eq 1 ] ; then
        str1="FILE"
    else
        str1="FILES"
    fi
    
    if [ $h -eq 1 ] ; then
        str2="FILE"
    else
        str2="FILES"
    fi
    
    echo "TOTAL SIZE $t IN $f $str1 ($h HIDDEN $str2)"
    
    Uz zbyva jen urychlit prvni spusteni (napr. v ~/ je to dost znat, domnivam se, ze to zpusobuje "du", ktery i pres parametr --summarize stejne leze do podadresaru a neco tam pocita). Vedel by nekdo, jak na to?
    GNUniverse - May the source be with you...
    26.12.2010 11:30 repli
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Vyhodit du ;-) To prostě přečte proleze vše. Druhé spuštění je rychlé jen proto, že se to pak nakešovalo.

    Tenhle skriptík je sice hezký, ale právě tenhle důvod bude jeden z těch proč to už v unixu takhle uděláno není.
    Amarok avatar 26.12.2010 11:47 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    S tim kesovanim je to jasne. To druhe nechapu, spis bych rekl, ze jde o osobni vkus, ja vetsinou pouzivam alias pro trochu rozsireny ls a soucet bajtu me vetsinou nezajima. Tenhle skriptik se mi hodi jen obcas.
    GNUniverse - May the source be with you...
    Jendа avatar 26.12.2010 14:44 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    je to dost znat
    Tak to toho máš v ~ ještě celkem málo, když je to „jenom“ dost znát:
    78G	.
    
    real	2m2.525s
    user	0m1.416s
    sys	0m7.132s
    
    26.12.2010 15:56 Mrkva | skóre: 22 | blog: urandom
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    To máš ještě dobrý...
    58G	.
    
    real	4m32.711s
    user	0m0.280s
    sys	0m2.920s
    
    We lived, we danced, we raced, we run, from the oblivion to come, Dressed for the last dance of a hundred thousand suns.
    Amarok avatar 27.12.2010 07:43 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    :-D No jo, ja taky cpu velka data na externi disk, takze se u me jedna jen asi o 4 sekundy.

    Mimochodem jak zmeris ten cas, to jde jakym prikazem?
    GNUniverse - May the source be with you...
    Marián Kyral avatar 27.12.2010 08:51 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    $ time du -s --si *
    17k     lost+found
    15G     marian
    1,7M    test
    
    real    0m21.347s
    user    0m0.830s
    sys     0m0.379s
    
    27.12.2010 09:54 Georgius | skóre: 24 | blog: jirka
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    no je vidět že nemusíte řešit 20000 souborů v jednom adresáři - potom je výstup ls moc dlouhý a spousta věcí přestává fungovat (takové `command $(ls *blabla)` přestává fungovat už někde okolo 6000 souborů). V takovém případě vám zachrání zadnici právě find.

    Pro rýpaly, co mi začnou vysvětlovat, že si to mám rozdělit - data posílá third-party software, který neovlivním.
    Amarok avatar 27.12.2010 23:16 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    Věděl by někdo, jak pomocí jednoduchého ls zobrazit reálný součet bajtů? Když použiju
    ls -l --block-size=1
    tak dostanu zřejmě číslo, které vyjadřuje celkové zabrané místo na disku. Upřesním:
    total 32768
    -rw-r--r-- 1 ghaad users 4615 Dec  7 11:12 file1.inc
    -rw-r--r-- 1 ghaad users 4666 Dec  7 10:52 file2.inc
    -rw-r--r-- 1 ghaad users 5447 Dec  7 11:02 file3.inc
    -rw-r--r-- 1 ghaad users 5267 Dec  7 11:06 file4.inc
    Na disku soubory zabírají dohromady zřejmě 32768 bajtů, reálný součet je ale 19995 bajtů.

    Ten můj šílený skript přepisuju, jde to celé opravdu napsat o dost čistěji a bez použití du, čímž eliminuju tu pomalost při prvním spuštění.
    GNUniverse - May the source be with you...
    27.12.2010 23:31 zulu
    Rozbalit Rozbalit vše Re: Pozměněný příkaz ls
    alias ll='ls -l'
    alias lh='ls -ld .*'
    alias xdu='du -hs *'
    alias xdh='du -hs .[^.]*'

    Založit nové vlákno • Nahoru

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