Files

如何使用命令行修剪文件?

  • March 3, 2018

以下 Python 程式碼的控制台等效項是什麼:

target = file("disk", "w")    # create a file
target.seek(2*1024*1024*1024) # skip to 2 GB
target.write("\0")
target.close()

也許一些 dd 咒語?這個想法是製作一個外觀大小為 2 GB 的文件,以用於例如虛擬化。

kvm disk -cd whatever.iso #Only allocate space as necessary

一般來說,只需使用dd; 但是當您提到使用 KVM 虛擬化時,您可能會考慮使用qemu-img

qemu-img create -f raw disk 2G

它的作用與ddChris Down 的答案中的命令相同,有效。

無論您使用什麼命令,在虛擬化中使用時,我都強烈建議您使用fallocate預分配塊以防止碎片並提高性能。

fallocate -l 2G disk

但是,它並非在所有平台和文件系統上都可用。這不會寫入零,而只是將塊分配給文件,而不是在以後每次必須擴展文件時按需執行。

您可以使用以下命令創建一個稀疏文件dd

dd of=file bs=1 seek=2G count=0
$ du file
0       disk
$ du --apparent-size file
2097152 disk

引用自:https://unix.stackexchange.com/questions/59009