Portál AbcLinuxu, 6. května 2025 23:04
Řešení dotazu:
> soubor
a ani jako nemusíš hnout prstíkem z levýho altu!!!! jeom to dělá vedlejší škody :D :D :D :D
>*
pravýho teda :'(
jak jako uděláš šiftem zobáček doprava?? to nejde ne??
hlavně mě teda jako štve že je tam prohozený 'y' a 'z' tak mam českou no a naši tajnou abecedou pišu pravým altem ;D
> file
dd if=/dev/null of=file
. Nerýpu, ptám se, fakt mne to zajímá...
dd
provede truncate
(pokud není uveden notrunc
option) a potom tam naláduje nekonečně nul. Takže toto by ti bez dalších parametrů (třeba jako bs
a count
, tedy omezení velikosti) ten soubor nejdřív zkrátilo na nulu (totéž jako truncate
, >
) a vytvořilo soubor plný nul a zaplnilo by to celé prázdné místo na fs.
Jinými slovy, toto není přepis původního souboru, pokud se explicitně neuvede notrunc
!
Mimochodem, zajímavý rozdíl mezi FreeBSD a Debianem:
FBSD man dd:
of=file Write output to file instead of the standard output. Any regular output file is truncated unless the notrunc conversion value is specified. If an initial portion of the output file is seeked past (see the oseek operand), the output file is truncated at that point. conv=value[,value ...] Where value is one of the symbols from the following list. notrunc Do not truncate the output file. This will preserve any blocks in the output file not explicitly written by dd. The notrunc value is not supported for tapes.Debian man dd:
of=FILE write to FILE instead of stdout notrunc do not truncate the output file
Nebo je mozne ze se novy obsah zapise i na jinou cast disku (popr. flash pameti), nez byl puvodni obsah, takze stary obsah muze byt z vetsi casti stale citelny?Ano, toto je nejen možné, ale taky zcela běžné. Při běžném mazání (jakýmkoliv způsobem) si jen FS poznamená, že tento blok je prázdný, ale nijak jej nepřepisuje. Tj obsah toho bloku na disku je původní. Při zápisu nových dat na disk se alokátor rozhoduje, kam, na které volné bloky, nová data zapíše a toto je zcela nezávislé na tom, kde dříve měl daný soubor své bloky (to už FS ani neví, FS má jen tabulku volných bloků). Takže programy jako testdisk / photorec dokáží poznat data na disku podle jejich obsahu a dokáží tak vytáhnout i "smazaná" data (pochopitelně to má mnoho předpokladů, ta data musejí být na disku uložena souvisle - defragmentována, apod.), ale jak na potvoru se může stát, že zrovna vaše tajná data půjdou vytáhnout i třeba po půl roce.
>
, ale obecně je problematika vymazání dat z disku velmi složitá a rady od stolu typu shred jsou takové ne moc užitečné. Pokud je to klasický FS na klasickém disku, tak ano, přepsání skutečně způsobí "fyzický" přepis na plotně. Pokud je to SSD, tak se přepsání provede na jiné bloky a ty původní čekají na trim (podle firmware ssdčka). Pokud je to COW FS, tak přepsání vytvoří nové bloky a ty původní bloky obsahující data čekají na gc daného fs a případně ještě na trim od firmware disku, pokud je to ssd nebo virtuálka s thin provision disky (viz skvělý seriál teď v blozích).
Skutečně smazat data je prostě složitější a s uživatelského hlediska je > nebo truncate (nebo rm a vytvoření nového souboru) prakticky totéž (ano, nový soubor bude mít nové číslo inode).
kde se autor chtěl jen pochlubitAle fuj, slo me o to jak budete rychly a jestli uvedete vic moznosti se stejnym vysledkem. Respekt k vasim znalostem
>
neslouží primárně k výmazu obsahu souboru, ale k přesměrování výstupu. program > soubor
přesměruje stdout do souboru, místo na terminál. Samostatná konstrukce >
je jen vedlejší produkt, přesměruje nic na soubor, tj vytvoří jej, nic nezapíše. Stávající soubor přepíše. Konstrukce program >> soubor
do souboru data připisuje. Na konec. Pokud soubor neexistuje, vytvoří jej. Hodí se to na velmi jednoduchý log nějakého programu (třeba volaného z cronu
).
Je otázka, zda by se to mělo používat na zkrácení souborů. Přiznám se, já to používám také, na řádce, ale ve skriptech a programech je lépe být explicitní a použít třeba program truncate
, nebo fallocate
, nebo jen touch
, podle toho, čeho se má dosáhnout. Je to mnohem lépe čitelné.
dotklojen nepochopeni meho umyslu
přesměruje nic na soubor, tj vytvoří jej, nic nezapíše.Neco se nekde prece jen zmenit musi, neco kde kazdy program ktery cte soubor pozna ze z pohledu OS je prazdny.
Neco se nekde prece jen zmenit musi, neco kde kazdy program ktery cte soubor pozna ze z pohledu OS je prazdny.Tak velikost souboru je součástí jeho metadat, takže každý program pozná, že soubor je prázdný.
seriál teď v blozíchAle no tak. To je len vyplnenie kratochvíle kým si nájdem prácu. Aby som nezdivočel pri konzumovaní multimédií. A ani to nie je moja pracovná parketa, v posledných päťročniciach som robil zálohovacie systémy. Len mám čas prejsť si veci ktoré ma bavia, teraz keď už stíham preniknúť popri koníčkoch aj do pridruženej sféry.
Co mě teda hrozně mrzí a odrazuje mě to od diskutování, jsou ty narážky na slovenčinu. Chápu, že spousta z nich je trollingJen trolling, Greeta,_(vetsinou),dvojtew,.. jsou profily pogramatora Amigy aka Honza Xxxx. Casto si sam odpovida ;D
to teda jako nene!!!! :'(
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.