스크립트에서 inotifywait를 사용하고 있는데 숨겨진 파일을 감시하지 않도록 제외할 수 있는 방법이 있는지 궁금합니다.
숨겨진 파일을 제외하는 정규식 패턴을 알아낼 수 없는 것 같습니다.
답변1
.
점( )으로 시작하는 파일 이름을 언급하고 있다고 가정합니다. 이를 무시해도 됩니다. 문제 inotifywait --exclude
는 패턴이 파일의 전체 경로와 일치하는 것 같으므로 이를 고려해야 한다는 것입니다.
inotifywait
따라서 디렉터리를 제공 foo
하고 bar
모니터링하면 패턴이 파일 이름과 일치합니다(예 foo/something
: bar/somethingelse
. 정규식과 마찬가지로 이스케이프 포인트가 필요합니다.
이는 도트 파일을 제외하고 현재 디렉터리의 모든 생성을 감시해야 합니다(정규식이므로 도트를 이스케이프해야 합니다).
inotifywait -ecreate -m --exclude '^\./\.' .
또는 더 구체적으로 슬래시와 점의 조합을 찾아 모든 디렉터리에서 점 파일을 제외합니다.
inotifywait -ecreate -m --exclude '/\.' foo bar
물론, 경로의 일부 부분에 점이 있는 디렉토리를 보는 경우에는 작동하지 않습니다. 해당 경로의 모든 항목과 일치합니다.