> php教程 > PHP开发 > Linux 검색 명령어 및 find 명령어에 대한 자세한 설명

Linux 검색 명령어 및 find 명령어에 대한 자세한 설명

高洛峰
풀어 주다: 2016-12-14 17:13:24
원래의
1538명이 탐색했습니다.

1. 파일 검색을 위한 찾기 명령

locate:
비실시간, 검색은 전체 시스템 파일 데이터베이스를 기반으로 하며, 퍼지 검색,
업데이트가 수동으로 파일을 생성합니다. 데이터베이스
속도 빠름

업데이트된 데이터베이스에 따라 다름

#手动更新locate数据库
[root@lovelace scripts]# updatedb
#使用locate查找文件 (速度好快的说)
[root@lovelace scripts]# locate *.py
/home/scripts/factorial.py
/home/scripts/input.py
/usr/lib/python2.4/fileinput.py
/usr/lib/python2.4/fileinput.pyc
/usr/lib/python2.4/fileinput.pyo
/usr/lib/python2.4/site-packages/dogtail/rawinput.py
/usr/lib/python2.4/site-packages/dogtail/rawinput.pyc
/usr/lib/python2.4/site-packages/dogtail/rawinput.pyo
/usr/lib/python2.4/test/pyclbr_input.py
/usr/lib/python2.4/test/pyclbr_input.pyc
/usr/lib/python2.4/test/pyclbr_input.pyo
/usr/lib/python2.4/test/test_fileinput.py
/usr/lib/python2.4/test/test_fileinput.pyc
/usr/lib/python2.4/test/test_fileinput.pyo
로그인 후 복사

2. 파일 검색 명령 찾기

찾기:
실시간
정확함
다양한 검색 규칙 지원
지정된 디렉터리의 모든 파일을 탐색하여 검색을 완료합니다. 속도가 느립니다.

검색 경로 찾기 검색 기준 찾기 후 작업 처리
검색 경로: 기본값은 현재 디렉터리
검색 기준: 기본값은 지정된 경로
아래의 모든 파일을 나중에 찾아서 처리하는 것입니다. 기본값은

일치 기준을 표시하는 것입니다:
-이름 'filename': 파일 이름과 정확히 일치
파일 이름 와일드카드:
* 모든 길이의 문자
? 모든 단일 문자
[] 옵션
-iname 'filename'의 문자: 파일 이름 일치는 대소문자를 구분하지 않습니다.
-regex 패턴 정규 표현식을 기반으로 한 파일 이름 일치

-user username: 소유자에 따라 검색
-group groupname: 그룹에 따라 검색

-gid gid: gid
에 따라 검색-uid uid:: udi
<🎜에 따라 검색 >- nouser 소유자가 없는 파일 찾기
-nogroup 그룹이 없는 파일

예: find /tmp -nouser

[root@lovelace scripts]# find /tmp -name test
/tmp/sources/httpd-2.2.17/srclib/apr-util/test
/tmp/sources/httpd-2.2.17/srclib/apr/test
/tmp/sources/httpd-2.2.17/modules/test
/tmp/sources/httpd-2.2.17/test
/tmp/test
로그인 후 복사
파일 형식을 기준으로 파일 찾기

- 유형

f: 일반 파일
d: 디렉터리
c: 문자
b: 블록 장치
l: 링크
p: 파이프
s: 소켓

예: find /etc -type d

#查找/tmp目录下名字为test 而且文件格式为目录的
[root@lovelace scripts]# find /tmp -type d -a -name test
/tmp/sources/httpd-2.2.17/srclib/apr-util/test
/tmp/sources/httpd-2.2.17/srclib/apr/test
/tmp/sources/httpd-2.2.17/modules/test
/tmp/sources/httpd-2.2.17/test
/tmp/test
로그인 후 복사
파일 크기를 기준으로 찾기

-size

[+|-]#k 아니요 + 및 - 의미 정확히 일치
[+|-]#m
[+|-]#G

예:find /tmp -size +10M 10M보다 큰 /etc 디렉토리를 찾습니다. 파일

조합 조건: 이를 위해서는 모건의 법칙을 이해해야 합니다.

-a: 및 기본값
-o: 또는
-not: non-
example:find /tmp -not -user user1 -o -not -type d

#查找/tmp目录下文件格式为目录,而且大小在26k到32k之间的目录
[root@lovelace scripts]# find /tmp -type d -a -size +16k -a -size -32k
/tmp/sources/httpd-2.2.17/docs/manual/mod
/tmp/sources/php-5.2.13/ext/reflection/tests
/tmp/sources/php-5.2.13/ext/date/tests
/tmp/sources/php-5.2.13/ext/spl/tests
/tmp/sources/php-5.2.13/tests/classes
/tmp/sources/php-5.2.13/Zend/tests
로그인 후 복사
파일 타임스탬프 기준 검색:

일수:

변경 시간: -mtime

수정 시간: -ctime
보기 시간: -atime
[+|-]# 기본 타임스탬프는 5일입니다.
-5: 5일 이내에 방문했습니다
+5: 최소 5일 동안 방문하지 않았습니다
5: 방문했습니다

정확히 5일 전:

-mmin:
-cmin:
-amin:

find /tmp -amin –5 내에서 액세스된 파일 5분


오랜 시간 동안 접속하지 않았고 파일 크기가 일정량을 초과하는 경우 삭제 작업을 수행합니다
find /tmp -atime +30 -a – size +100M - exec 'rm -rf *' ;

#查找home目录下至少5天没被访问过的文件
[root@lovelace scripts]# find /home/ -ctime -5
/home/scripts
/home/scripts/list
/home/scripts/for
/home/scripts/for/dir.sh
/home/scripts/for/three.sh
/home/scripts/for/checkbash.sh
/home/scripts/for/sorsum.sh
/home/scripts/while
/home/scripts/while/readpasswd.sh
/home/scripts/while/catwhile.sh
/home/scripts/case
/home/scripts/case/showmenu.sh
/home/scripts/case/showmenu
/home/scripts/case/2showmenu.sh
/home/scripts/if
/home/scripts/if/grade.sh
/home/scripts/51cto
/home/scripts/51cto/info.tt
/home/scripts/51cto/info.sh
/home/scripts/51cto/1.sh
/home/scripts/51cto/argument.sh
/home/scripts/51cto/sum.sh
로그인 후 복사
권한 기반 검색:

-perm 모드: 정확히 일치
-perm -mode: 각 권한은 정확히 일치해야 합니다. 이를 완전히 포함하는 파일 권한 모드는 모두 표준을 준수합니다.
-perm /mode: 9개 권한 중 조건을 충족하는 권한

예: find /tmp -perm –001 다른 사용자 찾기 파일

에 대한 쓰기 권한이 있습니다. find action:
-print 기본값
-ls: ls -l

- ok와 유사한 형식으로 파일의 모든 정보를 표시합니다. command {} ; 쿼리 작업은 매번 실행되며 사용자 확인이 필요합니다.
-exec command {} ; 쿼리 작업을 깨우지 않습니다.
원래 이름을 인용하려면 {}
<🎜을 사용하세요. >
예: find /tmp -perm -020 -exec mv {} {}.new ;

find 및 xargs 명령
#找出home中大小为16k到32k之间的文件,然后传递给exec 并显示出来
[root@lovelace scripts]# find /home/ -size +16k -a -size -32k -exec ls -lh {} \;
-rw-r--r-- 1 root root 20K 05-03 03:04 /home/nick/etc/gconf/gconf.xml.defaults/%gconf-tree-li.xml
-rw-r--r-- 1 root root 20K 05-03 03:04 /home/nick/etc/gconf/gconf.xml.defaults/%gconf-tree-ug.xml
-rw-r--r-- 1 root root 25K 05-03 03:04 /home/nick/etc/gconf/schemas/drivemount.schemas
-rw-r--r-- 1 root root 20K 05-03 03:04 /home/nick/etc/gconf/schemas/gnome-volume-control.schemas
-rw-r--r-- 1 root root 21K 05-03 03:04 /home/nick/etc/gconf/schemas/system_smb.schemas
-rw-r--r-- 1 root root 22K 05-03 03:04 /home/nick/etc/gconf/schemas/desktop_gnome_thumbnailers.schemas
-rw-r--r-- 1 root root 17K 05-03 03:04 /home/nick/etc/gconf/schemas/apps_gnome_settings_daemon_default_editor.schemas
로그인 후 복사

xargs: 이 함수는 매개변수 목록을 작은 조각으로 나누어 긴 매개변수 목록의 문제를 피하기 위해 다른 명령에 조각으로 전달합니다.

-exec 명령에 비해 이 명령은 더 강력한 기능을 가지고 있습니다. find와 함께 사용하면 일반적으로 파이프라인을 통해 xargs에 전달됩니다

find /tmp –size +100M | 명령의 전체 경로를 찾고 명령의 별칭을 표시할 수 있습니다

whereis:는 which와 유사하며

whatis: 명령을 제공하는 매뉴얼 페이지의 전체 경로를 추가로 제공하여 원하는 경우 whatis 데이터베이스의 파일을 쿼리합니다. 시스템 명령과 중요한 구성 파일을 확인하려면

#使用which命令查找ls命令的完整路径
[root@lovelace scripts]# which ls
alias ls=&#39;ls --color=tty&#39;
/bin/ls
#使用ldd命令查看ls所依赖的库文件(这里需要用到ls的完整路径)
[root@lovelace scripts]# ldd /bin/ls
linux-gate.so.1 =>  (0x00cf8000)
librt.so.1 => /lib/librt.so.1 (0x00d8d000)
libacl.so.1 => /lib/libacl.so.1 (0x00d62000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00de0000)
libc.so.6 => /lib/libc.so.6 (0x00110000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00d71000)
/lib/ld-linux.so.2 (0x00baf000)
libattr.so.1 => /lib/libattr.so.1 (0x003a9000)
libdl.so.2 => /lib/libdl.so.2 (0x00d55000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00d98000)
로그인 후 복사
이 명령은 매우 중요하며 간단한 man 명령으로 사용할 수 있습니다.

#使用whereis查看命令的完整路径和相应的man文件
[root@lovelace scripts]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
#man 查看对应的文件
[root@lovelace scripts]# man 1 ls
#man 查看对应的文件
[root@lovelace scripts]#
[root@lovelace scripts]# man 1p ls
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿