>  기사  >  운영 및 유지보수  >  리눅스에서 일반적으로 사용되는 15가지 명령 찾기

리눅스에서 일반적으로 사용되는 15가지 명령 찾기

巴扎黑
巴扎黑원래의
2017-08-10 11:10:472031검색

[소개] 디렉터리 구조에서 파일을 검색하는 기본 작업 외에도 find 명령을 사용하여 몇 가지 실용적인 작업을 수행하여 명령줄 여행을 더 쉽게 만들 수도 있습니다. 이 기사에서는 초보자와 베테랑 모두에게 매우 유용한 15가지 Linux 찾기 명령을 소개합니다. 먼저, 홈 디렉터리 아래에 파일을 만듭니다. 디렉터리 구조에서 파일 검색과 같은 기본 작업 외에도 find 명령을 사용하여 몇 가지 실제 작업을 수행하여 명령줄 작업을 더 쉽게 만들 수 있습니다.

이 글에서는 초보자와 베테랑 모두에게 매우 유용한 Linux 찾기 명령 15가지를 소개합니다.

먼저 홈 디렉터리에 다음과 같은 빈 파일을 만들어 다음 find 명령 예제를 테스트하세요.

01
#vim create_sample_files.sh
02
MybashProgram.sh를 터치하세요
03
mycprogram.c를 터치하세요
04
MyCProgram.c를 터치하세요
05
touchProgram.c
06
07
mkdir 백업
08
CD 백업
09
10
MybashProgram.sh를 터치하세요
11
mycprogram.c를 터치하세요
12
MyCProgram.c를 터치하세요
13
touchProgram.c
14
15
# chmod +x create_sample_files.sh
16
17
# ./create_sample_files.sh
18
19
#ls -R
20
.:
21
MybashProgram.sh 백업 MyCProgram.c
22
create_sample_files.sh mycprogram.c Program.c
23
24
./backup:
251. 파일 이름으로 파일 찾기
MybashProgram.sh mycprogram.c MyCProgram.c Program.c

find 명령어의 기본 사용법입니다. 다음 예에서는 MyCProgram.c를 검색 이름으로 사용하여 현재 디렉터리와 해당 하위 디렉터리에서 파일을 찾는 방법을 보여줍니다.

1
# find -name "MyCProgram.c"
2
./backup/MyCProgram.c
32. 대/소문자를 무시하고 파일 이름으로 파일 찾기
./MyCProgram.c

find 명령의 기본 사용법입니다. 다음 예에서는 대소문자를 무시하고 검색 이름으로 MyCProgram.c를 사용하여 현재 디렉터리와 해당 하위 디렉터리에서 파일을 찾는 방법을 보여줍니다.

1
# find -iname "MyCProgram.c"
2
./mycprogram.c
3
./backup/mycprogram.c
4
./backup/MyCProgram.c
53. minlength 및 maxlength를 사용하여 지정된 디렉터리 검색 깊이를 제한하세요.
./MyCProgram.c

루트 디렉터리와 그 하위 디렉터리에서 passwd 파일을 찾으세요.

1
# 찾기 / -이름 비밀번호
2
./usr/share/doc/nss_ldap-253/pam.d/passwd
3 ./usr/bin/passwd
4 ./etc/pam.d/passwd
5 ./etc/passwd

루트 디렉터리와 한 수준 깊은 하위 디렉터리 하나에서 passwd를 찾습니다(예: 루트 - 수준 1, 하위 디렉터리 하나 - 수준 2)

1 # find -maxlength 2 -name passwd
2 ./etc/passwd

루트 디렉터리와 최대 2개 수준까지의 하위 디렉터리에서 passwd 파일을 찾습니다(예: 루트 - 수준 1, 두 개의 하위 디렉터리 - 수준 2 및 3)

1 # find / -maxlength 3 -name passwd
2 ./usr/bin/passwd
3 ./etc/pam.d/passwd
4 ./etc/passwd

두 번째 수준 하위 디렉터리와 네 번째 수준 하위 디렉터리 사이에서 passwd 파일을 찾으세요.

1 # find -minlength 3 -maxlength 5 -name passwd
2 ./usr/bin/passwd
3 ./etc/pam.d/passwd

4. find 명령으로 찾은 파일에서 명령을 실행합니다.

다음 예에서는 "MyCProgram.c"라는 이름의 모든 대소문자 구분 파일의 MD5 확인 합계를 계산하는 find 명령을 보여줍니다. {}는 현재 파일 이름으로 대체됩니다.

1 find -iname "MyCProgram.c" -exec md5sum {} ;
2 d41d8cd98f00b204e9800998ecf8427e ./mycprogram.c
3 d41d8cd98f00b204e9800998ecf8427e ./backup/mycprogram.c
4 d41d8cd98f00b204e9800998ecf8427e ./backup/MyCProgram.c
5 d41d8cd98f00b204e9800998ecf8427e ./MyCProgram.c

5 반대로

을 일치시키면 이름이 MyCProgram.c가 아닌 모든 파일이나 디렉터리가 표시됩니다. MaxDeepth가 1이므로 현재 디렉터리의 파일과 디렉터리만 표시됩니다.

1 find -maxlength 1 -not -iname "MyCProgram.c"
2 .
3 ./MybashProgram.sh
4 ./create_sample_files.sh
5 ./backup
6 ./Program.c

6. inode 번호를 사용하여 파일 찾기

모든 파일에는 파일을 구별할 수 있는 고유한 inode 번호가 있습니다. 이름이 비슷한 두 개의 파일을 만듭니다. 예를 들어 하나는 뒤에 공백이 있고 다른 하나는 공백이 없습니다.

1 "테스트 파일 이름"을 터치하세요
2
3 # 터치 "테스트 파일 이름 "
4 [참고: 끝에 공백이 있습니다.]
5
6 # ls -1 테스트*
7 테스트 파일 이름
8 테스트 파일 이름

ls의 출력에서는 어떤 파일에 후행 공백이 있는지 구분할 수 없습니다. -i 옵션을 사용하면 파일의 inode 번호를 볼 수 있으며 이를 통해 두 파일을 구별할 수 있습니다.

1 ls -i1 테스트*
2 16187429 테스트 파일 이름
3 16187430 테스트 파일 이름

아래와 같이 find 명령에 inode 번호를 지정할 수 있습니다. 여기서 find 명령은 inode 번호로 파일 이름을 바꿉니다.

1 find -inum 16187430 -exec mv {} new-test-file-name ;
2
3 # ls -i1 *테스트*
4 16187430 새로운 테스트 파일 이름
5 16187429 테스트 파일 이름


위와 같이 이름이 잘못된 파일로 작업을 수행하려는 경우 이 기술을 사용할 수 있습니다. 예를 들어, file?.txt라는 파일의 이름에는 특수 문자가 있습니다. "rm file?.txt"를 실행하면 아래 표시된 세 파일이 모두 삭제됩니다. 따라서 아래 단계에 따라 "file?.txt" 파일을 삭제하세요.

1 ls
2 file1.txt file2.txt 파일?.txt

각 파일의 inode 번호를 찾으세요.

1 ls -i1
2 804178 file1.txt
3 804179 file2.txt
4 804180 파일?.txt

아래와 같이: inode 번호를 사용하여 특수 기호가 있는 파일 이름을 제거합니다.

1 find -inum 804180 -exec rm {} ;
2
3 #ls
4 파일1.txt 파일2.txt
5 [참고: 이름이 "file?.txt"인 파일은 이제 제거되었습니다.]

7. 파일 권한을 기준으로 파일 찾기

다음 작업이 합리적입니다.

  • 지정된 권한이 있는 파일 찾기

  • 다른 권한 비트를 무시하고 지정된 권한과 일치하는지 확인하세요

  • 기반 주어진 8진수/기호 표현식에 대한 권한 검색

이 예에서는 디렉터리에 다음 파일이 포함되어 있다고 가정합니다. 이러한 파일에는 서로 다른 권한이 있습니다.

1 ls -l
2 총 0
3 -rwxrwxrwx 1 루트 루트 0 2009-02-19 20:31 all_for_all
4 -rw-r--r-- 1 루트 루트 0 2009-02-19 20:30 Everybody_read
5 ------------ 1 루트 루트 0 2009-02-19 20:31 no_for_all
6 -rw------- 1 루트 루트 0 2009-02-19 20:29 보통_파일
7 -rw-r----- 1 루트 루트 0 2009-02-19 20:27 다른 사람_can_ also_read
8 ----r----- 1 루트 루트 0 2009-02-19 20:27 다른 사람_can_only_read

그룹 읽기 권한이 있는 파일을 찾아보세요. 파일에 대한 다른 권한은 무시하고 동일한 그룹의 사용자에 대한 읽기 권한이 있는 현재 디렉터리의 파일을 찾으려면 다음 명령을 사용합니다.

1 찾기 -perm -g=r -type f -exec ls -l {} ;
2 -rw-r--r-- 1 루트 루트 0 2009-02-19 20:30 ./everybody_read
3 -rwxrwxrwx 1 루트 루트 0 2009-02-19 20:31 ./all_for_all
4 ----r----- 1 루트 루트 0 2009-02-19 20:27 ./others_can_only_read
5 -rw-r----- 1 루트 루트 0 2009-02-19 20:27 ./others_can_ also_read

그룹 사용자에게 읽기 전용 권한이 있는 파일을 찾으세요.

1 찾기 . -perm g=r -type f -exec ls -l {} ;
2 ----r----- 1 루트 루트 0 2009-02-19 20:27 ./others_can_only_read

그룹 사용자에 대한 읽기 전용 권한이 있는 파일을 찾습니다(8진수 권한 형식 사용).

1 찾기 -perm 040 -type f -exec ls -l {} ;
2 ----r----- 1 루트 루트 0 2009-02-19 20:27 ./others_can_only_read

8. 홈 디렉터리와 하위 디렉터리에서 빈 파일(0바이트 파일)을 모두 찾습니다.

다음 명령의 출력 파일 대부분은 다른 프로그램에서 생성된 잠긴 파일과 장소 호더입니다

찾기
1 ~ -비어 있음

홈 디렉터리에 있는 빈 파일만 나열하세요.

1 find . -최대 깊이 1 -비어 있음


현재 디렉터리에 숨겨지지 않은 빈 파일만 나열됩니다.

1 find . -max깊이 1 -empty -not -name ".*"

9. 가장 큰 파일 5개 찾기

다음 명령은 현재 디렉터리와 하위 디렉터리에서 가장 큰 파일 5개를 나열합니다. 명령이 처리해야 하는 파일 수에 따라 시간이 걸립니다.

1 find .f -exec ls -s {} |
10. 가장 작은 파일 5개를 찾는 방법

은 정렬 순서가 내림차순이라는 점이 다릅니다.

1find .f -exec ls -s {} | 위 명령에서 보이는 것은 단지 빈 파일(0바이트 파일)일 가능성이 매우 높습니다. 따라서 다음 명령을 사용하면 0바이트 파일 대신 가장 작은 파일을 나열할 수 있습니다.

111. 지정된 파일 형식의 파일을 찾으려면 -type을 사용하세요.
find -not -empty -type f -exec -s {} 정렬 -n |
소켓 파일만 찾습니다.

1.-type s를 찾으세요모든 디렉토리 찾기

1-d형을 찾으세요 모든 일반 파일 찾기

1f를 입력하세요숨겨진 파일 모두 찾기

1find . -유형 f -이름 ".*"숨겨진 디렉터리 모두 찾기

1find -type d -name ".*"12. 수정 시간을 다른 파일과 비교하여 파일을 찾습니다.
지정된 파일 이후에 수정된 파일을 표시합니다. 아래 find 명령은 일반_파일 이후에 생성되고 수정된 모든 파일을 표시합니다.

01ls -lrt
02총 0
03-rw-r----- 1 루트 루트 0 2009-02-19 20:27 다른 사람_can_ also_read
04----r----- 1 루트 루트 0 2009-02-19 20:27 다른 사람_can_only_read
05-rw------- 1 루트 루트 0 2009-02-19 20:29 보통_파일
06-rw-r--r-- 1 루트 루트 0 2009-02-19 20:30 Everybody_read
07-rwxrwxrwx 1 루트 루트 0 2009-02-19 20:31 all_for_all
08------------ 1 루트 루트 0 2009-02-19 20:31 no_for_all
09
10# find -newer common_file
11.
12./everybody_read
13./all_for_all
14./no_for_all13. 파일 크기별로 파일 찾기
파일 크기별로 파일을 찾으려면 -size 옵션을 사용하세요.

지정된 파일보다 큰 파일 찾기

1~ -크기 +100M 찾기

지정된 파일보다 작은 파일 찾기

1 찾기 ~ -크기 -100M

주어진 크기와 일치하는 파일 찾기

1 ~ -크기 100M 찾기

참고: – 주어진 크기보다 작음을 의미하고 +는 주어진 크기보다 크다는 것을 의미합니다. 주어진 크기와 정확히 동일한 크기를 나타내는 기호는 없습니다.

14. 일반적으로 사용되는 찾기 작업에 별칭을 지정하세요.

유용한 것을 찾으면 별칭을 지정할 수 있습니다. 그리고 원하는 곳 어디에서나 실행하세요.

a.out 파일을 삭제하는 데 일반적으로 사용됩니다.

1 alias rmao="find . -iname a.out -exec rm {} ;"
2 #rmao

c 프로그램에서 생성된 코어 파일을 삭제하세요.

1 alias rmc="find . -iname core -exec rm {} ;"
2 #rmc

15 ​​대용량 패키지 파일을 삭제하려면 find 명령을 사용하세요.

다음 명령은 100M보다 큰 *.zip 파일을 삭제합니다.

1 find / -type f -name *.zip -size +100M -exec rm -i {} ;"

Heavy Rain 100M의 모든 *.tar 파일을 삭제하려면 별칭 rm100m을 사용하세요. 동일한 아이디어를 사용하여 rm1g, rm2g 및 rm5g라는 범주 이름을 만들어 1G, 2G 및 5G보다 큰 파일을 모두 삭제할 수 있습니다.

1 alias rm100m="find / -type f -name *.tar -size +100M -exec rm -i {} ;"
2 # 별칭 rm1g="find / -type f -name *.tar -size +1G -exec rm -i {} ;"
3 # 별칭 rm2g="find / -type f -name *.tar -size +2G -exec rm -i {} ;"
4 # 별칭 rm5g="find / -type f -name *.tar -size +5G -exec rm -i {} ;"
5
6 #rm100m
7 #rm1g
8 #rm2g
9 #rm5g

명령어 예시 찾기(2부)

위 내용은 리눅스에서 일반적으로 사용되는 15가지 명령 찾기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.