OS : RedHat Enterprise Linux 8.4

 

==



find

 

파일 또는 디렉토리명으로 찾기

 

1. find . -name 파일명

지정 디렉토리에서 rpm 파일 모두 찾기

 

2. find / -type d -name 디렉토리명

지정 디렉토리에서 디렉토리 형태의 이름이 networkblackbox인 디렉토리 찾기

 

3. find / -type f -name 파일명 

지정 디렉토리에서 파일 형태 중 .sh 파일 찾기

 

 

 

권한으로 찾기

 

 

1. find . -type f -perm 권한

현재 디렉토리에서 755 권한을 가진 파일 출력  

 

2. find / -type f -perm 권한

: / 지정 디렉토리에서 권한이 777 인 파일을 찾기

 

    find / -type f ! -perm 권한

: 지정 디렉토리에서 권한이 755 인 파일을 제외하고 찾기

 

 

 

 

3. find . -perm /u=r

지정 디렉토리에서 권한을 기준으로 찾고 소유자에게 읽기 권한이 있는 파일을 찾기

 

 

4. find . -perm /a=x

지정 디렉토리에서 권한을 기준으로 찾고 모든 사용자에게 실행가능한 파일 찾기

 

 

 

5. find / -type f -perm 777 -print -exec chmod 644 {} \;

지정 디렉토리에서 파일 형태와 777 권한을 기준으로 찾고 644 권한으로 변경하여 출력

 

 

 

6. find . -type f -name "*.rpm" -exec rm -f {} \; -print

지정 디렉토리에서 파일형태로 이름이 .rpm 인 것을 모두 찾아서 삭제

 

 

 

7.find / -user grafana -name grafana

사용자가 grafana로 된 파일 중 grafana 파일 찾기 

 

 

 

8. find / -type f -size [파일사이즈] -exec rm -f {} \; -print

 

 

메가바이트 단위로 출력

ls -arlt | awk '{$5 = sprintf("%.2f MB", $5 / 1024 / 1024)} 1'

 

 

 

9. find . -type f -mmin -30 -ls 

수정된지 30분내의 파일 찾기

 

 

 

 

 

find . -cmin -10

수정된지 10분이내 찾기

 

 

 

10. find . -mtime 0 -mtime -20

현재부터 20일 내에 수정된 파일 찾기

 

 

 

11. find / -type f -amin -10

파일 접근 시간이 10분 이내인 것을 찾기

 

 

 

12. find . -type f -size +100c -size -600c -ls

100바이트 보다 크고 600바이트보다 작은 파일 찾기

 

 

 

 

13.find /test2/ -type f -size +100c -size -600c | xargs tar -cvf /test2/jwchoi/file/tar/jwchoi.tar

정해진 디렉토리에서 정해진 사이즈 내에 파일들을 찾아서 tar로 묶어서 지정 디렉토리로 생성

 



14. find /test2/jwchoi/file/tar/ -type f -mtime 0 -exec rm -f {} \; -print

지정 디렉토리에서 오늘 생성된 파일을 찾고 삭제.

 

 

 

- exec / xargs 동작 과정 -
find . -name "H*" -type f -exec rm -f {} \;
rm –f H1
rm –f H2
rm –f H3

find . -name "H*" -type f | xargs rm -f
rm –f H1 H2 H3

 

exec , xargs 옵션 차이점?

 

exec의 경우 각각

find로 찾은 파일에 대한 rm 명령이 호출되지만,

 

xargs의 경우

find로 찾은 파일을 세부리스트로 나누면서 각각의 리스트에 대해 rm을 호출하여 exec보다 실행 부하 측면에서 효율적이다.

 

 

'OS_Linux&Unix' 카테고리의 다른 글

[Linux] crontab 옵션 및 설정 (RHEL8.4)  (0) 2024.03.20
[rhel8.4] tar/gzip 명령어  (0) 2024.03.20
[Linux] netstat 명령어  (0) 2024.03.19
[rhel8.4] rpm / yum 명령어  (0) 2024.03.19
[rhel8.4] sar 명령어  (0) 2024.03.18
계속 까먹네;