ls -l *
예를 들어 모든 디렉토리의 내용을 인쇄하는 것이 가능합니까 ? 예를 test.cpp
들어 test.cpp
.
답변1
활성화 한 경우 glob을 사용하여 이를 수행할 수 있습니다 extglob
. 다음을 사용하여 활성화할 수 있습니다.
shopt -s extglob
그리고 다음과 같이 사용할 수 있습니다:
ls -l !(test.cpp)
다른 방법으로도 사용할 수 있습니다.
ls -l !(*.jpg) # list all files that don't have .jpg extensions
이것은 쉘 글로브이므로 다른 명령과 함께 사용할 수도 있습니다. 그러나 한 가지 부작용은 모든 하위 디렉터리가 명시적으로 나열된다는 것입니다. 즉, 하위 디렉터리 ls
도 나열된다는 의미입니다. 하지만 다음을 사용하면 쉽게 처리할 수 있습니다.
ls -ld !(test.cpp)
답변2
이를 수행하는 고전적인(순진한?) 방법은 다음과 같습니다.
ls -l * | grep -v test.cpp
그러나 Lamar가 언급한 것처럼 GNU에는 ls
특정 파일 이름을 무시할 수 있는 옵션이 있습니다.
ls -l -I test.cpp *
참고는 ls -l *
현재 디렉터리의 파일을 나열합니다.및 첫 번째 수준 하위 디렉터리의 파일. 당신 ls -l
은*