GNU/Linux >> Linux の 問題 >  >> Linux

ファイルによって表される疑似デバイスであるにもかかわらず、/dev/null に移動できるのはなぜですか?

通常のユーザー (root ではない) の下で /dev/null に何かを移動しようとすると、Permission denied が返されます。 mv something /dev/null によるエラー 実際に /dev/null を削除しようとしています something を移動します 何 /dev/null

root の下で行おうとすると、できます/dev/null を削除 (そして、あなたが提供したファイルをその場所に移動します)!再起動するか、root シェル (Linux の場合) で次のように入力することで復元できます:mknod /dev/null c 1 3; chmod a+w /dev/null または BSD:mknod /dev/null c 3 2; chmod a+w /dev/null .


これを行う場合:

# mv oi /dev/null

あなたは実際に次のことと同等のことをしています

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

できません

# 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. Linux:/ dev / console、/ dev / tty、/ dev / tty0の違いは?

  2. >&-は> / dev / nullよりも効率的ですか?

  3. Linux の /dev/zero および /dev/null ファイルとは

  1. /dev/zero から /dev/null への DD ...実際に何が起こるか

  2. /dev/sdb:そのようなファイルやディレクトリはありません (ただし /dev/sdb1 などは存在します)

  3. Linux:/dev/console 、 /dev/tty 、 /dev/tty0 の違い

  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. / dev / stdin、/ dev / stdout、および/ dev / stderrはどの程度移植可能ですか?

  3. /dev/null に書き込む仮想ブロック デバイスを作成します。