ls -A는 무엇을 합니까?

ls -A는 무엇을 합니까?

ls -A는 무엇을 합니까? 이 쉘 스크립트를 찾았지만 ls -A가 무엇을 하는지 모르겠습니다. 지시사항에는 그렇게 나와 있지만 ls -A == do not list implied . and ..그게 무슨 뜻인지 이해가 되지 않습니다.

dir=./$1
if [[ -z $(ls -A $dir) ]]

답변1

ls점으로 시작하는 파일 이름은 일반적으로 인쇄되지 않습니다. 이는 에 해당되지만 모든 디렉토리에 존재하는 및 -a가 포함되므로 별로 흥미롭지 않습니다. 이 두 가지를 제외한 모든 것을 인쇄하는 데 사용하십시오 ....-A

$ touch normal .hidden
$ ls
normal
$ ls -a
./  ../  .hidden  normal
$ ls -A
.hidden  normal

if 문에서 명령은 $( .. )캡처된 출력을 ls바꾸고 [[ -z ... ]]빈 문자열인지 테스트합니다. 즉, 디렉터리에 파일이 없습니다.

일반적으로 ls출력을 읽는 것은 좋은 생각이 아니며, 셸에서 파일을 반복하려면 를 사용할 수 있습니다 *. 그러나 여기서는 주어진 디렉터리 이름에 공백(또는 파일 전역 문자), 명령줄에서 확장되어 ls결과가 엉망이 될 수 있습니다.

바라보다:

관련 정보