Linxu 파일 찾기
파일 속성 검색 도 구 는 두 가지 가 있 습 니 다. 1. locate: 비 실시 간 검색 (데이터베이스 기반 검색) 2. find: 실시 간 검색.
1. locate: 비 실시 간 검색 (데이터베이스 검색)
:
•
•
•
• ,
•
:/var/lib/mlocate/mlocate.db
:updatadb
, , ,
locate KEYWORD
-i
-n N N
-r
예제: 검색 이름 이나 경로 에 'conf' 가 있 는 파일 locate conf 는 Regex 를 사용 하여 'conf' 로 끝 나 는 파일 locate - r 'conf $' 를 검색 합 니 다.
2, find: 실시 간 검색
:
•
•
•
•
:
find [OPTION]... [ ] [ ] [ ]
: ;
: , 、 、 、 ;
: ,
검색 조건:
-maxdepth level , 1
-mindepth level
,
: /etc 5
Find /etc –maxdepth 5 –mindepth 5
파일 이름과 inode 에 따라 찾기:
-name " ": glob( )
find /etc/ -name "*pas?wd*"
*, ?, [], [^]
-iname " ":
find /etc/ -iname *pas?wd*
-inum n inode
find -inum 69 // inode 69
-samefile name inode
find -samefile a123 //
-links n n
find -links 2 // 2
-regex "PATTERN": PATTERN( ) ,
find /etc/ -regextype posix-egrep -regex ".*/pa[sa]{2}wd" //
주, 그룹 에 따라 찾기:
-user USERNAME: // (UID)
:find –user lin // lin
-group GRPNAME: // (GID)
-uid UserID: // UID
:find –user 1003 // UID 1003
-gid GroupID: // GID
-nouser: //
:find –nuuser //
-nogroup: //
파일 형식 으로 찾기:
-type TYPE: //TYPE
find /dev/ -type l // dev
-type f:
-type d:
-type l:
-type s:
-type b:
-type c:
-type p:
조합 조건 찾기
:
:-a(and) :-o(or) :-not, !
· :
( A) ( B) = (A B)
( A) ( B) = (A B)
: 、
!A -a !B = !(A -o B)
!A -o !B = !(A -a B)
예시: find - name snow. png / • snow. png 라 는 파일 find - name snow. png / / • 대소 문자 구분 없 이 snow. png, Snow. png, SNOW. PNG 등의 파일 find / name "txt" / / 검색 루트 디 렉 터 리 아래. txt 로 끝 나 는 파일 find / var – name "log"/ / 검색 / var 디 렉 터 리 에 있 는 파일 이름 에 log 가 있 는 파일 find - user joe - group joe / / 사용자 joe 및 그룹 joe 가 가지 고 있 는 파일 find - user joe - not - group joe / / 검색 소속 자 는 joe 이지 만 소속 그룹 은 joe 가 아 닌 파일 find - user joe - o - user jane / / 검색 소속 자 는 joe 또는 jane 의 파일 입 니 다.find - not (- user joe - o - user jane) / 검색 은 joe 에 속 하지 않 고 jane 에 속 하지 않 는 파일 입 니 다.find / user joe - o - uid 500 / 검색 루트 디 렉 터 리 소속 자 는 joe 또는 소속 그룹 이 500 인 파일 입 니 다.예제: 1. / tmp 디 렉 터 리 에서 주 는 루트 가 아니 고 파일 이름 은 f 로 시작 하지 않 는 파일 find / tmp (- not - user root - a - not - name 'f') – lsfind / tmp - not (- user root - o - name 'f *') – ls 에서 파일 을 찾 아 표시 하 는 방법 은 우리 의 목적 입 니 다. 우 리 는 찾 은 파일 의 상세 한 정보 와 속성 을 더 알 고 싶 습 니 다.만약 우리 가 현재 파일 을 찾는다 면, LS 명령 을 사용 하여 파일 정 보 를 보 는 것 은 상당히 번 거 로 운 것 입 니 다. 지금 우 리 는 이 두 명령 을 결합 해서 사용 할 수 있 습 니 다 [root@centos6 bin]# find -user root -ls137744 4 drwxr-xr-x 2 root root 4096 Jan 26 20:05 .137793 4 -rwxrwxrwx 1 root root 135 Jan 26 10:40 ./per.sh
디 렉 터 리 제거
:
1、 /etc/ , /etc/sane.d .conf :
find /etc -path ‘/etc/sane.d’ -a -prune -o -name “*.conf”
2、 /etc/ , /etc/sane.d /etc/fonts .conf
find /etc \(–path ‘/etc/sane.d’ –o –path ’/etc/fonts’ \) -a prune –o name “*.conf”
파일 크기 로 찾기
size [+|-] #UNIT
:k, M, G,c(byte)
UNIT: (#-1, #]
:6k (5k,6k]
UNIT:[0,#-1]
:-6k [0,5k]
+#UNIT:(#,∞)
:+6k (6k,∞)
시간 스탬프 에 따라 찾기:
“ ” ;
-atime [+|-]#,
#: [#,#+1)
+#: [#+1,∞]
-#: [0,#)
-mtime
-ctime
“ ” :
-amin
-mmin
-cmin
예제: find / etc / - mtime - 1 / / etc 디 렉 터 리 다음 분 이내 의 동작 find / - amin - 10 \ # 시스템 에서 마지막 10 분 동안 방문 한 파일 find / - atime - 2 \ # 시스템 에서 마지막 48 시간 동안 방문 한 파일 find / empty \ # 시스템 에서 비어 있 는 파일 이나 폴 더 find / - group cat \ # 시스템 에서 groupcat 에 속 하 는 파일 find / - mmin - 5 \ # 찾기시스템 에서 마지막 5 분 동안 수 정 된 파일 찾기 find / - mtime - 1 \ # 시스템 에서 마지막 24 시간 동안 수 정 된 파일 찾기 find / - nuser \ # 시스템 에서 폐기 사용자 에 속 하 는 파일 찾기 find / - user fred \ # 시스템 에서 FRED 라 는 사용자 에 속 하 는 파일 찾기
아래 목록 은 find 명령 이 지정 한 파일 의 특징 을 찾 을 수 있 는 일부 조건 입 니 다.모든 검색 조건 을 열거 하지 않 았 습 니 다. 리 눅 스 관련 책 을 참고 하면 모든 find 명령 의 검색 함 수 를 알 수 있 습 니 다.
-amin n
시스템 의 마지막 N 분 접근 파일 찾기
-atime n
시스템 의 마지막 n * 24 시간 접근 파일 찾기
-mmin n
시스템 의 마지막 N 점 수 정 된 파일 찾기
-mtime n
시스템 의 마지막 n * 24 시간 수 정 된 파일 찾기
-cmin n
시스템 의 마지막 N 분 상태 가 바 뀐 파일 찾기
-ctime n
시스템 의 마지막 n * 24 시간 상태 가 바 뀐 파일 찾기
-empty
시스템 에 빈 파일 이나 빈 파일 디 렉 터 리 나 디 렉 터 리 에 하위 디 렉 터 리 가 없 는 폴 더 를 찾 습 니 다.
-false
시스템 에서 항상 잘못된 파일 찾기
-fstype type
시스템 에 지정 한 파일 시스템 에 존재 하 는 파일 을 찾 습 니 다. 예 를 들 어 ext 2.
-gid n
시스템 에서 파일 찾기
-group gname
시스템 에 있 는 파일 이 gnam 파일 그룹 에 속 하고 그룹 과 ID 를 지정 하 는 파일 을 찾 습 니 다.
Find :
Find 명령 도 사용자 에 게 검색 동작 을 제어 할 수 있 는 특유 의 옵션 을 제공 합 니 다.다음 표 는 우리 가 정리 한 가장 기본 적 이 고 자주 사용 하 는 find 명령 의 제어 옵션 과 용법 입 니 다.
옵션
용도 설명
-depth
깊이 있 는 검색 프로 세 스 방식 을 사용 하여 특정한 층 에서 지정 한 디 렉 터 리 에서 파일 내용 을 우선 찾 습 니 다.
-follow
마스크 링크 방식 으로 찾기;또한, 마스크 링크 방식 조회 도 무시 할 수 있 습 니 다.
-help
명령 요약 보이 기
-maxdepth levels
어떤 차원 의 디 렉 터 리 에서 체감 방법 에 따라 찾기
-mount
파일 시스템 디 렉 터 리 에서 찾 을 수 없습니다. 용법 은 - xdev 와 유사 합 니 다.
-noleaf
비 UNUX 파일 시스템, MS - DOS 시스템, CD - ROM 파일 시스템 에서 최적화 찾기 금지
-version
인쇄 버 전 숫자
아래 표 는 파일 을 찾 고 파일 정 보 를 표시 하 는 데 자주 사용 되 는 매개 변수 와 사용 방법 입 니 다.
옵션
용도 설명
-exec command;
명령 찾기 및 실행
-fprint file
전체 파일 이름 인쇄
-fprint0 file
빈 파일 을 포함 하여 전체 파일 이름 을 인쇄 합 니 다.
-fprintf file format
파일 형식 인쇄
-ok command;
사용자 에 게 명령 을 실행 하고 사용자 의 Y 확인 입력 에 따라 실행 합 니 다.
-printf format
파일 형식 인쇄
-ls
같은 파일 형식의 파일 을 인쇄 합 니 다.
권한 에 따라 찾기:
-perm [/|-]MODE
MODE:
/MODE: (u,g,o) , ,+ centos7 ,centos6 / + 。
-MODE: ,
0
find?-perm?755 755
,find?-perm?+222 , 5,6,7 ,
,find?-perm?-222 , 5,6,7 ,
(other) ,find?-perm?-002
-print: ,
-ls: “ls -l”
-delete:
find -size +6k -delete
-fls file:
-ok -exec ok ,exec
find -name "*.tmp" -ok rm -f {} \;
find -type f -name "*.sh" -exec chmod a+x {} \;
find -name "*.conf" -exec cp -i {} {}.bak \;
-ok COMMAND {} \; COMMAND , ,
-exec COMMAND {} \; COMMAND
{}:
find ,
파라미터 교체 xargs
** | , , xargs **
xargs ,xargs stdin , stdin arguments
:
, ,xargs
: ls f* |xargs rm
find /sbin -perm +700 |ls -l
find /sbin -perm +7000 | xargs ls –l
** find xargs :find | xargs COMMAND **
find 예제 find - name ". conf" - exec cp {}. orig \;설정 파일 을 백업 하고. orig 라 는 확장 자 를 추가 합 니 다 find / tmp - ctime + 3 - user joe - ok rm {} \;존재 시간 이 3 일 이상 인 joe 의 임시 파일 find 를 삭제 합 니 다 ~ - perm - 002 - exec chmod o - w {} \;홈 디 렉 터 리 에서 다른 사용자 가 쓸 파일 find / data – type f - perm 644 - name ". sh" – exec chmod 755 {} \ 를 찾 습 니 다.find /home –type d -ls
실례:
1. 찾기 / var 디 렉 터 리 산하 주 는 루트 이 고 그룹 은 mail 의 모든 파일 입 니 다.
[root@centos6 spool]# find /var -user root -and -group mail -ls394408 4 drwxrwxr-x 2 root mail 4096 Jan 27 09:06 /var/spool/mail396328 4 -rw------- 1 root mail 3263 Jan 26 09:29 /var/spool/mail/root
2. 루트, lp, gdm 에 속 하지 않 는 모든 파일 찾기 / var 디 렉 터 리
[root@centos6 /]# find /var -not -user root -not -user lp -not -user gdm -ls394492 4 drwxr-xr-x 2 abrt abrt 4096 Mar 23 2017 /var/spool/abrt396391 0 -rw-rw---- 1 linkang mail 0 Jan 26 09:43 /var/spool/mail/linkang396380 0 -rw-rw---- 1 nologin mail 0 Jan 20 20:09 /var/spool/mail/nologin396379 0 -rw-rw---- 1 sh mail 0 Jan 20 13:53 /var/spool/mail/sh396355 0 -rw-rw---- 1 wei mail 0 Jan 17 08:28 /var/spool/mail/wei396338 0 -rw-rw---- 1 500 mail 0 Jan 13 17:07 /var/spool/mail/liubei
3. 찾기 / var 디 렉 터 리 에서 최근 일주일 동안 내용 이 수정 되 었 으 며, 주 는 루트 가 아니 며, potfix 파일 도 아 닙 니 다.
[root@centos6 /]# find /var -mtime -7 -not ( -user root -o -user postfix )/var/spool/mail/linkang/var/spool/mail/qwer/var/spool/mail/linakng/var/spool/mail/yio/var/spool/mail/werty/var/spool/mail/asdf
4. 현재 시스템 에 주 또는 그룹 이 없 으 며 최근 일주일 동안 방문 한 파일 을 찾 습 니 다.
[root@centos6 ~]# find / -type f -nouser -nogroup -atime -7/home/lin/.bash_history/home/lin/789/home/lin/456
5. / etc 디 렉 터 리 에서 1M 이상 이 고 일반 파일 형식 인 모든 파일 찾기
[root@centos6 ~]# find /etc -type f -size +1M /etc/gconf/gconf.xml.defaults/%gconf-tree.xml/etc/selinux/targeted/modules/active/policy.kern/etc/selinux/targeted/policy/policy.24
6. / etc 디 렉 터 리 에서 모든 사용자 가 쓰기 권한 이 없 는 파일 을 찾 는 방법 1: find / etc / - not (- perm - 002 - o - perm - 020 - o - perm - 200) | xargs ls - l 방법 2: [root@centos6 ~]# find /etc -not -perm +222 -ls -exec ls -l {} \;1190012 4 -r--r--r-- 1 root root 80 Feb 22 2016 /etc/lvm/profile/thin-performance.profile1190009 4 -r--r--r-- 1 root root 2391 Mar 23 2017 /etc/lvm/profile/command_profile_template.profile
7. 찾기 / etc 디 렉 터 리 에 실행 권한 이 없 는 파일 find / etc / not (- perm - 001 - a - perm - 010 - a - perm - 100) | xargs ls - l
8. / etc / init. d 디 렉 터 리 에서 모든 사용자 가 실행 권한 이 있 고 다른 사용자 가 쓰기 권한 이 있 는 파일 을 찾 습 니 다.
find /etc/init.d/ -perm -113 |xargs ls -lfind /etc/init.d/ -perm -113 -exec ls -l {} \;find /etc/init.d/ -perm -113 -ls
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.