리눅스에서 원하는 파일을 찾고 싶을때, find 명령어를 이용하여 찾을 수 있다.
일을 하다보니 필요하지 않을 수 없었다.
주로 찾고자 하는 이름을 가진 모듈이 어느 폴더에 있는지 알고 싶을 때 자주 쓴다.
1) 파일 찾기
- find ./ -name "xxx.db"
- 현재 폴더부터 하위 폴더를 포함하여 xxx.db라는 파일을 찾아라는 명령
- find ./ -name "xxx" -type d
- xxx라는 디렉토리를 찾고 싶은 경우 위와 같이 -type d 옵션을 추가한다.
2) 파일 내부 문자열 찾기
큰 파일들은 상당히 많은 내용이 적혀 있기 때문에 일일이 찾으면 시간도 걸리고 실수도 할 수 있으니 grep 명령을 이용하여 어딘가에 있는 특정한 문자열이 포함된 줄을 찾을 수 있다.
- grep -r "xxx" ./*
- 현재 폴더부터 하위 폴더에 있는 모든 파일에서 xxx라는 문자열 패턴을 찾아라는 명령
grep -v abc list.txt (찾는 패턴이 일치하지 않는 줄만 출력)
grep -n abc list.txt (찾는 패턴과 일치하는 내용이 발견되는 줄 번호 출력)
터미널에 파일 위치에 대한 결과가 나오기 때문에 Vim에서 보고 싶어서 redirect 명령을 활용하여 같이 사용하게 된다.
find ./ -name cmu.v > ../cmu_path.list
이걸 몰랐으면 일일이 모든 디렉토리를 뒤져서 찾으려고 했을 것이다.