Saya mencoba cat /dev/zero
, dan sepertinya tidak melakukan apa-apa. Saya googled /dev/zero
, dan katanya itu pada dasarnya file kosong dengan ukuran tak terbatas. Apakah cat
mencetak karakter yang tidak ada dalam jumlah tak terbatas? Bagaimana cara kerjanya? Bagaimana cara menyediakan data tanpa batas jika 0 byte? Apa kegunaan dari file ini, jika seseorang dapat membuat file kosong?
filesystems
tkbx
sumber
sumber
cat -v /dev/zero
untuk melihat apa yang dilakukannya. Lihat Batal ruang yang tidak terpakai dengan nol (ext3, ext4) untuk tujuan yang sama.cat foo > /dev/null
dancat foo > /dev/zero
adalah sama, namuncat /dev/null
dancat /dev/zero
tidak sama, yang benar?/dev/null
segera mengembalikan EOF jika suatu program ingin membacanya./dev/zero
mengembalikan tanpa batas 0-byte.Jawaban:
/dev/zero
adalah file khusus (dalam hal ini, perangkat pseudo) yang memberikan aliran karakter null tanpa akhir (jadi hex 0x00)? Itu sebabnya Andacat
tidak menghasilkan apa-apa (tapi coba jalankan melaluiod
(octal dump)).'file kosong dengan ukuran tak terbatas' tidak 100% benar: ini bukan file biasa, tetapi file khusus (lebih seperti 'stream' atau generator). Anda dapat membaca sebanyak mungkin dari yang Anda inginkan, misalnya dengan
dd
(sukadd if=/dev/zero of=yourfile count=1024 bs=1024
).Ini sebenarnya bukan file kosong , juga tidak digunakan untuk membuat file kosong: itu digunakan untuk membuat file atau halaman memori yang hanya diisi dengan angka nol. Anda juga dapat menulis kepadanya, membuatnya bekerja seperti sinkhole (saudara lelakinya yang lebih populer
/dev/null
lebih sering digunakan untuk ini).sumber
srm
manual atau sumbernya, tetapi kebanyakan 'penghapus aman' lebih suka menulis (pseudo-) data acak daripada mem-zero-ing drive, karena satu pass dari zero-ing tidak cukup aman (agen tiga huruf tertentu) masih dapat mengurangi konten asli dari harddisk yang memusatkan perhatian, karena masing-masing bit tidak 100% benar-benar 1 atau 0, tetapi hanya "kebanyakan 1" atau "kebanyakan 0". Bandingkan dengan tuas yang dapat Anda tempatkan "ke kiri" "atau" sepanjang jalan yang benar ", tetapi biasanya hanya ayunan ke sisi lain sudah cukup.dd
partisi Anda mungkin ingin mengisi semua ruang kosong ke 0 daripada acak untuk mendapatkan file terkompresi yang lebih kecil nanti.