Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.
FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
find a exec cp, ale nevím jak tam dostat ten nadřazený adresář.data/a/dokumentace data/b/dokumentace data/e/dokumentace data/k/dokumentacezkopírovat do cíle:
cíl/a/dokumentace cíl/b/dokumentace cíl/e/dokumentace cíl/k/dokumentaceMožná jsem hledal špatně, ale na podobný požadavek jsem dotaz nikde nezahlédl.Díky.
Řešení dotazu:
cd data
for dir in * ;
do
if [ -d $dir ] && [ -d ${dir}/dokumentace ]
then
# vlastni kopirovani dat
mkdir -p ../cil/${dir}/dokumentace
cp ${dir}/* ../cil/${dir}
cp ${dir}/dokumentace/* ../cil/${dir}/dokumentace
fi
done
cp ${dir}/dokumentace/* ../cil/${dir}/dokumentaceJestli jsou pod tim adresarem 'dokumentace' jeste dalsi podadresare, tak lze pochopitelne pouzit:
cp -r ${dir}/dokumentace ../cil/${dir}/dokumentace
find a scriptik co to zavolá by to určitě šlo lehce.
cd /cesta/k/data
find . -maxdepth 2 -type d -regex ".*/dokumentace$" -exec mkdir -p "/cesta/k/cil/{}" \;
find . -maxdepth 2 -type d -regex ".*/dokumentace$" -exec cp -r "{}" "/cesta/k/cil/{}" \;
cd /cesta/k/data
find . -maxdepth 2 -type d -regex "\.\/.*/dokumentace$" -exec mkdir -p "/home/imega/cil/{}" \;
find . -maxdepth 2 -type d -regex "\.\/.*/dokumentace$" -exec cp -r "{}/../" "/home/imega/cil/{}/../" \;
Osobně bych to realizoval přes find, který by přes -exec volal skript, kde by se akce realizovaly.
/home/imega má být /cesta/k – aspoň je vidět, že jsem si to i zkusil :)
Ja to delam takhle:
mkdir testovaci_adresar/data
cd testovaci_adresar/data
mkdir -p a/dok; touch a/soub1 a/dok/soub2
touch b
mkdir c; touch c/soub3
mkdir -p d/dok ; touch d/soub4 d/dok/soub5
touch e
Tim jsem si vytvoril smes souboru a adresaru ruznych urovni a na nich si pak delam pokusy
A pointa?Nebudes davat do verejnych diskuzi jedno platne prihlasovaci jmeno na tvuj system. To je takova zakladni ochrana proti crackerum, kteri se chteji probourat na tvuj system.
$ find . -type d -name 'dokumentace' -printf '%h\n' |xargs -i cp -a {} cil
cp /data/a{./dokumentace} cil/a, tak se nehneme z mista.
cp /data/a{./dokumentace} cil/aSakra, zase preklep
Ma byt carka misto tecky ve slozenych zavorkach.
cp /data/a{,/dokumentace} cil/a
Ještě doplním pár věcí, ale ty nejsou předmětem dotazu. Moc dík za pomoc.
-r"
Jen jeste v takovem pripade muzes nahradit to mkdir -p ../cil/${dir}/dokumentace jenom mkdir ../cil/$dir
Moc dík za pomocNeni zac.
3. kopiruje i jine podadresare nez jenon "dokumentace" (coz tazatel zrejme chtel)Ma byt samozrejme "NEchtel".
Zadání není jednoznačné, takže se lze jen domnívat co tazatel přesně chtěl.
kopiruje data/X/ do cil/ (tedy ne do cil/X)
Kopíruje data/X do cil, tj. v adresáři cíl bude podadresář X čili kopíruje data/X/ do cil/X, vyzkoušej si co dělá:
$ cp -a data/X cil
kopiruje i jine podadresare nez jenon "dokumentace"
Tak kopírujte jen podadresář dokumentace:
$ find . -type d -name 'dokumentace' |xargs -i rsync -aR {} cil
najde i jine adresare 'dokumentace' nez pouze v druhe urovni
Tak si specifikujte v jaké úrovni budete adresář dokumentace zpracovávat:
$ find . -mindepth 3 -maxdepth 3 -type d -name 'dokumentace' |xargs -i rsync -aR {} cil
Ještě nějaká nejasnost?
Kopíruje data/X do cil, tj. v adresáři cíl bude podadresář X čili kopíruje data/X/ do cil/X, vyzkoušej si co dělá:Ano, popletl jsem to. Pomotal jsem
cp -r data/x cila
cp -r data/x/* cil
Pochopil jsem to dobre?
~/zkouska$ find . ./bleble ./bleble/dokumentace ./bleble/dokumentace/zkouska ./blabla ./bloblo ./bloblo/bubu ./bloblo/dokumentace ./bloblo/dokumentace/zkouska ~/zkouska$ cp --parents */dokumentace/* ../zkouska1/ ~/zkouska$ find ../zkouska1/ ../zkouska1/ ../zkouska1/bleble ../zkouska1/bleble/dokumentace ../zkouska1/bleble/dokumentace/zkouska ../zkouska1/bloblo ../zkouska1/bloblo/dokumentace ../zkouska1/bloblo/dokumentace/zkouskaMarek
" ./zkouska/bleble se nezkopiruji do ../zkouska1/bleble."
A ma se kopirovat, nebo ne?
Toto
cp -r --parents */dokumentace/* ../zkouska1/
podle mne dela:
Pokud existuje adresar dokumentace ve druhe urovni, tak ho zkopiruji i s nadrizenym adresarem rekurzivne do ./zkouska1/
MarekA ma se kopirovat, nebo ne?Myslim, ze tazatel se vyjadril, ze ma. Zkousel jsi, co ten tvuj 'cp' kopiruje? Protoze ja to zkousel a nekopiruje tu prvni uroven. Vytvor si soubor v zkouska/bleble (napr. takhle:
touch ./zkouska/bleble/abc), spust na to ten tvuj cp a podivej se, co mas v zkouska1/bleble. Soubor 'abc' to rozhodne nebude
To stejne plati pro soubory (i adresare) v ./zkouska/bleble/dokumentace/zkouska
DIR="./zkouska/bleble/dokumentace/zkouska"
touch ${DIR}/def
mkdir ${DIR}/podadr
touch ${DIR}/podadr/ghi
^^ Ani jeden z nich se nezkopiruje.
Co tedy delam spatne, ze si myslym, ze mne to funguje?
~/zkouska$ DIR="./bleble/dokumentace/zkouska"
~/zkouska$ mkdir ./bleble/dokumentace/zkouska
~/zkouska$ touch ${DIR}/def
~/zkouska$ mkdir ${DIR}/podadr
~/zkouska$ touch ${DIR}/podadr/ghi
~/zkouska$ find
.
./bleble
./bleble/dokumentace
./bleble/dokumentace/zkouska
./bleble/dokumentace/zkouska/podadr
./bleble/dokumentace/zkouska/podadr/ghi
./bleble/dokumentace/zkouska/def
./blabla
./bloblo
./bloblo/bubu
./bloblo/dokumentace
./bloblo/dokumentace/dir
./bloblo/dokumentace/dir/file
./bloblo/dokumentace/zkouska
~/zkouska$ mkdir ../zkouska1
~/zkouska$ cp -r --parents */dokumentace/* ../zkouska1/
~/zkouska$ find ../zkouska1
../zkouska1
../zkouska1/bleble
../zkouska1/bleble/dokumentace
../zkouska1/bleble/dokumentace/zkouska
../zkouska1/bleble/dokumentace/zkouska/podadr
../zkouska1/bleble/dokumentace/zkouska/podadr/ghi
../zkouska1/bleble/dokumentace/zkouska/def
../zkouska1/bloblo
../zkouska1/bloblo/dokumentace
../zkouska1/bloblo/dokumentace/dir
../zkouska1/bloblo/dokumentace/dir/file
../zkouska1/bloblo/dokumentace/zkouska
Marek
Co tedy delam spatne, ze si myslim, ze mne to funguje?Zapomnel jsi si vytvorit ten soubor v ./bleble jak jsem psal (touch ./bleble/abc) Jinak se omlouvam, ze jsem nepostrehl to pridani prepinace "-r" do "cp". Tim se resi to kopirovani adresarove struktury pod 'dokumentace'.
Tiskni
Sdílej: