ls 首先报告不存在的文件,忽略指定的顺序

ls 首先报告不存在的文件,忽略指定的顺序
$ ls -lU a.txt test.sh badtest
ls: cannot access 'badtest': No such file or directory
-rw-r--r-- 1 gqqnbig gqqnbig 11 Apr 15 17:17 a.txt
-rw-r--r-- 1 gqqnbig gqqnbig 11 Apr 16 17:22 test.sh

尽管参数的顺序是a.txt test.sh badtest,但 lsbadtest首先报告。

ls 是否可以遵循文件的顺序? IE。输出像

$ ls -lU a.txt test.sh badtest
-rw-r--r-- 1 gqqnbig gqqnbig 11 Apr 15 17:17 a.txt
-rw-r--r-- 1 gqqnbig gqqnbig 11 Apr 16 17:22 test.sh
ls: cannot access 'badtest': No such file or directory

答案1

你不能一次ls调用。另请注意,错误在不同的流 stderr 上输出,其中缓冲的工作方式与 stdout 不同。

另请注意,这-U是非标准的(GNU 扩展),如果您想ls列出作为参数给出的文件,则需要该-d选项,否则对于类型的文件目录ls将列出其内容。

或者,您可以ls在每个文件上运行:

for file in a.txt test.sh badtest
  ls -ld -- "$file"
done

这将解决上述所有问题。

相关内容