![Gzip 文件而不更改 inode](https://linux22.com/image/97730/Gzip%20%E6%96%87%E4%BB%B6%E8%80%8C%E4%B8%8D%E6%9B%B4%E6%94%B9%20inode%20.png)
我想知道如何在不更改压缩文件的 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