Portál AbcLinuxu, 10. srpna 2025 07:18
Článek na serveru Linux.com vás naučí zachraňovat smazané soubory, které jsou stále ještě otevřeny nějakým procesem a tudíž nejsou definitivně ztracené. Co vám na to bude stačit? Obyčejné lsof a cp.
Tiskni
Sdílej:
/proc/pid/fd/číslo
je (aspoň u mě) symlink na (teď už) neexistující soubor.
$ ls -l lrwxrwxrwx ... obnoveno.avi -> kesmazani.avi (deleted) $ mplayer obnoveno.avi Playing obnoveno.avi. File not found: 'obnoveno.avi' Failed to open obnoveno.avi.
ls -l
jste neprováděl v /proc/atd nýbrž po zkopírování v adresáři, kam jste to chtěl obnovit. Nesmíte kopírovat symbolický link, nýbrž souboru obsah. Čili ne
cp -a /proc/<id_procesu>/ft/<cislo_souboru> ./kopie.souboru
nýbrž
cp /proc/<id_procesu>/ft/<cislo_souboru> ./kopie.souboru
Pak místo
$ ls -l
lrwxrwxrwx ... obnoveno.avi -> kesmazani.avi (deleted)
dostanete
$ ls -l
-rw-r--r-- ... 114383 Oct 31 16:25 obnoveno.avi
kopie.souboru
se klidně může jmenovat obnoveno.avi
Za druhé jsem nekopíroval pomocí cp -a
, protože náhodou umím číst.
Za třetí když se podíváš o něco výš, tak jsem přišel, že tomu vadil i přepínač -R.
$ mplayer /proc/<id_procesu>/ft/<cislo_souboru>
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.