다음에는 숨겨진 파일이 포함되지 않는 이유는 무엇입니까?
ls -a *vim*
돌아올 것이다
ls: cannot access '*vim*': No such file or directory
ls -a | grep vim
.vim
.vimrc
답변1
패턴 자체가 아닌 패턴과 일치하는 파일 이름을 찾는 것은 쉘입니다 ls
. 따라서 명령 앞에 점으로 시작하는 이름을 포함하거나 패턴에 점을 구체적으로 포함하도록 쉘에 지시해야 shopt -s dotglob
합니다 ls
: .*vim*
. 그러나 패턴이 디렉터리와 일치하면 ls
해당 내용이 나열됩니다( 이제 파일이 나열 -a
되므로 이것이 중요합니다 ). ls
이를 방지하려면 ls -d
.
답변2
숨겨진 파일을 구체적으로 찾고 있다면 점으로 시작하는 패턴을 사용하세요.
ls .*vim*
그러면 -a 플래그가 필요하지 않습니다.