Linux内核如何处理隐藏文件?
“隐藏文件”是名称前缀为.
的文件,例如, /home/pxf/.xxx
。 .xxx
是一个不可见的文件,'ls'不会列出它。Linux内核如何处理隐藏文件?
是否有“隐藏文件”的概念在Linux内核上?我的意思是“常规文件”和“隐藏文件”之间有区别吗?
或者只是这是一个传统的规则,一个前缀为.
的文件将不会被默认显示,如ls
。 (除了-a
选项)?
参见维基百科:Hidden file and hidden directory
他们是不是一种安全机制,因为访问没有限制 - 通常的意图,根本就不是“混乱”的目录中的内容与用户没有文件列表显示直接创建。
这只是一个方便的约定,应用程序可能会或可能不会观察。内核不执行这些文件的不可见性。
因此,环境变量'PATH'也是shell搜索可执行文件的**约定**吗? – TanakaYasen
@TanakaYasen:是的,特别是有些shell(或类似shell的程序),其中路径变量是不同的名称。这也是使用诸如'cron'之类的东西给人们带来许多惊喜的原因,因为有些软件直接执行命令字符串而不调用子shell(这可能是因为C具有execve功能) – slebetman
@slebetman'cron'不直接执行命令。它调用一个执行命令的shell。 'cron'通常意想不到的是'PATH'不是从用户的rc文件中读取的;它被设置为最小值。至于C函数,有'execlp','execvp'和'execvpe',它们在'PATH'环境变量中搜索可执行文件。这些不是系统调用(内核函数)。 – xhienne
不,没有什么特别的。它基本上是软件的一个“暗示”,除非用户请求它才显示它,但它没有任何区别。所以你问题中的最后一句话是正确的。 – Iskar
Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布关于Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww
从历史上看,它开始是'ls'中的一个错误,因为人们开始使用它作为一项功能。相反,'ls'获得'-a'标志 – slebetman