GNU/Linux >> Belajar Linux >  >> Linux

Mengapa saya bisa memindahkan sesuatu ke /dev/null meskipun itu adalah perangkat semu yang diwakili oleh file?

Jika Anda akan mencoba memindahkan apa pun ke /dev/null di bawah pengguna biasa (bukan root), Anda akan mendapatkan Permission denied kesalahan karena mv something /dev/null sebenarnya mencoba menghapus /dev/null lalu pindahkan something ke /dev/null apa adalah.

Jika Anda akan mencoba melakukannya di bawah root, itu akan hapus /dev/null (lalu pindahkan file yang Anda sediakan di tempatnya)! Anda dapat memulihkannya dengan mem-boot ulang atau mengetik berikut ini di root shell (di Linux):mknod /dev/null c 1 3; chmod a+w /dev/null atau di BSD:mknod /dev/null c 3 2; chmod a+w /dev/null .


Saat Anda melakukan ini:

# mv oi /dev/null

Anda sebenarnya melakukan hal yang setara dengan yang berikut

# rm /dev/null
# mv oi /dev/null

Anda tidak bisa

# uname -sr
Linux 2.6.32-ARCH
# touch a
# mv a /dev/null
mv: inter-device move failed: `a' to `/dev/null'; unable to remove target: Permission denied

Linux
  1. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  2. Kapan Menggunakan /dev/random Vs /dev/urandom?

  3. Apa itu file /dev/zero dan /dev/null di Linux?

  1. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  2. gema atau cetak /dev/stdin /dev/stdout /dev/stderr

  3. Buat perangkat blok virtual yang menulis ke /dev/null

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  3. Apakah>&- Lebih Efisien Daripada>/dev/null?