Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.
Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
V pátek 20. února 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy
… více »Popis příkazů nebudu rozebírat do podrobností, od toho máme manuálové stránky. Jen stručně nastíním k čemu jednotlivé příkazy slouží. Abyste věděli, pod kterým příkazem se skrývá vámi požadovaná činnost, a měli jste se na začátku čeho chytit.
cp - kopíruje souboryrm - ruší souborymkdir - vytváří adresářermdir - ruší prázdné adresářeln - vytvoří odkazy na souborychmod - změní přístupová práva k souborůmls, dir, vdir - vypíše obsah adresářůfind - vyhledávání souborůwhich - zobrazí absolutní cestu k programudf - vypisuje informace o připojených FSps - informace o spuštěných procesechcat, less - výpis souboru na obrazovkuxargs - spustí zadaný příkaz a zbylé argumenty čte ze standardního vstupugrep - tiskne řádky, které odpovídají zadanému vzoruwc - vypíše počet písmen, slov a řádkůsort - setřídí řádkyPříklad použití archivačního programu tar (je to standardní nástroj, takže ho naleznete snad v každé distribuci).
$ tar zcvf archiv.tgz ./adresar
|
Mimo archivace tar použije i kompresi z - gzip, j - bzip2. Volba x - rozbalí archív, c - vytvoří archív, v - vypisuje informace.
Příkazy dostávájí opravdovou moc teprve díky rourám a přesměrováním.
Roura (značí se pomocí operátoru |) připojuje výstup
jednoho procesu na vstup druhého procesu.
Operátory přesměrování.
> - přesměrování standardního výstupu do souboru, jestliže soubor existuje bude přepsán>> - jako předchozí, ale data přídá na konec souboru< - přesměrování standardního vstupu do souboru<<text - jako předchozí, ale při výskytu řetězce text zašle znak konce souboruChcete-li zabránit přepsání souboru při přesměrování, můžete toto implicitní nastavení změnit následujícím příkazem.
$ set -o noclobber
|
Před operátorem přesměrování můžeme použít deskriptor souboru.
0 standardní vstup1 standardní výstup2 standardní chybový výstupDvě ukázky přesměrovaní standardního výstupu a standardního
chybového výstupu do stejného souboru. Jako soubor použijeme
/dev/null (o všechno, co do tohoto speciálního
souboru přesměrujeme, přijdeme). Zkuste si příklad upravit tak,
aby se vám na obrazovku vypisoval jen standardní chybový výstup
a pak jen standardní výstup. Před zkoušením si nastavte jako
aktuální adresář nějaký, který obsahuje podadresáře a soubory.
$ find | xargs cat &> /dev/null
|
První příklad použití programu tar by šel zapsat i následujícím způsobem za použití roury a přesměrování do souboru.
$ tar cv ./adresar/ | gzip > archiv.tgz
|
Potřebujeme vytvořit kontrolní součet všech souborů v aktuálním
adresáři a jeho podadresářích za pomocí md5sum a uložit do souboru
md5sum.txt (u tohoho souboru nebudeme provádět kontrolní
součet).
Ukáži vám dvě řešení. To druhé jsem vytvořil, než jsem se v konferenci
dozvěděl o příkazu xargs.
$ find . \! -path './md5sum.txt' -type f | xargs -i md5sum {} > md5sum.txt
|
Program find předá programu xargs cestu
ke všem souborům (na každém řádku je cesta k jednomu souboru), ten
vezme řádek, dá ho do uvozovek a předá jako argument programu
md5sum, načte další řádek... Dokud nezpracuje celý
vstup. Standardní výstup programu md5sum se přesměruje
do souboru md5sum.txt.
find
\! - neguje následující podmínku-path './md5sum.txt' - najde soubory, jejichž jména odpovídají './md5sum.txt'-type f - jsou nalezeny běžné souboryxargs
-i - všechny výskyty dvojice znaků {} jsou nahrazeny cestou k souboru ze standardního vstupu, mezery neuzavřené v uvozovkách nejsou považovány za ukončení argumentuJe zbytečné psát takhle dlouhý příkaz, když ho budeme často používat.
Proto si do souboru ~/.bashrc přídáme alias.
alias md5sumr='find . \! -path './md5sum.txt' -type f | xargs -i md5sum {} > md5sum.txt'
|
Po dalším spustění BASHE stačí, když zadáte jen md5sumr.
Druhé řešení je vytvoření skriptu md5sumr.sh. Je to jen
pro ukázku, aby bylo vidět, že to jde udělat i mnohem složitějším
způsobem.
#!/bin/bash
koren=$(pwd)
vystup="md5sum.txt"
cesta="./"
Md5sum() {
local tmp
for soubor in *; do
if [ "$soubor" == "*" ]; then
break
fi
if [ -d "$soubor" ]; then
cd "./$soubor"
tmp="$cesta"
cesta="$cesta$soubor/"
Md5sum
cd "../"
cesta="$tmp"
else
if [ "$soubor" != "$vystup" ] || [ "$cesta" != "./" ]; then
pwd=$(pwd)
cd "$koren"
md5sum "$cesta$soubor" >> "./$vystup"
cd "$pwd"
fi
fi
done
}
Md5sum |
Na příště si připravte svůj oblíbený editor. Jestli žádný takový ještě nemáte, určitě vyzkoušejte Emacs a vi a jeden z nich si vyberte, časem určitě oceníte jejich kvality. Výše uvedený kód jsem úmyslně nekomentoval. Až dočtete tento seriál, měli byste ho pochopit.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
V případě mnoha malých souborů bude toto řešení samozřejmě
mnohem rychlejší, ale čím větší bude velikost souborů tím menší
bude rozdíl v rychlosti. A navíc u rychlejšího řešení nastává
níže uvedený problém.
bash: /usr/bin/md5sum: Příliš dlouhý seznam argumentů
To je hlavní nevýhoda rychlého řešení, takže rychleji neznamená
vždy nejlépe
)
for soubor in .* *; do echo "$soubor"; doneviz.
[work]# touch wd\ kuk\$.aj\* [work]# ls wd kuk$.aj* [work]# for soubor in *; do echo "$soubor"; done wd kuk$.aj*
touch \*\ \*\ \*\ pokusa pak třeba
for i in `ls`;do echo "$i";donea pak pro změnu třeba
for i in `ls`;do echo $i;doneExpanze je sfiňa
V prvním případě to jednou expanduje v příkazu for a v druhém projistoru ještě jednou v příkazu echo a jestli tam dáš ls, nebo ls -1 na tom nic nezmění. Trochu overkill řešení zadání mě napadlo:ls|tee /dev/null
. Ale myslim, ze v puvodnim dotazu byl vypis jmena souboru pouze jako priklad.
touch \*\ \*\ \*\ pokus touch \*\ \*\ \*\ pokus\ \* for i in "`ls`";do echo "$i";donebye :)
Ale ja chtel uvezt priklad, ktery tu jeste nebyl - a resi
problemy mezer, koncu radku, hvezdicek a jinych zhovadilosti v nazvech souboru:
find . -exec sh -c 'echo "$0" ' {} \;
Enjoy
find
jak se da udelat kdyz mam př:
strace příkaz 2>&1
a potřebuji aby se ten příkaz měnil podle zadaní argumentu pri spousteni skriptu. Mam například skript ./ahoj.sh FUNKCE ls, takze bych potreboval aby se ten strace vypisoval jako strace ls.