일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MongoDB
- 명령어
- DBMS
- API
- 차이점
- docker
- SQL
- 자바
- 티스토리챌린지
- group by
- Python
- java
- 오블완
- PostgreSQL
- git
- 리눅스
- spring
- 트랜잭션
- mysql
- analytics4
- IntelliJ
- JPA
- network
- top
- Javascript
- rsync
- mssql
- Linux
- MariaDB
- oracle
- Today
- Total
hanker
Linux - 서버 내 파일 및 디렉터리 찾기 (find 명령어) 본문
서버 내에 무언가 설치를 했는데 대체 이 파일이 어디있는건지, 환경 설정해주는 파일은 어디로 갔는지..
File/Directory 찾는 방법에 대해서 알아보자
find 명령어
find 명령어 역할
find 명령어는 리눅스에서 파일 및 디렉터리를 검색하는 매우 유용한 도구이다.
다양한 옵션과 함께 사용하여 파일의 이름, 타입, 생성 날짜, 소유자, 크기 등을 기준으로 파일을 찾을 때 사용한다.
사용방법
find [경로] [조건]
- 경로: 검색할 디렉터리의 경로를 지정 (생략가능 : 생략하면 현재 디렉터리에서 검색)
- 조건: 파일 이름, 유형, 크기, 소유자 등의 검색 조건을 지정
1. 파일 이름으로 검색
- 파일 이름을 기준으로 검색할 때는 -name 또는 -iname 옵션을 사용 (iname은 대소문자를 구분하지 않는다)
▷ name : 대소문자 구분 O
▷ iname : 대소문자 구분 X
find -name "파일명"
find -iname "파일명"
2. 파일 유형으로 검색
파일의 유형을 기준으로 검색할 수 있다.
-type 옵션을 사용한다.
▷ f : 파일
▷ d : 디렉터리
▷ l : 심볼릭링크
find ./ -type f # 현재 경로에서 파일 찾기
find ./ -type d # 현재 경로에서 디렉터리 찾기
find ./ -type l # 현재 경로에서 심볼릭링크 찾기
3. 크기로 검색
파일의 크기를 기준으로 검색할 때는 -size 옵션을 사용한다.
크기의 단위를 함께 지정해야 한다.
▷ c : 바이트
▷ k : 킬로바이트
▷ M : 메가바이트
▷ G : 기가바이트
find ./ -size +500k # 현재 경로에서 파일크기가 500KB보다 큰 파일 검색
find ./ -size -500k # 현재 경로에서 파일크기가 500KB보다 작은 파일 검색
4. 날짜 기준 검색
파일이 생성되거나 수정된 날짜를 기준으로 검색할 수 있다.
▷ -mtime: 마지막으로 수정된 지 몇 일 지났는지 기준으로 검색 (n일 전)
▷ -atime: 마지막으로 접근한 지 몇 일 지났는지 기준으로 검색
▷ -ctime: 마지막으로 변경된 지 몇 일 지났는지 기준으로 검색
find ./ -mtime -3 # 현재 경로에서 3일 이내 수정된 파일 검색
find ./ -atime +1 # 현재 경로에서 1일 이상 접근하지 않은 파일 검색
find ./ -ctime -3 # 현재 경로에서 3일 이내 변경된 파일 검색
5. 소유자 및 권한으로 검색
파일의 소유자 또는 권한을 기준으로 검색할 수 있다.
▷ -user: 특정 소유자의 파일 검색
▷ -group: 특정 그룹의 파일 검색
▷ -perm: 파일 권한을 기준으로 검색
find ./ -user hanker # 현재경로에서 소유자가 hanker인 파일 검색
find ./ -group root # 현재경로에서 소속그룹이 root인 파일 검색
find ./ -perm 777 # 현재경로에서 파일 권한이 777인 파일 검색
6. 조건에 따른 작업 수행
-exec 옵션을 사용하여 검색된 파일에 대해 명령을 수행할 수 있다.
명령어 끝에는 \; (역슬래시 + 세미콜론) 를 붙여야 한다.
find ./ -type f -exec chmod 777 {} \; # 현재경로의 파일들의 파일 권한을 777로 변경
find ./ -type f -name "*.txt" -exec rm {} \; # 현재경로에서 확장자가 txt인 파일들을 삭제
7. 여러 조건 조합
find 명령어는 여러 조건을 AND/OR로 조합할 수 있다.
▷ -a 또는 생략: AND 조건
▷ -o: OR 조건
find ./ -type f -size +1M -name "*.jar" # 현재경로에서 1MB 이상의 jar파일 찾기
find ./ -type f -name "*.jar" -o -name "*.log" # 현재경로에서 확장자가 jar OR log 인 파일 찾기
8. 심볼릭 링크 무시하기
심볼릭 링크를 무시하고 실제 파일만 검색하려면
▷ -P : 심볼릭 링크 무시
▷ -L : 심볼릭 링크 무시 X
find -P ./ # 현재경로에서 심볼릭 링크를 링크처리하지 않고 파일로 인식하여 검색
find -L ./ # 현재경로에서 심볼릭 링크내부 파일들도 검색
9. 검색 깊이 제한
-maxdepth와 -mindepth 옵션을 사용하여 검색 깊이를 제한할 수 있다. (옵션을 사용하지 않으면 전체 검색)
▷ -maxdepth n: 최대로 검색할 하위 디렉터리 깊이
▷ -mindepth n: 최소로 검색할 하위 디렉터리 깊이
find ./ -maxdepth 2 -type d # 현재경로에서 하위 2단계까지 디렉터리 검색
find ./ -mindepth 2 -type d # 현재경로에서 하위 2단계부터 디렉터리 검색
10. 특정 패턴 제외하고 검색
-not 옵션을 사용하여 특정 패턴을 제외하고 검색할 수 있다.
find ./ -type f -not -name "*.log" # 현재경로에서 확장자가 log인 파일을 제외한 모든 파일 검색
마치며
- 파일 이름, 유형, 크기, 날짜, 소유자, 권한 등 다양한 조건을 통해 파일 검색
- -exec 옵션을 사용하여 검색된 파일에 대해 작업을 자동으로 수행
- 여러 조건을 조합하여 더욱 세밀하게 검색
설명보다 예제 만드는게 힘들다.
끝.
'SERVER > Linux' 카테고리의 다른 글
Linux - 파일 및 디렉터리 삭제 명령어 (rm 명령어) (2) | 2024.11.13 |
---|---|
Linux 서버 초기 설정 시 기본 명령어 관련 패키지 설치 가이드 (command not found) (1) | 2024.10.28 |
Linux - 디렉터리 및 파일의 소유권 변경 change owner (chown 명령어) (1) | 2024.10.22 |
Linux - Command Log 확인 (1) | 2024.10.02 |
linux - 네트워크 상태 확인 (netstat - 명령어) (0) | 2024.09.28 |