find실무5편: 파일의 변경시간을 기준으로 원하는 파일 검색하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,150 조회
- 0 추천
- 목록
본문
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를 이용하여 파일의 시간값을 기준으로 원하는 검색을 할 수 있다는 것을 알았다.
시스템관리측면에서는 매우 중요한 의미를 가진다.
관련자료
-
이전
-
다음