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 badtestls가 badtest먼저 보고합니다.

ls가 파일 순서를 따를 수 있나요? 즉. 다음과 같은 출력

$ 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한꺼번에 부를 수는 없습니다 . 또한 오류는 버퍼링이 stdout과 다르게 작동하는 다른 스트림인 stderr에 출력된다는 점에 유의하세요.

또한 이는 -U비표준(GNU 확장)이며 ls인수로 제공된 파일을 나열하려는 경우 이 옵션이 필요하고 -d, 그렇지 않은 경우 해당 유형의 파일에 대해 이 옵션이 필요합니다.목차, ls해당 내용이 나열됩니다.

또는 ls각 파일에 대해 실행할 수 있습니다.

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

그러면 위의 모든 문제가 해결됩니다.

관련 정보