이 튜토리얼에 초점을 맞추는 방법에서 파일을 찾는 리눅스를 사용하여 찾고 찾 명령입니다.시스템 관리자로서 파일 시스템에서 특정 파일을 찾는 것은 매우 일반적인 작업입니다.
그러나,그것은 될 수 있는 때때로 찾기 어려운에 있는 파일은 리눅스 파일시스템이 있는 경우에 특히 다른 사용자.
목표를 달성하는 데 도움이되는 두 가지 명령이 있습니다:찾기 및 찾기.,
이 튜토리얼에서,우리가 사용하는 방법을 참조하십시오 해당 명령을 효과적으로하고 그들이 어떻게 조정할 수 있는 것을 달성하기 위해 우리가 찾고 있습니다.
테이블의 내용.
을 찾을 사용하여 파일을 찾는 명령
첫번째 방법을 찾고 찾아에 있는 파일은 리눅스 호스트를 사용하여 찾는 명령입니다.,
기본적으로 찾기 명령에 사용할 수 있는 모든 분포 및 그것의 구문은 다음과 같습니다.
$ find <options> <path> <expression>
빠른 팁:당신은 몇 가지 문제가 기억하는 경우 경로 또는 식 첫째로 오는가?
는 grEP 에 대해 표현식 경로이고 find 는 반대이므로 경로 식이라는 것을 기억하십시오!
Find 는 locate 명령보다 훨씬 많은 옵션을 가지고 있기 때문에 꽤 강력한 명령입니다.
다음은 Linux 에서 find 함수의 모든 가능성입니다.,
find by filename 으로 파일 찾기
find 함수의 가장 일반적인 사용법은 파일 이름이 주어진 파일을 찾는 것입니다.
$ find <path> -name <pattern>
사이의 주요 차이점을 찾고 찾으면 그것을 찾은 파일을 찾을 것입니다 조회를 위한 파일 이름이면 찾을 것을 찾아 경로는 파일입니다.예를 들어 이전에 사용한 런레벨 예제로 돌아 가면 find 명령을 사용하여 런레벨 파일을 찾는 방법은 다음과 같습니다.,
$ find / -name runlevel*
What’s”2>/dev/null”부분입니까?
콘솔의 오류 메시지를 피하기 위해 출력 리디렉션을 사용하여 오류 출력을/dev/null 로 리디렉션했습니다.
을 찾을 사용하여 파일을 찾을 수 있 by filetype
으로 우리는 앞에서 설명에서 우리의 문서에서 단단하고 연약한 링크,파일은 할당된 파일 형식 및 그것은 방법으로 사용하여 구별한다.,
다음은 Linux 에서 사용되는 모든 파일 형식의 정리해입니다.
- f:표준 파일
- d:폴더 또는 디렉터리
- l:심볼릭 링크 또는 소프트 링크
- b:블록 디바이스(하드 드라이브와 같은 예를 들어)
- c:캐릭터 장치(시리얼 포트 사운드 카드는)
- p: 파이프라
- s:소켓
아는 모든 파일 형식을,당신은 지금 할 수 있는 파일들을 검색하여 파일의 형식으로 찾기 명령입니다.
$ find <path> -type <filetype>
예를 들어 호스트의 모든 심볼릭 링크를 검색하면 다음 명령을 실행합니다.,
$ find / -type l
매개 변수 결합할 수 있는 경우,예를 들어,내가 찾는 모든 심볼릭 링크된 파일 이름으로 끝나는”.서비스”(예를 들어 모든 systemd 서비스를 격리하기 위해)다음 명령을 실행합니다.
$ find / -type l -name *.service
파일을 찾을 사용(연장)
마찬가지로를 찾을 명령할 수 있에서 파일을 찾는 리눅스를 사용하여 패턴이다.
알림으로 패턴은 글 로빙 문자를 포함하는 문자열입니다(예:*,?,,또는 범위).
이 옵션은 확장자가 주어진 파일(예:Javascript 파일)을 찾으려고 할 때 특히 그렇습니다.
에서 파일을 찾는 리눅스를 사용하여 패턴 다음 명령을 실행
$ find <path> -name ".<extension>"
$ find / -name "*.js"
파일을 파일은 리눅스에서는 소유자에 의해
때때로, 을 격리하려는 파일에 의해 만들어진 특정 사용자.
호스트에서 사용자를 삭제할 때 예를 들어이 사용자와 관련된 모든 파일을 삭제할 수 있습니다.,
때로는 사용자가 홈 디렉토리에서 파일을 만들고 사용자 홈 디렉토리를 삭제하는 것만으로는 충분하지 않습니다.
결과로서,파일을 찾기 위해 만들어진 특정 사용자가 리눅스에서 다음 명령을 실행하여
$ find <path> -user <user>
예를 들어 모든 파일을 찾을 소유해”요한은”내 호스트에서,나는 다음 명령을 실행합니다.
$ find / -user john
이제하고 싶은 경우에는 어떻게 삭제 모든 파일을 소유한 요한에 의해 간단한 명령으?,
삭제 플래그를 사용하여 쉽게 달성 할 수 있습니다.
$ find / -user john -delete
파일을 찾을 수 있 리눅스에 의해 사용 권한
을 사용하여 명령을 찾을 수 있습니다 또한 그 파일을 찾는 특정 사용 권한에 호스트.
$ find <path> -perm <permissions>
알림으로 파일 권한이 Linux 에서 작동하는 방법은 다음과 같습니다.
모든 파일을 찾는 권한(777 주어진 이진수 표기),당신은 다음 명령을 실행할 수 있습니다.,
$ find / -perm 777
할 수 있는 경우 매우 편리하게 보안상의 이유로 검사할 경우 파일이 없도록 구성을 가진 전체에 대한 사용 권한 시스템입니다.
파일을 찾으로 찾기
또 다른 매우 편리한 방법을 찾고 찾아 리눅스에서 파일을 찾는 것입 찾기 명령으로 크기 옵션.
크기 옵션을 사용하면 검색 있는 파일에 대해 크기를 지정하는,보다 큰 특정한 크기 또는 보다 낮은 특정 크기입니다.,
이 검색에 대한 파일 크기에 의하여,다음 명령을 사용합니다.
$ find <path> -size <size>
크기에 의해 정의는 다음 접두사:
- c:bytes
- b:512 바이트 블록
- k:Kb
- M: 메가바이트
- G:Gb
지정할 수 있습니다”+”당신이 찾고있는 파일에 대해 크기보다 큰 지정합니다.,
에 대한 예를 찾기 위해서는 파일 1 보다 큰 GB 시스템에서 다음 명령을 실행하여
$ find / -size +1G
파일을 찾는 보다 낮은 10MBs 시스템에서 다음 명령을 실행하여
$ find / -size -10M
마지막으로 검색하는 파일에 대해서는 정확하게 지정된 크기에서 쿼리 지 않아야 합 추가 어떤 플러스 마이너스 접두사를 명령입니다.
$ find / -size 1024k
명령을 정의하는 모든 파일을 찾을 것입니다 정확히 1024 년 Kbs 크기에 호스트.,
파일을 찾을 수 있 리눅스에서 수정 날짜
을 사용하여,당신은 또한 파일을 찾을 수 있어 수정 날짜,최근거나지 않습니다.
이 명령은 매우 편리하고 매우 자주 사용되는 시스템 관리자를 찾을 수 있는 파일 또는 디렉토리 최근에 수정합니다.
에 대한 검색을 사용하여 파일을 찾으로 수정 날짜,다음 명령을 실행
$ find <path> -mtime <time>
는 시간을 나타내는 파일을 수정 24*<시>hours ago. 결과적으로 시간은 일 단위로 표시됩니다.,
마찬가지로 크기 옵션을 추가할 수 있습니다”플러스”또는”빼기”연산자를 찾을 시간이 파일을 수정 보다 더<시>일 전에,또는 보다 적은<시>있습니다.예를 들어 정확히 3 시간 전에 수정 된 파일을 찾으려면 다음 명령을 실행합니다.,
$ find / -mtime 3
파일을 찾을 수정한 하나 이상의 주 전에,당신은 다음 명령을 실행
$ find / -mtime +7
파일을 찾을 수정한 보다 적은 이틀 전에, 당신은 다음 명령을 실행
$ find / -mtime -2
파일을 찾을 동적으로 깊이
으로 당신은 아마 발견의 시작부터,이 튜토리얼에서,우리는 예제를 제공 파일 검색을 시작하는 루트 디렉토리에서.결과적으로 모든 폴더는 재귀 적으로 탐색됩니다.,
그러나 하나의 디렉토리에서 재귀 적으로 이동 한 디렉토리의 수를 제한 할 수 있습니다.이를 깊이라고합니다.
제한하는 파일을 검색하어,다음 쿼리를 실행합니다.
$ find <path> -maxdepth <depth>
예를 들어,여기에할 수 있는 방법을 제한 파일을 검색하여 현재 디렉토리 아이가 없는 디렉토리고 열람.
$ find / -maxdepth 1
할 수 있는 분명히 결합한 이 명령어 이름을 가진 플래그하기 위해서는 파일들을 검색으로 주어진 이름이 현재 디렉토리에 있습니다.,
$ find . -maxdepth 1 -name *.tar
체인을 찾아-exec
어떤 경우에,당신은 유용하게 사용할 수있 체인을 찾는 명령으로 exec 하나입니다.
exec 옵션을 사용할 수 있습하기 위해서 체인 여러 명령을 함께 복용하는 결과의 첫 번째 중 하나로 입력의 두 번째 하나입니다.,
의 예를 들어 얘기하려는 모든 파일을 찾을 수정한 보다 적은 한 시간 전
$ find /home/user -mmin -1./file1
이제 그 말을 삭제하려는 모든 파일을 수정된 less than one minute ago.
이 구문을 사용하여 find 명령을-exec 옵션으로 체인 할 수 있습니다.
$ find /home/user -mmin -1 -exec echo rm -f '{}' \;
우리는 분명히 번째”에코”결과로 우리가 있는지 확인하려면 우리는 삭제하려는 정확한 파일이 있습니다.,해당 파일을 삭제할 준비가되면 에코 명령을 제거하기 만하면됩니다.
$ find /home/user -mmin -1 -exec rm -f '{}' \;
찾기 리눅스에서 파일을 사용하여 명령을 찾
는 또 다른 좋은 방법을 찾고 찾아 리눅스에서 파일을 사용하는 것이 찾아 명령입니다.
전제조건
경우 위치 명령에 사용할 수 없 시스템에서 읽을 수 있는지 확인하십시오 다음 섹션에서 얻을 찾아에서 실행되는 시스템입니다.,
a–APT 및 RPM 기반 배포판에서 Locate 설치
locate 를 설치하려면 Linux 호스트에 sudo 권한이 필요합니다.
호스트에 locate 가 설치되어 있는지 확인하려면 명령 줄에서 locate 명령을 실행하십시오.,
$ locate
면을 찾아가 컴퓨터에 설치되어 있는,그것이 기대하는 표정을 제공
경우를 찾아에 설치되어 있지 않은 호스트, 는 오류 메시지가 표시됩니다.
설치를 찾아 우분투에서 18.04 과 데비안 10,다음 명령을 실행합니다.,
$ sudo apt-get install mlocate
마찬가지로 CentOS 또는 Fedora 기반 배포판에있는 경우 다음 명령을 실행하여 locate 를 설치하십시오.
$ sudo yum install mlocate
b 업데이트 mlocate 와 데이터베이스
찾기 기능으로 로컬에 저장된 데이터베이스의 파일 시스템에 저장하는 모든 단일 파일의 host.
locate 명령을 수행 할 때 locate 는 검색중인 파일에 대해 updatedb 에서 준비한 데이터베이스를 검색합니다.
주기적으로 cron 작업이 mlocate 를 업데이트합니다.당신이 가장 최근의 항목을 찾기위한 db 파일.,데이터베이스가/var/lib/mlocate/mlocate 에 있습니다.db 는 기본적으로 updatedb 구성 파일은/etc/updatedb 에 저장됩니다.콘프.
지금은 기본 옵션을 그대로두고 데이터베이스에 대한 간단한 updatedb 명령을 실행하여 새로 고칠 수 있습니다.
$ sudo updatedb
파일을 찾 주어진 이름 패턴
가장 기본적인 방법으로 파일을 찾는 리눅스에서 제공하는 패턴을 찾아 명령입니다.,
기본적으로,구문의 명령을 찾는 다음의 하나입니다.
$ locate ... ...
을 찾고 있는 경우 주어진 구성 파일 시스템에 있는 파일을 찾을 수있는 쉬운 방법을 제공하는 파일의 이름을 찾는 명령.
$ locate updatedb.conf
당신이 볼 수 있듯이,locate 명령을 반환하는 완전한 경로의 파일 내가 찾고 있습니다.,
제한된 디렉토리에서 파일 찾기
때때로 시스템의 일부 디렉토리에 액세스 할 수 없을 수도 있습니다.결과적으로,당신은 그것에있는 파일을 찾을 수 없을 것입니다.
“restricted-file”이라는 파일이 포함 된 금지 된 폴더의 예를 들어 보겠습니다.
파일을 찾을에 위치한 디렉터리 제한,당신은 당신을 실행하는 명령을 찾으로 sudo 권한이 있습니다.,
$ sudo locate restricted-file
파일을 찾을 사용하여 패턴
를 사용하여 명령을 찾을 제공할 수 있습니다”패턴의 형태로”일 자입니다.
일 캐릭터라고도 하는 와일드카드 문자 사용에 일치시키기 위해 하나 또는 여러 개의 항목으로 단순화된 표현이다.
가장 인기있는 것은 none 을 포함한 모든 문자와 일치하는”*”입니다.
다음은 globbing 문자와 그 기능에 대한 요약표입니다.,6934f1″>
ab
cab
runlevel
runlevel1, runlevel2, runlevel6
As an example, here’s a way to locate all text files on your system.,
$ locate *.txt
파일을 찾 정규표현식을 사용하여
에 명시된 바와 같이 공식적인 남자 페이지를 찾고,찾 명령을 받은 패턴으로 입력합니다.locate 명령에 정규식을 제공한다는 의미입니다.
정규식이 주어진 파일을 찾고 찾으려면 locate 명령에-regex 옵션을 사용하십시오.,
$ locate --regex <regex>
예를 들어,분리하는 모든 파일을 시작으로 실행 수에 따라,당신은 다음 명령을 실행합니다.
$ locate --regex runlevel+
의 정규표현식을 사용할 때,거기에 하나의 중요한 포인트는 당신이 알고 있어야의 찾을 때 파일이 있습니다.
locate 명령은 로컬 데이터베이스의 파일에 대한 경로를 찾고 있습니다.,
결과로서,파일을 검색할 때,당신은 알고 있어야 한다는 귀하의 정규 표현식을 매치 파일의 경로와 파일이 아닌 혼자 이름.
예를 들어”run”으로 시작하는 파일을 찾으면 파일의 경로가”/usr”로 시작되므로 결과가 반환되지 않습니다.
파일을 찾을 사용하여 대소문자를 구분하지 않 옵션
를 검색할 때에 파일을 파일시스템에,당신은 확실하지 않을 수 있습니다에 대한 방법으로 지정된 파일의 이름을 따서 되었습니다.,
대문자 또는 소문자로 작성 되었습니까? 대문자가 전혀 포함되어 있습니까?
대소 문자를 구분하지 않는 옵션을 사용하여 파일을 찾고 찾으려면 locate 명령에-i 옵션을 추가하십시오.,
$ locate -i <file_pattern>
파일을 검색하여 콘텐츠를 사용하여 grep
어떤 경우에,당신은 관심이있을 수 있습에서 파일을 찾는 일치하는 특정 단어의 문장이 그 안에 있는 파일입니다.예를 들어 특정 로그 이벤트가 포함 된 파일을 찾으려고하는 경우에 발생할 수 있습니다.,
첫 번째 방법을 검색에 대한 일치하는 파일을 특정 단어를 사용하여 grep 명령
$ grep -r <pattern> <path>
참고:을 잊지 마세요”r”옵션을 선택할 경우 파일 검색을 통해 전체 디렉토리입니다.예를 들어”4f58f4c976″>
입니다., 검색 중인 경우 모든 파일을”오류”에서 자신의 콘텐츠에 위치한 당신의 홈디렉토리의 경우 다음과 같이 입력합니다.
$ grep -r error /home/user
어떤 경우에, 할 수 있습을 찾으려면 파일은 주어진 정기적인 표현입니다.
정규식을 사용하여 파일을 찾으려면”-E”옵션을 사용하십시오.,
$ grep -r -E <expression> <path>
의 예를 들어 얘기하려는 파일을 찾을과 일치하는’abc’패턴에 하나의 파일 에 입력할 수 있습니다.
$ grep -r -E "abc.*" --color /home/user
참고:색상 옵션은 사용하기 위해서 강조를 사용하여 일치 grep 명령입니다.,
파일을 찾을 사용하는
을 찾는 또 다른 좋은 방법에 있는 파일은 리눅스를 사용하는 명령입니다.
특정 명령과 관련된 파일을 찾기 위해 어떤 명령이 사용됩니다.
이 될 수 있는 매우 편리하지 않는 경우 알를 저장한 바이너리를 명령하거나 당신을 찾을 필요가 있다면 명령하기 위해 추가의 경로입니다.,
$ which <command>
예를 들어,기 위해서는 파일을 검색하에 관련된”ls”명령의 경우 다음과 같이 입력합니다.
$ which ls/usr/bin/ls
당신이 볼 수있는,당신은 주어진 완전한 파일의 경로입니다.
whereis 를 사용하여 바이너리를 찾습니다
마찬가지로 whereis 명령을 사용하여 파일을 검색하는 것이 완전히 가능합니다.
“whereis”명령으로 볼 수 있는 상위 집합의”는”명령:”whereis”에 대한 정보를 제공하는 명령의 이름,이 파일의 위치뿐만 아니라 위치의 매뉴얼 페이지입니다.,
whereis 를 실행하려면”whereis”를 입력하고 명령의 이름을 추가하기 만하면됩니다.
$ whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
꽤 편리!
결론
에서는 오늘의 튜토리얼에서,당신이 배운 방법을 찾을 수 있습을 찾 리눅스에서 파일을 사용하여 두 개의 중요한 명령:를 찾고 찾을 수 있습니다.
경우에도 옵션을 제시했다는 개별적으로,당신이 기억해야한다는 결합할 수 있습하기 위해 지정할 수 있도 더 많은 파일을 찾고 있습니다.
항상 관심이 있는 경우에는 리눅스 시스템 관리의,우리는 완전한 섹션을 전용하기 리눅스에서 우리의 웹 사이트입니다.,
As always, here is a short video on the subject in case you prefer Youtube videos.