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 그룹이 없는 파일
[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: 소켓
#查找/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
[+|-]#k 아니요 + 및 - 의미 정확히 일치
[+|-]#m
[+|-]#G
-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
일수:
수정 시간: -ctime
보기 시간: -atime
[+|-]# 기본 타임스탬프는 5일입니다.
-5: 5일 이내에 방문했습니다
+5: 최소 5일 동안 방문하지 않았습니다
5: 방문했습니다
-mmin:
-cmin:
-amin:
오랜 시간 동안 접속하지 않았고 파일 크기가 일정량을 초과하는 경우 삭제 작업을 수행합니다
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 action:
-print 기본값
-ls: ls -l
- ok와 유사한 형식으로 파일의 모든 정보를 표시합니다. command {} ; 쿼리 작업은 매번 실행되며 사용자 확인이 필요합니다.
-exec command {} ; 쿼리 작업을 깨우지 않습니다.
원래 이름을 인용하려면 {}
<🎜을 사용하세요. >
예: find /tmp -perm -020 -exec mv {} {}.new ;
#找出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='ls --color=tty' /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)
#使用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