unix 上的常规文件是什么

问题描述 投票:0回答:4

我看到了

test
的手册页。

下面提到了。

-e  pathname
    True if pathname resolves to a file that exists. False if pathname cannot be resolved.
-f  pathname
    True if pathname resolves to a file that exists and is a regular file. False if pathname cannot be resolved, or if pathname resolves to a file that exists but is not a regular file.

-f
旗帜上写着 如果路径名解析为存在且是常规文件的文件,则为 True 谁能告诉我什么是常规文件,什么不是常规文件。

file unix manpage
4个回答
11
投票

非常规文件是设备、管道、套接字......例如,尝试

[ -f /dev/tty0 ]
。符号链接也是不规则的,但它们由 test -f
解决了


10
投票

它们是文本或二进制数据,称为“常规文件”,以区别于目录、符号链接、套接字等其他类型。

看看 http://en.wikipedia.org/wiki/Unix_file_types


3
投票

它不是目录、设备文件、块设备、FIFO 或套接字。如果你执行 ls -l。以“-”开头的是文件。实际上大多数人只是将其称为文件。


0
投票

我不会假装给出一个很好的解释,只是尝试给出一些味道。

我想说,最好通过其用途来理解“常规”文件是什么。我将尝试定义它:常规文件的目的是存储一些可由某些用户空间程序使用的信息。常规文件是某些用户空间程序的后端存储。即文本编辑器、图像查看器、mp3 播放器、视频播放器从常规文件中读取 并写入常规文件。

非常规文件具有完全不同的用途。 例如块类型文件或字符类型文件是网关 用户空间程序和物理设备之间(通过内核)。

命名管道文件是两个独立进程(IPC)之间通信的一种方法。

Socket文件是进程之间的通信网关 在这台计算机上工作并在另一台计算机上工作。 (通过内核、网卡等)

符号链接文件通常是目录A中指向目录B中某个文件或目录的指针。

所以常规文件是一些用户程序的字节存储 像 MP3 播放器、文本编辑器、视频播放器。当我们想阅读一本书时,我们通过文本编辑器打开常规文件。而非常规文件通常是进程之间或用户空间程序与某些物理设备之间通信的网关。

我想说普通文件就像一辆装满书籍的卡车。而非常规文件就像通过手机打电话一样。卡车里其实有书。而手机里面什么也没有。我的意思是,当您听到朋友的声音时,并不意味着该朋友实际上就在手机内。手机里面什么也没有。它只是与某个地方的某人进行交流。如果你拆开手机,你就找不到里面的朋友。然而,如果你拆开卡车,你会发现里面有真正的书。

普通文件就像一个装有美元钞票的盒子。而非常规文件就像信用卡或支票。

© www.soinside.com 2019 - 2024. All rights reserved.