如果 ls -l 显示 则确定文件类型? (问号)

如果 ls -l 显示 则确定文件类型? (问号)

我收到问号,并且无法识别使用ls -l.文件类型始终显示为???.

你能在这里建议一个解决方案吗?

答案1

如果该行的第一个字符ls -l显示问号(?),则表示该文件类型不是系统识别的正常文件类型。该文件不是常规文件,不是目录,不是符号链接等。

当您挂载非本机文件系统(例如带有 Doors 的 Solaris 文件系统)时,可能会发生这种情况。在这种情况下,您可能无法通过打开文件来与该文件进行交互。

最常见的是,当文件系统损坏时会发生这种情况。在这种情况下,卸载文件系统并运行fsck。您可能丢失了一些数据。

没有选项可以ls显示编码文件类型的数值。如果你想显示数字文件类型,你可以使用诸如

strace -e lstat ls -ld the_file
strace -e lstat stat the_file
perl -e 'printf "0%o\n", (stat($ARGV[0]))[2]' the_file

知道这个数值通常没什么用处。

相关内容