/dev/null を消して慌てたことはないか

カワイイは作れる。 Linux/dev/null は消せる。

手元の CentOS6 で試してみた。

まずは消す前に状態の確認だ。

 

[root@centos61 ~]# file /dev/null
/dev/null: character special

[root@centos61 ~]# ls -la /dev/null
crw-rw-rw-. 1 root root 1, 3 7月 16 21:18 2018 /dev/null

[root@centos61 ~]# cat /dev/null

 

さあそれでは消してみようか。

 

[root@centos61 ~]# rm -f /dev/null
[root@centos61 ~]# ls -la /dev/null
ls: cannot access /dev/null: そのようなファイルやディレクトリはありません

 

サクッと消えたね。ここで /dev/null が有るツモリになって操作してみると面倒なことになるぞ。

 

[root@centos61 ~]# echo "aaa" > /dev/null
[root@centos61 ~]# cat /dev/null
aaa

[root@centos61 ~]# ls -la /dev/null
-rw-r--r--. 1 root root 4 9月 8 00:15 2018 /dev/null

[root@centos61 ~]# file /dev/null
/dev/null: ASCII text

 

うわー面倒なことに!これは目も当てられない。/dev/null/dev/null だと思って使っても /dev/null の働きをしてない!危ないのでもとに戻しましょう。

 

[root@centos61 ~]# rm -f /dev/null
[root@centos61 ~]# mknod -m 666 /dev/null c 1 3
[root@centos61 ~]# ls -la /dev/null
crw-rw-rw-. 1 root root 1, 3 9月 8 00:16 2018 /dev/null

[root@centos61 ~]# echo "aaa" > /dev/null
[root@centos61 ~]# cat /dev/null

 

きちんと /dev/null の働きをするようになりました。/dev/null はうっかり消せちゃって他の内容で作れちゃうので(/dev/nullの働きをしないようになっちゃうので)気をつけよう。