【linux】/dev/null作用和/dev/random

   一.  /dev/null


 

      /dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容。

我们用file命令查看下,说明类型是字符特殊文件。

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

尝试读取

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

什么也读取不到,就像一个黑洞一样。

所以我们一般会把/dev/null当成一个垃圾站,不要的东西丢进去。比如来清除文件中的内容。

示例:

[root@localhost oa]# ls >> a.txt
[root@localhost oa]# cat a.txt
a.txt
passwd
time.sh
[root@localhost oa]# cat /dev/null > a.txt
[root@localhost oa]# cat a.txt

 

也可以把一个文件内容读到/dev/null里面。不过当文件不存在的时候回报错。我们可以在前面加上数字2。

[root@localhost oa]# cat test.txt   >/dev/null
cat: test.txt: 没有那个文件或目录
[root@localhost oa]# cat test.txt   2>/dev/null

 

一般标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。 这个数字代表的是标准输出。

    0:表示标准输入流(stdin),

    1:表示标准输出(stdout)。

    2:表示标准错误输出(stderr)

   上面就是将标准错误( 2 )输出重定向到/dev/null,所以屏幕上不会再显示错误提示了。

 

二./dev/random


 

    /dev/random也是一个特殊文件,是用于产生随机数据流的。

   我们使用cat 命令可以读取/dev/random,由于返回的是二进制数据流,可以用od命令将其转换为十六进制后查看。

不过这个过程比较缓慢,可以使用/dev/urandom来代替:

 

posted @ 2018-05-06 13:50  songguojun  阅读(13780)  评论(0编辑  收藏  举报