find 명령의 일반적인 형식은 다음과 같습니다.
find path expressions 각각의 인수들의 의미.
path 찾기 시작할 위치를 나타낸다.
예를들어, ‘.’은 현재 디렉토리를 나타내고, ‘/’은 루트 디렉토
find 명령의 일반적인 형식은 다음과 같습니다.
find path expressions 각각의 인수들의 의미.
path 찾기 시작할 위치를 나타낸다.
예를들어, ‘.’은 현재 디렉토리를 나타내고, ‘/’은 루트 디렉토리부터 찾을 것을
나타냅니다.
expression 특정 파일을 찾기 위한 여러가지 조건들을 표현하는 부분으로 입니다.
option의 방법에는 다음과 같은 것이 있습니다.
-name : 확장자가 index 인 화일을 검색합니다.
명령어 : find /-name ‘*.index’
-perm : 퍼미션이 555(-r-xr-xr-x)인 화일을 검색합니다..
명령어 : find . –perm 555
-type : 파일의 타입을 지정하여, 찾고자하는 파일을 검색합니다.
타입의 종류는 아래와 같습니다.
b : 블록 특수 파일(block device)
c : 캐릭터 특수 파일 (character deice)
d : 디렉토리(directory)
f : 일반파일(file)
l : 심볼릭 링크(link)
p : 파이프 (pipe)
s : 소켓 (socket)
현재 디렉토리 아래에 있는 서브 디렉토리를 모두 검색합니다.
명령어 : find . –type d
find 명령의 일반적인 형식은 다음과 같습니다.
find path expressions 각각의 인수들의 의미.
path 찾기 시작할 위치를 나타낸다.
예를들어, ‘.’은 현재 디렉토리를 나타내고, ‘/’은 루트 디렉토리부터 찾을 것을
나타냅니다.
expression 특정 파일을 찾기 위한 여러가지 조건들을 표현하는 부분으로 입니다.
option의 방법에는 다음과 같은 것이 있습니다.
-name : 확장자가 index 인 화일을 검색합니다.
명령어 : find /-name ‘*.index’
-perm : 퍼미션이 555(-r-xr-xr-x)인 화일을 검색합니다..
명령어 : find . –perm 555
-type : 파일의 타입을 지정하여, 찾고자하는 파일을 검색합니다.
타입의 종류는 아래와 같습니다.
b : 블록 특수 파일(block device)
c : 캐릭터 특수 파일 (character deice)
d : 디렉토리(directory)
f : 일반파일(file)
l : 심볼릭 링크(link)
p : 파이프 (pipe)
s : 소켓 (socket)
현재 디렉토리 아래에 있는 서브 디렉토리를 모두 검색합니다.
명령어 : find . –type d
-atime +n/-n/n (accessed time): 최근 n일 이전에 액세스된 파일을 검색합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘부터 n일 전까지의 파일
n은 정확히 n일 전에 액세스되었음을 의미합니다.
현재 디렉토리에서 한 달 또는 그 이상의 기간동안 한번도 액세스하지 않은 디렉토리 검색.
명령어 : find . -atime +30 –type d
-ctime +n/-n/n (changed time): ctime은 파일의 상태를 마지막으로 변경시킨 날짜를 의미합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘 부터 n일 전까지의 파일
n은 정확히 n일 전에 수정되었음을 의미합니다.
현재 디렉토리 아래에서 최근 10일 동안 고친 파일 검색.
명령어 : find . –ctime -10
-mtime +n/-n/n (modified time): mtime은 파일내의 data를 마지막으로 변경한 날짜를 의미합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘부터 n일 전까지의 파일
n은 정확히 n일 전에 수정되었음을 의미합니다.
현재 디렉토리 아래에서 오늘부터 1일전까지 고친 파일 검색.
명령어 : find –mtime -1
-cnewer 파일명 : '파일명' 부분에 적어준 파일보다 더 최근에 수정된 파일들을 검색합니다.
next.txt 화일이 생성된 이후의 화일을 검색합니다.
명령어 : find . –cnewer next.txt –print
-user 유저네임 : '유저네임' 부분에 지정한 유저 소유의 파일을 찾아준다.
aaa라는 계정의 화일을 검색합니다.
find / -user aaa
-group
특정 그룹 소유의 파일들을 찾을 경우에 사용한다.
명령어 : find . –group test123
-empty
비어있는 파일이나 디렉토리를 찾을 경우에 사용한다.
찾은 파일들을 표준출력(stdout)으로 출력한다. 기본으로 설정되어 있다.
-nouser
소유자가 없는 파일을 찾을 경우에 사용한다. 즉, /etc/passwd 파일에 없는 소유자의 파일을 찾을 경우에 사용한다.
명령어 : find / -nouser
-nogroup
올바른 그룹의 소유가 아닌 파일을 찾을 경우에 사용한다. 즉, /etc/groups 파일에 없는 그룹의 소유인 파일을 찾을 경우에 사용한다.
명령어 : find / -nogroup
-fprint file
찾은 파일들을 `file'로 출력한다. `file'이 존재 하지 않을 경우에는 새로 생성되고, 존재할 경우에는 기존의 파일은 없어진다.
명령어 : find . –name next.txt –fprint file
fprint file 명령어로 만들어진 파일
-exec
파일을 찾았을 경우, 찾은 파일들에 대해 특정 명령을 수행 할 때 사용한다. 일반적으로 `-exec command {} ;'의 형식을 취한다.
| (파이프, pipe, 수직바) 의 뜻은
"왼쪽 프로그램의 실행 결과를 오른쪽 프로그램의 입력으로 공급하라" 입니다.
파이프 왼쪽과 오른쪽 프로그램이 동시에 실행된다는 것은 틀린 표현입니다.
왼쪽 프로그램이 실행되고 그 결과가 output 되면 오른쪽 프로그램의 input으로 공급되는 것입니다. 동시가 아닌 순차적인 개념입니다.
예를 들면,
"검색 프로그램의 출력을 정렬 프로그램으로 파이프 시킬 수 있고 다시 그 결과를 프린팅 프로그램으로 파이프 시키거나 파일로 리다이렉트해서 저장할 수도 있다."
[예제]
자신의 현재 디렉토리에서 파일명이 'next로 시작하는'인 파일을 찾을 경우
명령어 : find . -name ‘next*’ –print
현재 디렉토리 밑에서 첫글자가 영어 대문자 A인 모든 파일을 찾을 경우
명령어 : find . -name "[A]*'' -print
확장자가 .txt 인 파일을 찾으면서 현재 디렉토리와 한 단계 밑의 디렉토리에서만 파일을 찾을 경우
명령어 : find -maxdepth 2 -name "*.txt'' –print
전체 디렉토리 밑에서 `aaa'이라는 이름을 가진 사용자 소유의 파일을 찾을 경우
명령어 : find / -user aaa -print
시스템에서 소유자나 그룹이 없는 파일을 찾을 경우 (크래커가 만들어 놓은 파일일 경우도 있음)
명령어 : find / -nouser -o -nogroup -print
현재 디렉토리에서 가장 큰 파일을 찾기
명령어 : find . -type f | xargs du -s | sort -n | tail -1
위 한 줄의 명령어는 현재 디렉토리에 서브 디렉토리 포함하여 가장 큰 파일을 하나 찾아서 이를 출력하라는 의미입니다.
간혹, 파일 시스템의 FULL이 되어서 가장 큰 파일을 찾으려고 할 경우 아주 유용하게 사용할 수 있습니다.
* 현재 디렉토리 위치에서 하위디렉토리를 포함하여 “out.println” 이란 문자열을 포함한 파일 검색
명령어 : find . -type f | xargs grep " out.println"
현재 디렉토리에서nex로 시작되는 파일을 찾아서 지워라
명령어 : find . –name ‘nex*’ –exec rm {} \;
find /usr/local/xxx1 -mtime +7 -name "xxx2.*" -exec rm {} \;
find . -mtime +15 -name "*" -exec rm {} \;
-atime +n/-n/n (accessed time): 최근 n일 이전에 액세스된 파일을 검색합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘부터 n일 전까지의 파일
n은 정확히 n일 전에 액세스되었음을 의미합니다.
현재 디렉토리에서 한 달 또는 그 이상의 기간동안 한번도 액세스하지 않은 디렉토리 검색.
명령어 : find . -atime +30 –type d
-ctime +n/-n/n (changed time): ctime은 파일의 상태를 마지막으로 변경시킨 날짜를 의미합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘 부터 n일 전까지의 파일
n은 정확히 n일 전에 수정되었음을 의미합니다.
현재 디렉토리 아래에서 최근 10일 동안 고친 파일 검색.
명령어 : find . –ctime -10
-mtime +n/-n/n (modified time): mtime은 파일내의 data를 마지막으로 변경한 날짜를 의미합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘부터 n일 전까지의 파일
n은 정확히 n일 전에 수정되었음을 의미합니다.
현재 디렉토리 아래에서 오늘부터 1일전까지 고친 파일 검색.
명령어 : find –mtime -1
-cnewer 파일명 : '파일명' 부분에 적어준 파일보다 더 최근에 수정된 파일들을 검색합니다.
next.txt 화일이 생성된 이후의 화일을 검색합니다.
명령어 : find . –cnewer next.txt –print
-user 유저네임 : '유저네임' 부분에 지정한 유저 소유의 파일을 찾아준다.
aaa라는 계정의 화일을 검색합니다.
find / -user aaa
-group
특정 그룹 소유의 파일들을 찾을 경우에 사용한다.
명령어 : find . –group test123
-empty
비어있는 파일이나 디렉토리를 찾을 경우에 사용한다.
찾은 파일들을 표준출력(stdout)으로 출력한다. 기본으로 설정되어 있다.
-nouser
소유자가 없는 파일을 찾을 경우에 사용한다. 즉, /etc/passwd 파일에 없는 소유자의 파일을 찾을 경우에 사용한다.
명령어 : find / -nouser
-nogroup
올바른 그룹의 소유가 아닌 파일을 찾을 경우에 사용한다. 즉, /etc/groups 파일에 없는 그룹의 소유인 파일을 찾을 경우에 사용한다.
명령어 : find / -nogroup
-fprint file
찾은 파일들을 `file'로 출력한다. `file'이 존재 하지 않을 경우에는 새로 생성되고, 존재할 경우에는 기존의 파일은 없어진다.
명령어 : find . –name next.txt –fprint file
fprint file 명령어로 만들어진 파일
-exec
파일을 찾았을 경우, 찾은 파일들에 대해 특정 명령을 수행 할 때 사용한다. 일반적으로 `-exec command {} ;'의 형식을 취한다.
| (파이프, pipe, 수직바) 의 뜻은
"왼쪽 프로그램의 실행 결과를 오른쪽 프로그램의 입력으로 공급하라" 입니다.
파이프 왼쪽과 오른쪽 프로그램이 동시에 실행된다는 것은 틀린 표현입니다.
왼쪽 프로그램이 실행되고 그 결과가 output 되면 오른쪽 프로그램의 input으로 공급되는 것입니다. 동시가 아닌 순차적인 개념입니다.
예를 들면,
"검색 프로그램의 출력을 정렬 프로그램으로 파이프 시킬 수 있고 다시 그 결과를 프린팅 프로그램으로 파이프 시키거나 파일로 리다이렉트해서 저장할 수도 있다."
[예제]
자신의 현재 디렉토리에서 파일명이 'next로 시작하는'인 파일을 찾을 경우
명령어 : find . -name ‘next*’ –print
현재 디렉토리 밑에서 첫글자가 영어 대문자 A인 모든 파일을 찾을 경우
명령어 : find . -name "[A]*'' -print
확장자가 .txt 인 파일을 찾으면서 현재 디렉토리와 한 단계 밑의 디렉토리에서만 파일을 찾을 경우
명령어 : find -maxdepth 2 -name "*.txt'' –print
전체 디렉토리 밑에서 `aaa'이라는 이름을 가진 사용자 소유의 파일을 찾을 경우
명령어 : find / -user aaa -print
시스템에서 소유자나 그룹이 없는 파일을 찾을 경우 (크래커가 만들어 놓은 파일일 경우도 있음)
명령어 : find / -nouser -o -nogroup -print
현재 디렉토리에서 가장 큰 파일을 찾기
명령어 : find . -type f | xargs du -s | sort -n | tail -1
위 한 줄의 명령어는 현재 디렉토리에 서브 디렉토리 포함하여 가장 큰 파일을 하나 찾아서 이를 출력하라는 의미입니다.
간혹, 파일 시스템의 FULL이 되어서 가장 큰 파일을 찾으려고 할 경우 아주 유용하게 사용할 수 있습니다.
* 현재 디렉토리 위치에서 하위디렉토리를 포함하여 “out.println” 이란 문자열을 포함한 파일 검색
명령어 : find . -type f | xargs grep " out.println"
현재 디렉토리에서nex로 시작되는 파일을 찾아서 지워라
명령어 : find . –name ‘nex*’ –exec rm {} \;
find /usr/local/xxx1 -mtime +7 -name "xxx2.*" -exec rm {} \;
find . -mtime +15 -name "*" -exec rm {} \;
find 명령의 일반적인 형식은 다음과 같습니다.
find path expressions 각각의 인수들의 의미.
path 찾기 시작할 위치를 나타낸다.
예를들어, ‘.’은 현재 디렉토리를 나타내고, ‘/’은 루트 디렉토리부터 찾을 것을
나타냅니다.
expression 특정 파일을 찾기 위한 여러가지 조건들을 표현하는 부분으로 입니다.
option의 방법에는 다음과 같은 것이 있습니다.
-name : 확장자가 index 인 화일을 검색합니다.
명령어 : find /-name ‘*.index’
-perm : 퍼미션이 555(-r-xr-xr-x)인 화일을 검색합니다..
명령어 : find . –perm 555
-type : 파일의 타입을 지정하여, 찾고자하는 파일을 검색합니다.
타입의 종류는 아래와 같습니다.
b : 블록 특수 파일(block device)
c : 캐릭터 특수 파일 (character deice)
d : 디렉토리(directory)
f : 일반파일(file)
l : 심볼릭 링크(link)
p : 파이프 (pipe)
s : 소켓 (socket)
현재 디렉토리 아래에 있는 서브 디렉토리를 모두 검색합니다.
명령어 : find . –type d
-atime +n/-n/n (accessed time): 최근 n일 이전에 액세스된 파일을 검색합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘부터 n일 전까지의 파일
n은 정확히 n일 전에 액세스되었음을 의미합니다.
현재 디렉토리에서 한 달 또는 그 이상의 기간동안 한번도 액세스하지 않은 디렉토리 검색.
명령어 : find . -atime +30 –type d
-ctime +n/-n/n (changed time): ctime은 파일의 상태를 마지막으로 변경시킨 날짜를 의미합니다.
+n은 n일 또는 그보다 더 오래 전의 파일
-n은 오늘 부터 n일 전까지의 파일
n은 정확히 n일 전에 수정되었음을 의미합니다.
현재 디렉토리 아래에서 최근 10일 동안 고친 파일 검색.
명령어 : find . –ctime -10
-mtime +n/-n/n (modified time): mtime은 파일내의 data를 마지막으로 변경한 날짜를 의미합니다.
+n은 n일 또는 그보다 더 오래 전의 <sp
'IT' 카테고리의 다른 글
html에서 화면 스크롤 하는 예제 (0) | 2023.03.06 |
---|---|
html에서 map 사용하는 예제 (0) | 2023.03.06 |
VI 에디터 명령어 (0) | 2023.03.06 |
웹페이지내 특정 Element를 이미지로 저장하기 (0) | 2023.02.13 |
PHP에서 대용량 파일 업로드를 위해 체크해야 할 부분 (0) | 2023.02.13 |