我收到问号,并且无法识别使用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
知道这个数值通常没什么用处。