ls
의 결과는 *
입니까? 예 : ls | du -sh
은 현재 디렉토리의 전체 크기에 한 행만 표시합니다. du -sh *
은 현재 디렉토리에있는 각 파일 또는 subDir의 크기를 표시합니다.`ls` 작업은`*`와 어떻게 비교 되는가?
왜 결과가 같지 않습니까?
ls
의 결과는 *
입니까? 예 : ls | du -sh
은 현재 디렉토리의 전체 크기에 한 행만 표시합니다. du -sh *
은 현재 디렉토리에있는 각 파일 또는 subDir의 크기를 표시합니다.`ls` 작업은`*`와 어떻게 비교 되는가?
왜 결과가 같지 않습니까?
ls | du -sh
은 .
크기 만보고합니다. du
은 표준 입력에서 디렉토리 이름을 읽는 것을 지원하지 않기 때문입니다.
따라서 ls | du -sh
을 실행하면 만 실행되는 것과 동일한 결과가 나타납니다.
du -sh
stdin에서 읽지 않습니다. 따라서 whatever | du -sh
은 du -sh
과 같습니다.
du -sh *
그러나 du -sh file1.txt file2.txt file3.txt
으로 확장됩니다. 여기서 file1.txt, ...는 현재 디렉토리의 파일/디렉토리입니다.
곱하기 파일이 du -sh
으로 지정되면 출력에는 각 파일의 합계가 표시되고 du -sh
에는 현재 디렉토리의 합계 만 표시됩니다.
참고! 'ls'는''path/.config' "와 같은 디렉토리를 표시하지 않습니다." – Noproblem
@Noproblem'*'는'shopt -s dotglob'가 아니라면'.'로 시작하는 파일을 포함하도록 확장되지 않습니다. –