리눅스 find: Difference between revisions

From IT위키
(새 문서: 리눅스에서 특정 파일 및 폴더를 찾기 위한 명령어 == 사용법 == <pre class='shell'> find [경로] [옵션] [대상] </pre> == 주요 옵션<ref>유닉스 리눅...)
 
 
(5 intermediate revisions by 5 users not shown)
Line 6: Line 6:
</pre>
</pre>


== 주요 옵션<ref>유닉스 리눅스 명령어 사전, 2010. 11. 30., 한빛미디어</ref> ==
== 주요 옵션 ==
* name name : 지정된 이름의 파일을 찾는다.
* name [파일명] : 지정된 이름의 파일을 찾는다.
* user name : user 소유의 파일을 찾는다.
* user [유저명] : user 소유의 파일을 찾는다.
* -type [bcdfls] : 지정된 형식의 파일을 찾는다.
* -type [bcdfls] : 지정된 형식의 파일을 찾는다.
** b : 블록파일
** b : 블록파일
Line 17: Line 17:
** s : 소켓
** s : 소켓


* -size [+/-]n[bckw] : 지정된 크기의 파일을 찾는다.
* -size [+/-]숫자[bckw] : 지정된 크기의 파일을 찾는다.
** +n : n보다 크다
** +n : n보다 크다
** -n : n보다 작다
** -n : n보다 작다
Line 25: Line 25:
** k : kilobytes
** k : kilobytes
** w : 2-byte
** w : 2-byte
* -mtime [+/-]숫자
** +n : n일 '''전에''' 수정된 파일을 찾는다.
** -n : n일 '''동안''' 수정된 파일을 찾는다.
* -ctime [+/-]숫자
** 생성 시간을 기준으로 찾는다. 사용법 mtime과 동일
* -atime [+/-]숫자
** 엑세스 시간을 기준으로 찾는다. 사용법 mtime과 동일


* -inum number : 지정한 아이노드 번호와 파일을 찾는다.
* -inum number : 지정한 아이노드 번호와 파일을 찾는다.
Line 34: Line 44:
* 최근 10일동안 변경된 파일을 찾아서 /tmp/find.out 에 저장한다.
* 최근 10일동안 변경된 파일을 찾아서 /tmp/find.out 에 저장한다.
<pre class='shell'>
<pre class='shell'>
# find / -mtime -10 -print > /tmp/find.out
$ find / -mtime -10 -print > /tmp/find.out
</pre>
</pre>


Line 40: Line 50:
** 전체 디렉터리에서 정규 파일 중 Set-UID가 설정된 파일을 찾는다.
** 전체 디렉터리에서 정규 파일 중 Set-UID가 설정된 파일을 찾는다.
<pre class='shell'>
<pre class='shell'>
# find / -type f -perm -4000  
$ find / -type f -perm -4000  
</pre>
</pre>
:-perm 4000 으로 하면 Set-UID만 설정된 파일을 검색하고
:* -perm 4000 으로 하면 Set-UID만 설정된 파일을 검색하고
:-perm -4000 으로 하면 Set-UID가 포함된 파일을 검색한다.
:* -perm -4000 으로 하면 Set-UID가 포함된 파일을 검색한다.
:Set-GID는 2000, Sticky-bit는 1000 이다.
:* Set-GID는 2000, Sticky-bit는 1000 이다.
:참고 [[리눅스 특수권한]]
:* [[리눅스 특수권한]] 참고
 
* 파일 내용에 문자열이 포함된 파일 찾기
** 하위 폴더도 한번에 검색한다.
<pre class='shell'>
$ find [검색 대상 폴더] -type f -print | xargs grep "[검색 문자열]"
</pre>
* [[리눅스 ls]]로도 동일한 기능을 구현할 수 있다.
 
[[분류:리눅스]]
[[분류:리눅스 명령어]]

Latest revision as of 16:01, 10 November 2022

리눅스에서 특정 파일 및 폴더를 찾기 위한 명령어

사용법[edit | edit source]

find [경로] [옵션] [대상]

주요 옵션[edit | edit source]

  • name [파일명] : 지정된 이름의 파일을 찾는다.
  • user [유저명] : user 소유의 파일을 찾는다.
  • -type [bcdfls] : 지정된 형식의 파일을 찾는다.
    • b : 블록파일
    • c : 문자
    • d : 디렉터리
    • f : 파일
    • l : 링크파일
    • s : 소켓
  • -size [+/-]숫자[bckw] : 지정된 크기의 파일을 찾는다.
    • +n : n보다 크다
    • -n : n보다 작다
    • n : n이다
    • b : 512-byte
    • c : byte
    • k : kilobytes
    • w : 2-byte
  • -mtime [+/-]숫자
    • +n : n일 전에 수정된 파일을 찾는다.
    • -n : n일 동안 수정된 파일을 찾는다.
  • -ctime [+/-]숫자
    • 생성 시간을 기준으로 찾는다. 사용법 mtime과 동일
  • -atime [+/-]숫자
    • 엑세스 시간을 기준으로 찾는다. 사용법 mtime과 동일
  • -inum number : 지정한 아이노드 번호와 파일을 찾는다.
  • -print : 표준출력으로 검색된 파일명을 출력한다.
  • -exec command { } \; : 찾은 각 파일에 대해 지정된 명령을 실행한다.
  • -ok command { } \; : 실행 여부를 사용자에게 확인한 후 명령을 실행한다.

사용 예제[edit | edit source]

  • 최근 10일동안 변경된 파일을 찾아서 /tmp/find.out 에 저장한다.
$ find / -mtime -10 -print > /tmp/find.out
  • 특수권한 파일 찾기
    • 전체 디렉터리에서 정규 파일 중 Set-UID가 설정된 파일을 찾는다.
$ find / -type f -perm -4000 
  • -perm 4000 으로 하면 Set-UID만 설정된 파일을 검색하고
  • -perm -4000 으로 하면 Set-UID가 포함된 파일을 검색한다.
  • Set-GID는 2000, Sticky-bit는 1000 이다.
  • 리눅스 특수권한 참고
  • 파일 내용에 문자열이 포함된 파일 찾기
    • 하위 폴더도 한번에 검색한다.
$ find [검색 대상 폴더] -type f -print | xargs grep "[검색 문자열]"
  • 리눅스 ls로도 동일한 기능을 구현할 수 있다.

분류:리눅스 분류:리눅스 명령어