Gzip 檔案而不更改 inode

Gzip 檔案而不更改 inode

我想知道如何在不更改壓縮檔案的 i 節點的情況下對檔案進行 gzip 壓縮。

答案1

將其壓縮到另一個檔案中,然後將內容複製到原始檔案上。

$ file=testfile1
$ ls -li $file
6630 -rw-r--r-- 1 foo foo 2075323 Nov  1 21:22 testfile1
$ gzip -c < $file > $file.tmp
$ cp $file.tmp $file
$ rm $file.tmp
$ mv $file $file.gz
$ ls -li $file.gz
6630 -rw-r--r-- 1 foo foo 8189 Nov  1 21:23 testfile1.gz

答案2

cp file /dev/shm ; cat /dev/shm/file | gzip > file ; rm /dev/shm/file

相關內容