对于特殊/设备文件, Cfsize
函数返回 4096,但是是否有一个集成函数可以知道设备文件的实际大小(如果它是有限的)?
我还想知道是否有办法知道文件是常规文件还是设备文件?
谢谢 !
答案1
您的问题仍然相当不具体和广泛,对于不具体的问题,您会得到不具体的答案,这可能有帮助,也可能没有帮助。仍然尝试为您指出正确的方向。
我还想知道是否有办法知道文件是常规文件还是设备文件?
当然。最常见的是以下输出ls -l
:
$ ls -l /dev
total 0
crw-rw----+ 1 root audio 14, 4 Jan 5 00:44 audio
crw------- 1 root root 10, 235 Jan 5 00:44 autofs
drwxr-xr-x 2 root root 480 Jan 17 01:20 block
drwxr-xr-x 2 root root 140 Jan 17 01:20 bsg
drwxr-xr-x 3 root root 60 Jan 5 00:44 bus
lrwxrwxrwx 1 root root 3 Jan 17 22:14 cdrom -> sr0
[...]
每个输入行的第一个字符显示文件类型;您可以在中找到有效类型的列表ls
手动的。
当您询问 中的条目时/dev
,除了目录和链接之外,最常见的类型是字符设备和块设备。
是否有一个集成函数可以知道设备文件的实际大小
正如我已经指出的,“实际大小”的意思是设备“中”可用的内容的大小,其中的特殊文件/dev
只是系统可以访问它们的一种表示。
“如何获得尺寸”的答案是“取决于内容”。例如对于磁盘分区(一种块设备),您通常会挂载它并可以使用以下命令获取大小(总空间、已占用空间、可用空间)df
。另一方面,并非所有块设备都可以安装。
在不知道您到底想要实现什么的情况下,这就是您到目前为止所能得到的一切。现在由你来思考,搜索网络(一切都在那里),如果你自己无法弄清楚,则可以创建一个新问题。