Linux를 새로 설치하면 몇 개의 파일이 있는지 아십니까? PopOS를 사용한다면! 예를 들어 Linux 배포판에는 31,000개가 넘는 파일이 있습니다. 문서 작성, 음악 저장, PDF 다운로드 또는 사진 정리를 시작하기 전입니다.
이 때문에 필요할 때 Linux에서 올바른 파일이나 폴더를 찾는 것이 어렵습니다. 이 기사에서는 Linux FIND 명령을 사용하는 방법을 배우고 가능한 모든 예제를 제공할 것입니다.
Linux FIND 명령 구문
구문은 단어 또는 명령이 조합되는 방식을 나타냅니다. 단어를 섞기만 하면 정상적인 문장이 무의미해질 수 있는 것처럼, 올바른 구문을 사용하지 않으면 명령이 실패할 수 있습니다.
[경로] [조건] [동작] 찾기
이것이 의미하는 바는 다음과 같습니다.
찾기 – Linux에서 찾기 유틸리티 시작
경로 – 어디서 볼 것인가
조건 – 검색에 적용할 인수
동작 – 결과로 무엇을 하고 싶은지
세 가지를 모두 사용하는 간단한 예는 다음과 같습니다.
찾습니다. -이름 파일-sample.rtf -인쇄
예상대로 file-sample.rtf 파일 이름을 찾습니다. .
마침표(. ) 경로는 find에게 현재 디렉토리와 그 안의 모든 디렉토리를 찾도록 지시합니다.
-이름 상태 특정 이름의 파일을 가져오도록 find에 지시합니다.
-인쇄 action은 결과를 화면에 표시하도록 FIND에 지시합니다.
마침표 및 -print는 찾기 명령의 기본값입니다. 따라서 사용하지 않는 경우에도 동일한 작업을 수행합니다. 따라서 -name file-sample.rtf 찾기 동일한 결과를 얻을 수 있습니다.
Linux가 다른 디렉토리에서 찾기
현재 있는 디렉토리와 다른 디렉토리에서 검색할 수 있습니다. FIND 뒤에 디렉토리 경로를 삽입하기만 하면 됩니다. 루트에 있고 파일이 home/user의 어딘가에 있다는 것을 알고 있는 경우 사용할 디렉토리:
집/사용자 이름 file-sample.rtf 찾기
여전히 재귀 검색이므로 user 아래의 모든 디렉토리로 이동합니다. .
Linux 찾기 여러 디렉토리 검색
한 번에 여러 디렉토리를 검색하려면 명령에 공백으로 구분하여 나열하십시오.
/lib /var /bin -name 파일-sample.rtf 찾기
재귀가 없거나 제한이 있는 Linux 찾기
루트 수준에서 위의 FIND 명령을 사용한 경우 시스템의 모든 디렉토리를 검색합니다. 따라서 현재 디렉토리만 사용하려면 -maxdepth 옵션. -maxdepth 뒤의 숫자는 Find가 중지하기 전에 얼마나 깊이 가야 하는지 알려줍니다.
-maxdepth 1 사용 이 디렉토리를 의미합니다.
이름 파일-sample.rtf -maxdepth 1 찾기
-maxdepth 2 사용 또는 더 큰 숫자는 그만큼 더 깊은 수준으로 이동한다는 것을 의미합니다.
-maxdepth 5 -name file-sample.rtf 찾기
Linux FIND 와일드카드 예
FIND 명령은 별표(* )를 와일드카드로 사용합니다. 확실하지 않은 이름 부분에 사용하십시오. 이름에 두 번 이상 사용할 수 있습니다. 파일 이름의 일부로 파일 유형이 없으면 결과에는 일치하는 디렉토리도 포함됩니다.
집/사용자 이름 파일*샘플* 찾기
Linux 유형별 찾기 예
파일이나 디렉토리만 검색하려면 -type 옵션과 적절한 설명자를 사용하십시오. 몇 가지가 있지만 파일과 디렉토리가 가장 일반적입니다.
f – 파일
d – 디렉토리
b – 장치 차단
c – 캐릭터 장치
l – 심볼릭 링크
s – 소켓
집/사용자 이름 찾기 파일*샘플* -유형 d
Linux FIND 대소문자를 구분하지 않는 예
Windows와 달리 Linux는 문자가 대문자인지 소문자인지를 중요하게 생각합니다. 따라서 File-Sample.rtf 및 file-sample.rtf를 모두 검색하도록 하려면 -iname 옵션.
집/사용자 찾기 -iname File-Sample.rtf
Linux에서 여러 파일 찾기 예
파일의 .rtf 및 .html 버전을 찾고 싶다고 가정해 보겠습니다. -o를 사용하여 하나의 명령으로 수행할 수 있습니다. (또는) 연산자. 일부 배포판에서는 ( -name file-sample.rtf -o -name file-sample.html )과 같이 대괄호 안에 이름을 넣어야 할 수도 있습니다. .
집/사용자 이름 찾기 file-sample.rtf -o -name file-sample.html
이름과 일치하지 않는 Linux 파일 찾기
파일의 .html 버전이 있다는 것을 알고 있을 수 있지만 다른 파일이 있는 경우에는 그렇지 않습니다. -not 을 사용하여 검색에서 .html 버전을 필터링할 수 있습니다. 옵션.
집/사용자 이름 파일 샘플* 찾기 -이름 *.html이 아님
오류 없이 Linux 찾기 결과
재귀가 없는 찾기 예제에서 검색할 수 없는 모든 디렉토리와 올바른 결과가 나열되었음을 알 수 있습니다. 그거 짜증나네. 모든 "사용 권한이 거부된" 디렉토리를 표시하지 않도록 합시다. 다른 Linux 터미널 명령인 grep과 결합합니다. grep으로 찾기를 사용하여 특정 단어가 포함된 파일을 찾을 수도 있습니다.
찾기 -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v "권한 거부됨"
2>&1을 분해해 보겠습니다. .
2 – stderr 을 나타냅니다. 표준 오류 출력의 약자입니다.
1 – stdout을 나타냅니다. 표준 출력의 약자
> – 출력의 왼쪽에 있는 출력을 오른쪽에 있는 출력으로 리디렉션하는 것을 의미합니다.
& – 뭉치다라는 뜻입니다.
따라서 2>&1 표준 오류를 가져와 리디렉션한 다음 표준 출력과 함께 하나의 출력으로 만드는 것을 의미합니다.
이제 |를 살펴보겠습니다. grep -v "권한 거부됨" .
| (파이프라고 함) – 왼쪽에 있는 결과를 오른쪽에 있는 모든 항목에 제공하도록 Linux에 지시합니다. grep 명령에 공급되고 있습니다.
그렙 – 텍스트 검색 유틸리티입니다.
-v – -v 왼쪽에 있는 텍스트와 일치하지 않는 모든 항목을 검색하도록 grep에 지시합니다. 이 경우 "Permission denied"라는 텍스트나 문자열이 포함되지 않은 항목만 찾도록 grep에 지시합니다. 따라서 grep은 찾고 있는 결과와 "허가 거부됨"과 일치하지 않는 오류만 표시합니다.
권한으로 Linux 찾기 예
이것을 잘 사용하기 위해서는 리눅스 권한을 배워야 합니다.
예제 파일에는 권한 775가 있는 파일을 제외하고 모두 권한 664가 있습니다. -perm 찾을 수 있는 옵션입니다.
문서 찾기/ -name file-sample* -type f -perm 775
Linux의 크기별 찾기 예
크기별로 파일을 찾는 것은 하드 드라이브를 채우는 거대한 파일을 얻는 데 편리합니다. -size 옵션, 원하는 크기 및 다음 접미사 중 하나를 사용하십시오. 접미사를 사용하지 않으면 -size 기본값은 b입니다. . 특정 크기 이상의 파일을 찾으려면 크기 앞에 더하기 기호(+)를 붙입니다.
M – 메가바이트
G – 기가바이트
k – 킬로바이트
b – 블록(512바이트 – 기본값)
c – 바이트
w – 단어(2바이트 함께)
-size +500k 찾기
소유자별 Linux 찾기
소유자별로 파일을 찾는 두 가지 방법이 있습니다. 하나는 소유자의 사용자 이름이고 다른 하나는 사용자 그룹입니다. 사용자 이름으로 찾으려면 -user를 사용하세요. 옵션 다음에 사용자 이름이 표시됩니다. 사용자 그룹별로 찾으려면 -group 을 사용하십시오. 뒤에 그룹 이름이 옵니다..
찾기 -사용자 그룹 이름 또는 -user 사용자 이름 찾기
최근 수정한 예에 따른 Linux 파일 찾기
지난 X일 동안 수정되거나 편집된 파일을 찾으려면 -mtime을 사용하세요. 숫자 다음에. 빼기 기호(– ) 숫자 앞의 숫자는 지금까지 며칠 동안 변경된 사항을 찾을 수 있습니다. 더하기 기호(+ )는 지금으로부터 많은 일 이내를 의미합니다.
find -name "file-sample*" -mtime +5(5일 이상 전)
find -name "file-sample*" -mtime -5(5일 이내)
마지막으로 수정한 시간(분)으로 찾으려면 -mmin 옵션을 사용하고 그 뒤에 분을 사용합니다. 위와 같이 +와 -를 사용합니다.
-name "file-sample*" 찾기 -mmin -5
-name "file-sample*" 찾기 -mmin +5
마지막으로 액세스한 시간별 Linux 파일 찾기 예
파일을 마지막으로 연 시간을 기준으로 파일을 찾는 데 사용되는 옵션은 -atime 입니다. 일 및 -am 동안 분 동안. 뒤로 돌아가서 + 및 - 기호를 보다 큼 및 미만으로 사용하려면 일 또는 분 수를 따르십시오.
찾기 -name "file-sample*" -atime -5
-name "file-sample* -amin -5 찾기
FIND를 다른 Linux 명령과 결합
grep 명령과 함께 find를 사용하는 위의 한 가지 예가 있으며 다른 많은 사람들과 함께 사용할 수 있습니다. find 및 기타 명령을 사용하면 매우 강력하고 시간을 크게 절약할 수 있음을 알 수 있습니다. 특정 유형의 파일을 삭제해야 한다고 상상해 보십시오. 파일 탐색기에서 검색하는 대신 올바른 명령을 내리기만 하면 몇 초 만에 완료됩니다. 이제 find 명령을 어떻게 사용하시겠습니까?