GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi puis-je déplacer des éléments vers /dev/null alors qu'il s'agit d'un pseudo-périphérique représenté par un fichier ?

Si vous essayez de déplacer quoi que ce soit vers /dev/null sous un utilisateur ordinaire (pas root), vous obtiendrez un Permission denied erreur car mv something /dev/null essaie en fait de supprimer /dev/null puis déplacez something à quoi /dev/null était.

Si vous essayez de le faire sous root, cela sera supprimer /dev/null (puis déplacez le fichier fourni par vous à sa place) ! Vous pouvez le restaurer en redémarrant ou en tapant ce qui suit dans un shell racine (sous Linux) :mknod /dev/null c 1 3; chmod a+w /dev/null ou en BSD :mknod /dev/null c 3 2; chmod a+w /dev/null .


Lorsque vous faites ceci :

# mv oi /dev/null

Vous faites en fait l'équivalent de ce qui suit

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

Vous ne pouvez pas

# 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. Que sont les fichiers /dev/zero et /dev/null sous Linux

  2. DD de /dev/zero à /dev/null...ce qui se passe réellement

  3. Pourquoi le contenu de /dev/shm/ est-il supprimé automatiquement

  4. /dev/sdb :aucun fichier ou répertoire de ce type (mais /dev/sdb1, etc. existe)

  5. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

Pourquoi /dev/null est-il un fichier ? Pourquoi sa fonction n'est-elle pas implémentée comme un programme simple ?

/dev/null sous Linux

Pourquoi je ne peux pas créer de lien physique à partir d'un fichier de périphérique dans un répertoire autre que /dev ?

Pourquoi < ou > sont-ils nécessaires pour utiliser /dev/tcp