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

    Byla vydána OpenIndiana 2026.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | IT novinky

    Americký výrobce polovodičů onsemi (ON Semiconductor) zrušil plány na rozšíření výroby v rožnovském závodě v Česku za dvě miliardy dolarů (podle aktuálního kurzu zhruba 43,5 mld. Kč). Důvodem je vývoj na trhu.

    Ladislav Hagara | Komentářů: 9
    7.11. 13:00 | Bezpečnostní upozornění
    Nové vydání zlib opravuje několik problémů při kompresi a dekompresi dat, přetečení bufferů, čtení mimo vyhrazenou paměť, únik neinicializovaných dat. Zvlášť významné jsou chyby v inflateGetDictionary(), inflateSync() a gzwrite(), které mohou způsobit poškození paměti. Vysoká relevance - zlib používá řada systémových i aplikačních komponent.
    vencour | Komentářů: 0
    7.11. 12:25 | Bezpečnostní upozornění
    Digicert hlásí neoprávněné čtení archivních zákaznických údajů. Došlo k němu po migraci z února 2025, po níž se interní systém, dříve dostupný jen přes VPN, stal přístupným z internetu. Chyba v oprávněních umožnila nově vytvořeným účtům číst archivní záznamy. K přístupu k datům mělo dojít mezi 27. červnem a 2. červencem 2026. DigiCert neoprávněné čtení potvrdil až 19. října 2026. Problém zpočátku vyhodnotil jako tvorbu účtů, ne jako … více »
    vencour | Komentářů: 0
    7.11. 04:44 | Pozvánky

    O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.

    Ladislav Hagara | Komentářů: 0
    7.11. 02:11 | IT novinky

    Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.

    vencour | Komentářů: 0
    7.11. 02:00 | IT novinky

    Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.

    vencour | Komentářů: 0
    6.11. 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    6.11. 04:55 | Nová verze

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 4
    6.11. 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

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

    SRM-lepší mazání

    1.8.2007 11:28 | Přečteno: 1442× | Linux | Výběrový blog

    Protože se mi často stává, že si při mazání více souborů omylem vymažu celý obsah adresáře, protože se mi do zápisu připlete *, rozhodnul jsem se, že si napíšu takový malý wrapper pro rm -fr v C.

    Už ho mám skoro hotový, ale mám jeden problém. Když jsem ho spustil, tak jsem zjistil, že Bash do toho příkazu předává už přímo expandovanou *

    #include <stdio.h>
    #include <strings.h>
    #include <unistd.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[]) {
            int i, opt;
            for(i=1;i<argc;i++) {
              if (strcasecmp(argv[i],"*")==0) {
                            printf("Opravdu chcete vymazat vsechny soubory v tomto adresari? (A/N)");
                            opt=getchar();
                            if (opt=='N') {
                                    exit(1);
                            } else if (opt=='A') {
                                    break;
                            }
                    }
            }
            argv[0]="rm";
            execvp("rm", argv);
            exit(0);
    }
    

    A proto mi nefunguje zvýrazněný řádek strcasecmp. Jde to nějak obejít?

           

    Hodnocení: 0 %

            špatné • dobré        

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

    Komentáře

    Vložit další komentář

    1.8.2007 11:34 thingie
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ne. Leda bys to v shellu vždy vyescapoval \* a pak to expandoval v aplikaci. Což je divné.
    1.8.2007 11:38 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ano, prepsanim bashe. To je jeho povinnost expandovat vsechny parametry. Aplikace do toho nema co kecat. Tudy proste cesta nevede ...
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    1.8.2007 11:40 ...............23 | skóre: 15 | blog: Various Stuff blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    takto asi nie, ale môžeš zistiť počet položiek v adresári a porovanť ich s argc, ak je argc vyššie, tak tam asi bude hviezdička...
    1.8.2007 11:43 Tomáš | skóre: 31 | blog: Tomik
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Na takovou blbost (ve smyslu: maly program) neber C. V Bashi to napises taky a nemusis se zalamovat s prekladem.

    Bash bude hvezdicku expandovat, pokud mu to nezakazes, takze bys musel psat: srm "*" misto prosteho srm * (mozna jsou misto uvozovek potreba apostrofy, ted to nemuzu vyzkouset). Vzhledem k tomu, ze kdyz clovek nekam napise hvezdicku omylem, tak ji asi neda do uvozovek, prijde Ti to vzdycky expandovane. Napada me jenom kontrolovat pocet zadanych argumentu, kdyz bude moc velky (typicky expandovana hvezdicka), tak se zepta.
    1.8.2007 11:47 thingie
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Samozřejmě, že to musí být '*'.
    1.8.2007 13:58 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Zase tak samozřejmé to není, expanze wildcards uvnitř dvojitých uvozovek neprobíhá, takže klidně mohou být i dvojité.
    herne the hunter avatar 1.8.2007 11:47 herne the hunter | skóre: 10 | tor lara
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    když přejdeš z bashe na zsh, tak wrapper nebude potřeba :)
    i am herne the hunter and you are a leaf driven by the wind.
    2.8.2007 18:05 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
    Rozbalit Rozbalit vše Re: SRM-lepší mazání

    Zrovna jsem chtěl napsat, že v zsh stačí nenastavit RM_STAR_SILENT.

    „O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
    1.8.2007 11:48 Opium | skóre: 14 | blog: drugz | -cenzura-
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    int i, opt; moc nechápu, opt je integer (A/N má nějaké číslo?, nějak to nesedí)?
    michich avatar 1.8.2007 12:07 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ale sedí. getchar() vrací int kvůli tomu, aby se dal zjišťovat EOF. A možná tě to překvapí, ale znakové literály ('A', 'N') jsou v C taky typu int.
    freshmouse avatar 1.8.2007 12:49 freshmouse | skóre: 42 | blog: Bruno Banány
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    ... jsou v C taky typu int.
    A jinde mají typ třeba char, ale lze je v pohodě "převést na čísla".
    1.8.2007 13:29 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Však char je taky číslo, co jiného by to bylo.
    Pochybnost, nejistota - základ poznání
    freshmouse avatar 1.8.2007 13:48 freshmouse | skóre: 42 | blog: Bruno Banány
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    To nepopírám.
    1.8.2007 14:00 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ale je to jiný typ než int a na běžných platformách má také typicky jinou velikost.
    Josef Kufner avatar 1.8.2007 20:11 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Písmenka nejsou int, ale char. To jen C umí hezky nenápadně a implicitně konvertovat typy jak je zrovna potřeba, takže to nemusí dělat explicitně programátor jako třeba v Packalu...
    Hello world ! Segmentation fault (core dumped)
    michich avatar 1.8.2007 21:17 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Houby. Znakové literály jsou v C typu int. V C++ jsou typu char, ale to je jiný jazyk.
    #include <stdio.h>
    
    int main()
    {
    	printf("sizeof('a') je %d\n", sizeof('a'));
    	if (__builtin_types_compatible_p(typeof('a'), int))
    		printf("'a' je typu int\n");
    	if (__builtin_types_compatible_p(typeof('a'), char))
    		printf("'a' je typu char\n");
    	return 0;
    }
    
    Výsledek:
    sizeof('a') je 4
    'a' je typu int
    
    1.8.2007 11:56 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Celej ten nápad je řádná kravina, sice se můžeš podívat, jestli všechny soubory v aktuálním adresáři nejsou obsaženy na vstupu nebo tak nějak přibližně, jak píše Forrondur, ale i tak je to řešení jednoho hloupého případu, přičemž např. situace rm /home/ignor/mezera*~ zůstávají dále neošetřeny. Radši si před mazáním vypiš, co všechno by se mazalo a pořádně to projdi nebo používej libtrash nebo se vykašli na rm a do koše to přesouvej sám (ano koš taky není ultimátní řešení pro všechny případy, ale trochu pomůže).
    1.8.2007 15:54 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    A kdyz budes chtit smazat jedine dva soubory v adresari, tak ti to odmitne, ze ses spletl :-)
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    1.8.2007 16:23 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    To už bude problém toho, kdo takovou věc bude používat :-) Ale napadlo mě ještě jiné "řešení". alias myrm="touch neco; srm", kde neco bude nějaká nejlépe exotická věc - např. jeden znak, který by nikoho nenapadlo dát do názvu souboru, ale být v něm může. srm se pak podívá, jestli má na vstupu neco, když jo, tak jeden z parametrů byl *, ?*, *? (což je obojí to samé jako *), ?, nic jiného mě teď nenapadá. neco samozřejmě vždycky smaže.
    1.8.2007 16:55 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    ten alias je ale blbost :-) ten touch by se musel pustit samostatně před mazáním
    b42 avatar 1.8.2007 13:04 b42 | skóre: 12 | Ostrava/Brno
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Ne ze by to bylo jakkoli podstatne, ale jedno srm uz existuje.
    Věroš avatar 2.8.2007 10:45 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: SRM-lepší mazání
    Zálohovat, zálohovat a zálohovat. Mně stačilo ztrati celý disk asi jenom třikrát :-)
    Školím Ansible

    Založit nové vlákno • Nahoru

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