Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
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).
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í.
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ě.
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.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
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.
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."
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.
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.
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.