Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
touch
, dále program pro výpis velikosti souborů – du
a nakonec příkaz pro zjištění typu souborů – file
.Název příkazu touch
je anglické slovo, které znamená dotek – tzn. v podstatě „sahá“ na soubory (a adresáře), což sedí; slouží totiž ke změně času posledního přístupu (atime) a poslední změny (mtime) souboru. Vedlejší, ale často využívanou funkcí je vytváření prázdných souborů.
Program se poprvé objevil v systému AT&T UNIX verze 7. GNU implementace je dodávaná v balíku coreutils
, který obsahuje spoustu základních utilit.
Základní použití vypadá následovně:
# pokud „soubor1“ neexistuje, bude vytvořen (prázdný); # pokud existuje, bude změněn jeho atribut atime a mtime na aktuální čas touch soubor1
Proč by někdo chtěl měnit čas poslední změny souboru? Některé programy tento údaj využívají a ovlivňuje to jejich chování. Například make
, což je program sloužící ke spuštění sekvence příkazů pro dosažení určitého cíle podle souboru s pravidly, jej využívá k tomu, aby při opětovném spuštění zjistil, zda už určité kroky dříve neprovedl, aby je případně mohl přeskočit a pokračovat dále.
Teď, když už víme, jaký má příkaz smysl, si popíšeme přepínače, jejichž implementaci vyžaduje standard.
Přepínač | Význam |
-a | Změní pouze čas posledního přístupu (atime). |
-c | Nevytvoří prázdný soubor, pokud daný neexistuje. Nevypíše chybu. |
-m | Změní pouze čas poslední změny (mtime). |
-r x | Použije odpovídající časy souboru „x“ místo aktuálního času. |
-t y | Použije čas „y“ místo aktuálního času. Viz níže. |
Předvedeme si to na ukázkách:
# totéž jako samotné: touch soubor2 touch -am soubor2 # změní pouze čas poslední změny na aktuální čas touch -m soubor3 soubor4 # změní čas posledního přístupu k souboru „cil“ na čas # posledního přístupu k souboru „reference“ touch -a -r "reference" "cil"
Jak jsem v tabulce s přepínači naznačil, přepínač -t umožňuje zadat vlastní čas. Ten se zadává číselnou hodnotou ve tvaru [[CC]YY]MMDDhhmm[.SS], kde hranaté závorky značí volitelnost. Co jednotlivé znaky znamenají? Postupně od nejdelší po nejkratší časovou jednotku to je století – CC, rok – YY, měsíc – MM, den – DD, hodina – hh, minuta – mm, sekunda – SS. Nezadáte-li století (CC), pro roky (YY) 00 až 68 je implicitní hodnota 20 a pro roky 69 až 99 hodnota 19. (Výchozí století se v budoucím standardu změní.) Nezadáte-li ani rok, předpokládá se aktuální. Sekundy mají rozsah 0 až 60 (a ne 0 až 59 – kvůli přestupným sekundám); zadáte-li SS hodnotu 60, chování bude záviset na proměnné prostředí TZ.
# nastaví atime a mtime na 1. 12. 2009, 15:25:35 touch -t 200912011525.35 "../soubor 5.txt" # nastaví atime na 12. 4. 00:00:00 (letošního roku) touch -a -t 04120000 "/adresar 1/soubor 6.txt" # nastaví mtime na 20. 7. 1991, 13:15:00 touch -mc -t 9107201315 "/home/dave"
GNU verze navíc poskytuje přepínač -d (--date), který umožňuje zadat datum v čitelnější podobě, například „2004-02-29 16:21:42“ nebo dokonce relativně: „next Thursday“ (příští čtvrtek).
Program du
slouží k odhadu zabraného místa danými soubory či adresáři. Název vychází z anglického výrazu disk usage, což znamená využití disku. Utilita se poprvé objevila v AT&T UNIX v1.
Základní použití vypadá takto:
# vypíše velikost všech souborů a adresářů v pracovním adresáři du # vypíše velikost všech souborů a adresářů v adresáři „/var“ du /var # totéž pro „soubor1“ a „soubor2“ du "soubor1" "soubor2"
Program du
počítá pouze prostor alokovaný existujícími soubory a adresáři, což je důvodem pro skutečnost, že může zobrazovat jiné hodnoty, než třeba příkaz df
, který zmíním v některém z dalších dílů.
Výchozí chování programu je takové, že nenásleduje symbolické odkazy a když na ně narazí, počítá pouze velikost odkazu, nikoliv odkazovaného souboru. To lze ovlivnit správným přepínačem. V takovém případě se odkazovaný soubor počítá pouze jednou, i když je na něj odkazováno vícekrát. Popíšeme si standardní přepínače.
Přepínač | Význam |
-a | Kromě průběžných informací o velikosti adresářů se budou vypisovat i informace o velikosti všech jednotlivých souborů. |
-H | Následuje explicitně zadané symlinky zadané jako argument. |
-k | Vypíše velikosti jako násobky 1024 bytů (místo výchozích 512 B). |
-L | Následuje všechny symbolické odkazy. |
-s | Zakáže detailní výpis s velikostmi jednotlivých podadresářů. Vypíše pouze celkové velikosti. |
-x | Aktivuje procházení adresářové struktury pouze v rámci souborového systému daných adresářů. |
BSD a GNU verze příkazu mají užitečný přepínač -h
, který vypisuje velikosti v rozumných jednotkách tak, aby byl výpis přehlednější pro uživatele.
GNU implementace má přepínač -c, který zajistí výpis celkové velikosti všech zadaných souborů a adresářů.
# vypíše celkovou velikost všech položek v adresáři du -sh 2,1M . # vypíše velikosti daných adresářů a nakonec i součet du -chs ../data/ ../tmp/ 59G ../data/ 474M ../tmp/ 60G total # následuje odkazy, což je důvodem pro větší velikost du -hsL ../tmp/ 5,9G ../tmp/
Program file
slouží ke zjištění typu souboru. Název vychází z anglického slova file, což znamená „soubor“.
Poprvé se tento příkaz objevil v Research Unix 4 a poté byl v System V značně přepracován (především se informace o typech přesunuly z binárky do textového souboru). Většina distribucí GNU/Linuxu a BSD (ne-li všechny) používá open-source reimplementaci od Ian Darwina, kterou tento vývojář napsal v roce 1986 a od té doby do ní přispěla spousta dalších lidí.
Základní použití vypadá takto:
$ file nejaka_empetrojka.mp3 nejaka_empetrojka.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo
Neexistuje žádná jediná správná cesta jak zjistit typ souboru, proto se musí provádět různé testy a podobně. Program postupuje takto (a cyklus se zastaví tehdy, když dojde k výsledku):
Standard vyžaduje implementaci následujících přepínačů:
Přepínač | Význam |
-d | Použije na soubor všechny výchozí systémové testy. Toto je výchozí chování, když není zadán přepínač -M nebo -m. |
-h | Když program narazí na symlink, nenásleduje jej, ale indentifikuje ho jako symbolický odkaz. Totéž se stane, když -h zadané není a program narazí na symlink odkazující na neexistující umístění. |
-i | Narazí-li program na běžný soubor, nebude jej dále testovat na konkrétní typ. |
-M x | Použije daný soubor s testy (x) pro testování hlaviček souborů. Žádné ostatní testy se nepoužijí, pokud zároveň není zadán přepínač -d. |
-m y | Použije daný soubor s testy (y) pro testování hlaviček souborů. |
Je-li přepínač -m zadán bez přepínače -d nebo -M, použijí se výchozí systémové testy hlaviček hned po testech z daného souboru:
# identifikuje soubor.exe podle hlavičky pomocí testů ze soubor_magic file -M soubor_magic "soubor.exe" # základní identifikace file -i kvadro1.jpg kvadro1.jpg: image/jpeg; charset=binary # výchozí identifikace file kvadro1.jpg kvadro1.jpg: JPEG image data, JFIF standard 1.01
Projekt GnuWin32 poskytuje port tohoto programu (a dalších GNU utilit) pro Windows.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Daly by se o tom napsat disertace, ale pan autor se zmuze jen na par nicotnych radek.Jenže cílem není disertace. Cílem je právě těch pár řádků, stejně jako v případě popisu dalších příkazů. Stručné představení a shrnutí možností. Ale tys to asi ani nečetl, co?
kritika musi byt:Proc, proboha? Clanek slibuje predstaveni prikazu a ne jejich podrobne pitvani. To taky plni, takze pokud jde o mne, plna spokojenost.
Neexistuje žádná jediná správná cesta jak zjistit typ souboru,
Existuje. Stačí, aby autor (uživatel, program) tuto informaci k souboru přidal:
$ getfattr --dump /tmp/l10n.xhtml.gz getfattr: Removing leading '/' from absolute path names # file: tmp/l10n.xhtml.gz user.mime_encoding="x-gzip" user.mime_type="application/xhtml+xml"
Bohužel nikdo si na rozšířené atributy ani nevzpomene. Ani desktopová prostředí, která tento koncept standardizovala. Na Mac OS X se prý metadata souborů využívají zcela běžně.
Existuje. Stačí, aby autor (uživatel, program) tuto informaci k souboru přidal:A že je to ta jediná správná cesta říká kdo? Já tu větu "Neexistuje žádná jediná správná cesta jak zjistit typ souboru" pochopil tak, že existuje více správných cest, jak zjistit typ souboru.
Na Mac OS X se prý metadata souborů využívají zcela běžně.Na Maccích je to v poslední době složité. Původní Mac OS používal pro určení typu souboru jakýsi čtyřznakový kód. Pak se myslím s přechodem na OS X začaly používat přípony souborů a konečně existuje ještě takzvaný Uniform Type Identifier, což je klasický otočený doménový zápis à la
com.apple.itunes
. Přípony jsou ošklivé, ale metadata na druhou stranu dost špatně přežívají jakýkoliv transport, například na cizí souborové systémy nebo po síti.
application/x-zip-compressed
(nevím, jestli je to správně, nesejde na tom). Když ho načtu třeba jako přílohu do běžného poštovního klienta, který nebude mít podporu pro metadata, jak se klient dozví typ souboru? Podobně u příjemce: Příjde mi příloha nazvaná Foo s content-type zip
. Pokud místní operační systém nepodporuje metadata, klient by musel vědět, že má soubor uložit s příponou .zip.
.ai
, tak mi je otevírá Preview namísto Illistratoru. Tato informace byla původně ve working-copy v metadatech a SubVersion se na to jaksi vytento. Nejen díky tomuto, ale i díky nepodpoře paznaků v názvech souborů, nelze verzovat uživatelská ikona adresáře. Takže na řadu přichází řečnická otázka, zda je SubVersion opravdu verzovací systém, když půlku dat zahodí nebo odmítne?
co když náhodou někdo nebude umět zpracovat text s diakritiky nebo dokonce UnicodeTakových je tu spousta. Aspoň soudě z diskuzí o diakritice.
Nic vám přece nebrání vedle metadat dál používat přípony souboru.Na to jsem narážel: Pokud musím kvůli spolupráci s ostatními stejně používat přípony, můžu se na metadata zrovna vykašlat.
getfattr
alias dud="du -h --max-depth=1"
, případně ncdu
alias dud='du | grep -i -e '\''\.\(/[^/]\+\)\?$'\'' | sort -n | less'
Můj oblíbený:
du -x / | sort -n | tail -50
du -s .[^.]* * | sort -n | tail -n 20
Program du slouží k odhadu zabraného místa danými soubory či adresářiIMHO se zde nejedná o odhad, ale o přesnou hodnotu, kterou soubor zabírá na disku, což je potřeba brát doslova. Kvůli alokačním jednotkám a děravým souborům je skutečná velikost odlišná od velikosti na disku:
$ echo a > a $ ls -l a -rw-r--r-- 1 pht pht 2 2009-12-22 11:56 a $ du a 4 a $ dd if=/dev/zero of=a bs=1G seek=1000000 count=0 0+0 records in 0+0 records out 0 bytes (0 B) copied, 2.0858e-05 seconds, 0.0 kB/s $ ls -lh a -rw-r--r-- 1 pht pht 977T 2009-12-22 11:57 a $ du a 4 aPokud chcete zjistit skutečnou velikost, např. pro účely stahování z webu, použijte přepínač --apparent-size, což je myslím pouze v GNU verzi.
file
sa mi osvedčil ešte parameter --mime-type
, ktorý robí presne to čo by ste si mysleli, že robí. Výstup je potom lepšie strojovo spracovateľný, napríklad v shell skripte...
/etc/magic
. Což byl IMHO také důvod, proč třeba Apache používal vlastní magic
, kde byly místo slovních popisů MIME typy.
file
.
mime.types
a direktivaAddType
) nebo na základě analýzy obsahu (modul mod_mime_magic
). Ta druhá možnost se ale v praxi moc nevyužívá.
Content-Type
nastavený na application/octet-stream
, protože prohlížeče si to stejně zpracovávaly jak chtěly samy.