GNU/Linux >> Znalost Linux >  >> Linux

Proč mohu přesunout věci do /dev/null, přestože je to pseudozařízení reprezentované souborem?

Pokud se pokusíte něco přesunout do /dev/null pod prostým uživatelem (nikoli root), dostanete Permission denied chyba, protože mv something /dev/null se ve skutečnosti pokouší smazat /dev/null a poté přesuňte something na co /dev/null byl.

Pokud to zkusíte udělat pod rootem, bude odstranit /dev/null (a poté přesuňte vámi poskytnutý soubor na jeho místo)! Můžete jej obnovit restartováním nebo zadáním následujícího příkazu v kořenovém prostředí (v systému Linux):mknod /dev/null c 1 3; chmod a+w /dev/null nebo v BSD:mknod /dev/null c 3 2; chmod a+w /dev/null .


Když to uděláte:

# mv oi /dev/null

Ve skutečnosti děláte ekvivalent následujícího

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

Nemůžete

# 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. Kdy mám použít /dev/shm/ a kdy /tmp/?

  2. DD z /dev/zero do /dev/null...co se vlastně stane

  3. Proč dávat věci jiné než /home do samostatného oddílu?

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  3. Vytvořte virtuální blokové zařízení, které zapisuje do /dev/null

  1. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  2. Je>&- efektivnější než>/dev/null?

  3. Kdy použít /dev/random vs /dev/urandom?