为什么 tar . 可以看到隐藏文件,但是 ls . 却看不到?

为什么 tar . 可以看到隐藏文件,但是 ls . 却看不到?

为什么要tar cvpfz /tmp/backup.tgz .备份隐藏文件?

(注意ls .看不到隐藏文件。琐事:有办法查看隐藏文件,例如使用,ls -a但这只是琐事。问题涉及在可能预期类似行为时行为的差异。)

答案1

快速回答:用来ls -a查看“隐藏”文件。

长话短说:UNIX/Linux 中没有“隐藏”文件这种东西,因为 Linux 内核不会以任何特殊方式标记“隐藏”文件(例如,与 Windows 所做的相反)。

然而习俗以点字符开头的文件名.不是显示经过ls除非用户明确要求(因此,选择此-a选项)。由于这是程序采用的惯例ls(UNIX 中存在的第一批命令之一),因此其他文件显示实用程序也遵循了这一惯例,例如 Nautilus 和图形文件选择对话框。

另一方面,由于它只是显示文件的约定,因此它不会影响其他文件操作命令,如tar

答案2

ls(短列表)不显示隐藏文件。
ll(长列表,通常是shell 别名ls -alF) 做。

相关内容