使用 ls 显示文件,但使用 dir 却不显示

使用 ls 显示文件,但使用 dir 却不显示

Windows 7的

我使用生成了一个pdf转PDF使用C:/Program Files/wkhtmltopdf/bin命令wkhtmltopdf http://google.co.uk google.pdf来测试一下。

但是,google.pdf在 Windows 资源管理器中不显示,运行中ls -l显示,但运行dir不显示...为什么文件会以这种方式不可见?

编辑

运行cat google.pdf将 pdf 打印到终端

我还发现我可以将文件复制到另一个目录 - 与在新目录中复制文件存在完全相同的问题。

查看权限ls -l-没有人有该 pdf 文件的执行权限。但我不知道这是否重要。这并不重要 - 我电脑上的其他 pdf 也有相同的权限集。

attrib google.pdfC:/Program Files/wkhtmltopdf/bin 中的结果

attrib google.pdf
File not found - google.pdf

ls -lC:/Program Files/wkhtmltopdf/bin 中的结果

total 64957
-rw-r--r--  1 Admin  Administ   305109 Jul  1 14:59 bbc.pdf
-rw-r--r--  1 Admin  Administ    30426 Jul  1 15:28 google.pdf
-rwxr-xr-x  1 Admin  Administ   489773 Jun 17 10:54 libgcc_s_sjlj-1.dll
-rwxr-xr-x  1 Admin  Administ  6762827 Jun 17 10:54 libstdc++-6.dll
-rwxr-xr-x  1 Admin  Administ   243109 Jun 17 10:54 libwinpthread-1.dll
-rwxr-xr-x  1 Admin  Administ 41729536 Jun 17 10:54 wkhtmltoimage.exe
-rwxr-xr-x  1 Admin  Administ 41827328 Jun 17 10:53 wkhtmltopdf.exe
-rwxr-xr-x  1 Admin  Administ 41639424 Jun 17 10:52 wkhtmltox.dll

答案1

假设属性设置正确(即文件未设置为“隐藏”或“系统”),这可能是非提升程序尝试写入的结果%程序文件%结构。

当未提升权限的程序尝试写入此目录结构时,它们最终将写入%LocalAppData%\VirtualStore.
例如,如果应用程序未提升程序尝试写信给C:\Program Files\Unelevated\file.txt,它实际上会写入C:\Users\Bob\AppData\Local\VirtualStore\Program Files\Unelevated\file.txt

其他应用程序也可能最终位于 VirtualStore 位置,具体取决于它们是如何被编译的

这可能是也可能不是在 MinGW 的更高版本中已修复

相关内容