강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

find실무5편: 파일의 변경시간을 기준으로 원하는 파일 검색하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

find실무5: 파일의 변경시간을 기준으로 원하는 파일 검색하기

 

 

 

find를 이용하여 최근 몇분에 변경된 적이 있는 파일을 검색할 수도 있고, 최근 몇 시간 이전 또는 이후에 사용된 적이 있는 파일을 검색할 수도 있고, 최근 몇 시간 이전에 변경된 적이 있는 파일을 검색할 수도 있다.

 

 

 

 즉 파일의 변경시간값을 기준으로 원하는 검색을 하는 방법에 대한 설명이다.

 

 

 

 

 

이에 대한 첫번째 예로서 다음은 최근 몇 분에 변경된 적이 있는 모든 파일을 검색하는 방법이다.

 

 

 

 , find명령어에서 “-mmin n”옵션을 사용하면 최근 n분에 변경된 적이 있는 파일을 찾을 수 있다.

 

 

 

 , “-mmin 5”라는 옵션의 의미는 현재부터 5분 이전에 변경된 적이 있는 파일을 의미한다.

 

 

 

 

 

[root@sulinux ~]# find /home/sspark -mmin 5 -exec ls -l {} \;

합계 0

-rw-r--r-- 1 root root 0 2022-12-23 02:20 begin

-rw-r--r-- 1 root root 0 2022-12-23 02:20 /home/sspark/begin

[root@sulinux ~]#

 

 

 

 

, 위의 예는 /home/sspark 디렉토리이하에서 현재부터 5분 전에 변경된 파일을 검색한 예이다.

 

 

 

 이 의미가 조금 헷갈리지만 어렵지는 않을 것이다.

 

 

 

 “-mmin 5” 5분보다 더 이전이라는 의미도 아니고, 5분보다 더 이후라는 의미도 아니다.

 

 

 

 그냥 5분전에 변경된 파일을 의미한다.

 

 

 

 

 

, 여기서 지정되는 n값은 다음과 같이 해석된다.

 

 

 

 

 n으로만 지정되면 정확하게 n을 의미하고

 

 +n n보다 큰 값(더 오래된 값)을 의미하고,

 

 -n n값보다 작은 값(덜된 값)을 각각 의미한다.

 

 

 

 

 

그렇다면 다음 예를 보자. “-mmin +10”의 의미는 현재를 기준으로 10분 이전에 변경된 적이 있는 파일을 검색한다.

 

 

 

 , 10분 보다 더 오래 전에 변경된 파일을 찾은 결과이다.

 

 

 

 

 

[root@sulinux ~]# find /home/sspark -mmin +10 -exec ls -l {} \;

합계 8

drwxr-xr-x 2 sspark sspark 4096 2022-04-30 15:33 extensions

drwxr-xr-x 2 sspark sspark 4096 2022-04-30 15:33 plugins

-rw-r--r-- 1 sspark sspark 124 2022-10-29 06:37 /home/sspark/.bashrc

-rw-r--r-- 1 sspark sspark 18 2022-10-29 06:37 /home/sspark/.bash_logout

-rw-r--r-- 1 sspark sspark 176 2022-10-29 06:37 /home/sspark/.bash_profile

[root@sulinux ~]#

 

 

 

 

그렇다면 다음의 예는 무엇을 검색하는 것일까? “-mmin -10”의 의미는 현재를 기준으로 10분 이내에 변경된 적이 있는 파일을 검색하라는 의미이다.

 

 

 

 

 

[root@sulinux ~]# find /home/sspark -mmin -10 -exec ls -l {} \;

합계 0

-rw-r--r-- 1 root root 0 2022-12-23 02:20 begin

-rw-r--r-- 1 root root 0 2022-12-23 02:20 /home/sspark/begin

[root@sulinux ~]#

 

 

 

 

이제 지정하는 방법에 대한 의미를 정확하게 이해하였으리라 생각한다.

 

 

 

 이와 같은 방법으로 다양한 목적의 파일을 검색해 볼 수 있다.

 

 

 

 

 

 

다음은 최근 몇시간 이전 또는 이후에 사용된 적이 있는 파일을 find로 검색하는 예이다.

 

 

 

 , “-atime -n”은 최근 n*24시간 이내에 액세스(사용)된 적이 있는 파일을 검색한다.

 

 

 

 

 

아래의 예는 현재를 기준으로 최근 100시간 이내에 사용된 적이 있는 파일 즉, 액세스된 적이 있는 파일을 검색하여 보여준 예이다.

 

 

 

 

 

 [root@sulinux ~]# find /home/sspark -atime -100 -exec ls -l {} \;

합계 0

-rw-r--r-- 1 sspark sspark 124 2022-10-29 06:37 /home/sspark/.bashrc

-rw-r--r-- 1 sspark sspark 18 2022-10-29 06:37 /home/sspark/.bash_logout

-rw-r--r-- 1 sspark sspark 176 2022-10-29 06:37 /home/sspark/.bash_profile

-rw-r--r-- 1 root root 0 2022-12-23 02:20 /home/sspark/begin

[root@sulinux ~]#

 

만약 -100이 아닌 +100으로 지정하였다면100시간 보다 더 이전에 사용된 적이 있는 파일을 검색한다.

 

 

 

 

 

[root@sulinux ~]# find /home/sspark -atime +100 -exec ls -l {} \;

[root@sulinux ~]#

 

 

다음은 최근 몇시간 이전에 변경된 적이 있는 파일을 검색한 예이다.

 

 

 

 , 현재를 기준으로 최근 몇시간 이내에 변경된 적이있는 파일을 검색하는 예로서 “-mtime -n”이라는 옵션을 지정하였다면 최근 n*24시간 이내에 변경된 적이 있는 파일을 검색한다.

 

 

 

 

 

[root@sulinux ~]# find /home/sspark -mtime -1 -exec ls -l {} \;

합계 0

-rw-r--r-- 1 root root 0 2022-12-23 02:20 begin

-rw-r--r-- 1 root root 0 2022-12-23 02:20 /home/sspark/begin

[root@sulinux ~]#

 

위의 예에서 “-mtime -1”과 같이 지정하였기 때문에 최근 1시간 이내에 변경된 적이 있는 파일을 검색하여 보여준 것이다.

 

 

 

 다음 예와 비교해 보자.

 

[root@sulinux ~]# find /home/sspark -mtime +1 -exec ls -l {} \;

합계 8

drwxr-xr-x 2 sspark sspark 4096 2022-04-30 15:33 extensions

drwxr-xr-x 2 sspark sspark 4096 2022-04-30 15:33 plugins

합계 0

합계 0

-rw-r--r-- 1 sspark sspark 124 2022-10-29 06:37 /home/sspark/.bashrc

합계 0

-rw-r--r-- 1 sspark sspark 18 2022-10-29 06:37 /home/sspark/.bash_logout

-rw-r--r-- 1 sspark sspark 176 2022-10-29 06:37 /home/sspark/.bash_profile

[root@sulinux ~]#

 

 

 

 

“-mtime +1”과 같이 지정하였기 때문에 현재보다 1시간 더 이전에 변경된 적이 있는 파일을 검색한 결과이다.

 

 

 

 이상과 같은 예에서 알 수 있듯이 find를 이용하여 파일의 시간값을 기준으로 원하는 검색을 할 수 있다는 것을 알았다.

 

 

 

 시스템관리측면에서는 매우 중요한 의미를 가진다.

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  114 명