トップ «前の日記(2008-01-08(Tue)) 最新 次の日記(2008-01-10(Thu))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2008-01-09(Wed) へんだ

truncate再考

FreeBSD-6.2-Release-p9。

$ truncate -s +1048576 1MB.txt
$ cp 1MB.txt n1MB.txt
$ ls -l 1MB.txt n1MB.txt 
-rw-r--r--  1 user staff 1048576  1  9 19:36 1MB.txt
-rw-r--r--  1 user staff 1048576  1  9 19:36 n1MB.txt
$ du -h 1MB.txt n1MB.txt 
 32K    1MB.txt
1.0M    n1MB.txt
$ md5 1MB.txt n1MB.txt 
MD5 (1MB.txt)  = b6d81b360a5672d80c27430f39153e2c
MD5 (n1MB.txt) = b6d81b360a5672d80c27430f39153e2c

truncate(1)で新規作成したファイルが、その大きさとは 限らない。ディスクサイズに関係ない数字を割り当てることが できる。
でも、そのファイルをcp(1)などでコピーすると、それだけディスクを 分取ってしまう。ネットワークで転送しても同様。

ハッシュ値は変らないんだけど(sha256も試した)...
これってなんかヤバげな気もする。

$ uuencode n1MB.txt n1MB.txt | cat -n
     1  begin 644 1MB.txt
     2  M````````````````````````````````````````````````````````````
     3  M````````````````````````````````````````````````````````````
(ry
 23303  ?````````````````````````````````````````````
 23304  `
 23305  end

uuencodeの結果も同じだった。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。