Linux下有几种文件

74次阅读
没有评论

共计 1778 个字符,预计需要花费 5 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 Linux 下有几种文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

我们都知道 Linux 下一切皆文件,主要有:

– 普通文件

d 目录

l 符号链接

s 套接字

b 块设备

c 字符设备

p 管道

这么几种文件。

这里的前缀字符可以通过 ls 命令观察到:

$ ls -l test.log -rw-r--r-- 1 root root 33 Nov 17 17:03 test.log

它的结果最前面是 -,因此它是普通文件。

$ ls -al /dev/null crw-rw-rw- 1 root root 1, 3 Sep 11 20:33 /dev/null

它的结果最前面是 c,因此它是字符设备。文件简单介绍几种字符设备文件,它能在我们功能测试的时候提供很好的帮助。

/dev/null

/dev/null 可无限接收数据,你可以认为是一个黑洞,因此如果我们需要丢弃某些终端输出,可以重定向到这里:

$ echo  shouwangxiansheng    /dev/null

所以如果你有不需要的数据可以尽情的往这里写。

/dev/full

它在读取时会读取到连续的 NUL(零值)字节流,而在写入的时候,会返回磁盘空间已满的结果,后者在测试你的程序的时候会有帮助,即测试磁盘满的场景:

$ echo  bianchengzhuji    /dev/full -bash: echo: write error: No space left on device

/dev/zero

和 /dev/null 类似,向其中写入时会丢弃所有数据,但是读取时,会产生 NUL(零值)字节流。

$ cat /dev/zero |od -x 0000000 0000 0000 0000 0000 0000 0000 0000 0000

/dev/random

/dev/random 可以提供随机数据流,它保证数据的随机性,但是读取时会造成等待,例如:

$ cat /dev/random | od -x 0000000 2b07 daac 42f4 e1fd fb62 2098 870e e0af 0000020 3022 2099 e5da 4e1c d6db 548b a979 1217 0000040 3777 bb6a 957d 1279 ab29 e8a4 6a36 ecca 0000060 39ec 2285 126c 30ea ea67 1526 5e4a 2dd9

稍过会才会出现数据,为了便于查看,我们利用 od 命令查看其十六进制内容。

/dev/urandom

从名字就可以看出来,是用来产生随机数据的。它的产生速度很快,但是数据的随机性不如 /dev/random

cat /dev/urandom | od -x 0547560 f43e 696a 8936 2b27 36c8 4446 2802 1d47 0547600 b8af 249d aae9 edbf 8971 b1d1 0c73 3e2d 0547620 237b 9a81 6348 cb2a 1972 4486 028a 3573 0547640 1690 c388 64e1 aec1 d5f4 1964 bbb9 192f 0547660 f242 7194 51ba 62a3 fc13 ff53 fb50 e3d8 0547700 ef32 3658 b335 75ee 62de 4096 6468 c979 0547720 01b9 c233 878d 12fc 5cfa 5691 89e1 e1f9

/dev/pts

/dev/pts 是远程登陆 (telnet,ssh 等) 后创建的控制台设备文件所在的目录。有什么用呢? 举个例子,你打开一个终端,获取到当前的 pts:

$ tty /dev/pts/0

然后你又打开一个,输入:

$ echo  hahahaha /dev/pts/0

你就会发现内容被打印到前面一个终端了。通常我们运行一个程序,其 printf 的打印都会打印在当前终端。

以上是“Linux 下有几种文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1778字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)