GNU/Linux >> Belajar Linux >  >> Linux

Apa perbedaan antara `fallocate --dig-holes` dan `fallocate --punch-hole` di Linux?

Singkatnya:

  • --dig-holes membuat file jarang tanpa mengubah isinya (seperti yang terlihat oleh program yang membacanya).
  • --punch-hole membuat lubang di file, kemungkinan mengubah data yang ada.

Perbedaannya adalah --dig-holes menganalisis file untuk area yang dapat dibuat jarang (menggunakan --offset dan --length , jika disediakan, untuk menunjukkan rentang dalam file yang akan dianalisis), sedangkan --punch-holes menggunakan --offset dan --length untuk benar-benar meniadakan bagian dari file untuk membuat lubang.

Perhatikan juga "lubang gali" jamak vs. "lubang lubang" tunggal.

Dari manual, mengenai --dig-holes :

Anda dapat menganggap opsi ini melakukan cp --sparse dan kemudian mengganti nama file tujuan ke aslinya, tanpa perlu ruang disk tambahan.


--dig-holes tidak mengubah konten file, seperti yang ditentukan saat file dibaca:ini hanya mengidentifikasi angka nol yang dapat diganti dengan lubang.

--punch-hole menggunakan --offset dan --length argumen untuk melubangi file, apa pun isi file pada offset itu:ini berfungsi bahkan jika file berisi bukan nol di sana, tetapi konten file berubah hasil dari. Mempertimbangkan file contoh Anda, jalankan fallocate --punch-hole --offset 2 --length 10 akan menggantikan sepuluh a karakter dengan nol, dimulai setelah yang kedua.


Linux
  1. Apa perbedaan antara env dan set (di Mac OS X atau Linux)?

  2. Apa perbedaan antara buffer dan memori cache di Linux?

  3. Apa perbedaan antara menulis ke file dan memori yang dipetakan?

  1. Apa perbedaan antara driver platform Linux dan driver perangkat biasa?

  2. Apa perbedaan antara ls dan l?

  3. Apa perbedaan antara Unix, Linux, BSD dan GNU?

  1. Apa perbedaan antara InnoDB dan MyISAM?

  2. Perbedaan Antara .exrc Dan .vimrc?

  3. Apa perbedaan antara perintah locate dan find di Linux?