PDF 다운로드 PDF 다운로드

방법을 모른다면 리눅스에서 파일을 찾는 일이 다소 어려울 수 있다. 파일을 찾는 가장 좋은 방법은 몇 가지 터미널 명령어를 이용하는 것이다. 이런 명령어를 마스터하면, 파일을 완전히 제어할 수 있으며, 명령어는 다른 운영 체제에 있는 간단한 검색 기능보다 훨씬 강력하다.

방법 1
방법 1 의 3:

"locate"사용하기

PDF 다운로드
  1. locate 기능 을 설치한다. locate 명령어는 보통 find 보다 빠른데, 그 이유는 파일 구조의 데이터베이스에서 작동하기 때문이다. 모든 리눅스 배포판에 locate 기능이 설치되있지는 않아서, 다음과 같이 명령어를 입력하여 설치하면 된다:
    • sudo apt-get update 를 입력하고 Enter 를 누른다.
    • 데비안과 우분투에 다음과 같이 설치할 수 있다: sudo apt-get install mlocate 를 입력하고 Enter 를 누른다. locate 가 이미 설치되어 있다면, mlocate is already the newest version 라는 메시지가 뜰 것이다.
    • 아치 리눅스에서는, 팩맨 패키지 관리자를 사용한다: pacman -S mlocate
    • 젠투에서는 , 이머지를 쓴다: emerge mlocate
  2. locate 데이터베이스 를 업데이트 한다. 데이터 베이스가 만들어지고 업데이트 되지 않는 이상 locate 명령어는 아무것도 찾을 수 없다. 매일 자동으로 업데이트 되지만, 직접 업데이트를 할 수도 있다. locate 를 사용하고 싶다면 이렇게 해야 한다. [1]
    • sudo updatedb 를 입력하고 Enter 를 누른다.
  3. locate 를 사용하여 간단한 검색을 수행한다. locate 명령어는 빠르지만 find 명령어만큼 옵션이 다양하지 않다. find 명령어와 똑같은 방법으로 기본적인 검색을 수행할 수 있다.
    locate -i "*.jpg" 
    
    • 이 명령어는 전체 시스템에서 .jpg 확장자가 있는 파일을 검색할 것이다. 비장의 무기인 문자 * 기능은 find 명령어에서 쓸 때처럼 여기서도 똑같이 작동한다.
    • find 명령어처럼, -i 은 쿼리의 대소문자를 구별하지 않는다.
  4. 결과가 너무 많아서 힘들다면, -n 뒤에 원하는 결과의 개수 입력해서 줄일 수 있다.
    locate -n 20 
    -i "*.jpg" 
    
    • 쿼리와 일치하는 20개의 결과만이 뜰 것이다.
    • | 를 이용해 결과에 less 명령을 보내어 스크롤하기 쉽게 만들 수도 있다.
    광고
방법 2
방법 2 의 3:

"find" 사용하기

PDF 다운로드
  1. find 명령어로 수행할 수 있는 가장 간단한 검색 방법이다. 아래 명령어가 현재 디렉토리와 다른 서브 디렉토리에서 쿼리(요청한 정보)를 검색할 것이다. [2]
    find -iname "filename" 
    
    • -name 대신에 -iname 를 사용하면 쿼리의 대소문자를 구별하지 않는다. The -name 명령어는 대소문자를 다르게 구별한다.
  2. 시스템 전체에서 검색을 하고 싶다면, 변경자 / 를 쿼리에 붙인다. 그러면 find 가 루트 디렉토리부터 모든 디렉토리를 검색할 것이다.
    find / -iname "filename" 
    
    • / 대신 /home/pat 같은 디렉토리 경로를 넣어서 특정 디렉토리를 검색할 수도 있다.
    • / 대신에 . 를 사용해서 현재 디렉토리와 서브 디렉토리에서만 검색을 수행하도록 만든다.
  3. * 를 사용해서 쿼리와 일치하는 부분을 모두 검색한다. 비장의 무기인 * 문자는 전체 이름을 모를 때, 특정 확장자가 들어간 파일을 모두 찾고 싶을 때 유용하게 쓸 수 있다.
    find /home/pat -iname "*.conf" 
    
    • 이는 pat의 사용자 폴더(그리고 서브 디렉토리)에 있는 모든 .conf 파일을 찾을 것이다.
    • 파일 이름 일부분과 일치하는 모든 파일을 찾을 수도 있다. 예를 들어, wikiHow와 관련된 파일이 많다면, "*wiki*" 라고 입력하면 모두 찾을 수 있다.
  4. 검색 결과가 방대하다면, 가려내는 게 어려울 수 있다. | 문자를 사용해서 검색 결과에 "less" 필터링 프로그램을 보낸다. 그러면 스크롤하고 결과를 걸러내는 게 훨씬 수월해진다.
    find /home/pat -iname "*.conf" 
     | 
    less
  5. 변경자를 이용하면 특정 유형의 결과만 찾을 수 있다. 알맞은 변경자를 사용하여 보통 파일 ( f ), 디렉토리 ( d ), 심볼릭 링크 ( l ), 캐릭터 디바이스 ( c ), 블록 디바이스( b )를 찾을 수 있다.
    find / -type f -iname "filename" 
    
  6. 비슷한 이름의 파일이 많더라도 찾는 파일의 크기를 알고 있다면, 크기에 따라 결과를 거를 수 있다.
    find / -size +50M -iname "filename" 
    
    • 이렇게 하면 50메가바이트 이상의 결과만 나온다. + 또는 - 를 이용해서 용량이 더 큰 파일이나 작은 파일을 찾을 수 있다. + 또는 - 를 빼면 "정확하게" 지정된 크기의 파일을 찾을 것이다.
    • 바이트 ( c ), 킬로바이트 ( k ), 메가바이트 ( M ), 기가바이트 ( G ), 512-바이트 블록 ( b )으로 걸러낼 수 있다. 사이즈 플래그는 대소문자를 구별한다는 걸 주의한다.
  7. -and , -or , -not 연산자를 써서 다른 유형의 검색 결과를 하나로 합칠 수 있다. [3]
    find /travelphotos -type f -size +200k -not -iname "*2015*" 
    
    • 이 명령어는 "travelphotos" 디렉토리에 있는 파일 중에 크기가 200킬로바이트 이상이지만 "2015"라는 파일명이 들어가지 않은 파일을 검색할 것이다.
  8. 사용자가 소유한 특정 파일을 찾으려고 한다거나, 특정 권한이 있는 파일을 찾으려고 한다면, 검색망을 좁힐 수 있다.
    find / -user pat -iname "filename" 
    find / -group users -iname "filename" 
    find / -perm 777 
    -iname "filename" 
    
    • 위의 예는 쿼리의 특정 사용자, 그룹 또는 권한을 검색할 것이다. 파일명의 쿼리를 빼서 유형과 일치하는 모든 파일을 검색할 수도 있다. 예를 들어, find / -perm 777 는 777 (제한이 없는)권한이 있는 모든 파일을 불러올 것이다.
  9. find 명령어와 다른 명령어를 조합해서 쿼리에 따라 나온 파일을 실행할 수 있다. find 명령어와 두 번째 명령어를 -exec 플래그로 나누고, {} \; 로 마친다.
    find . -type f -perm 777 
    -exec chmod 755 
     {} 
     \; 
    
    • 이렇게 하면 현재 디렉토리(그리고 모든 서브 디렉토리)에서 777권한을 가진 모든 파일을 검색할 것이다. 그리고 chmod 명령어를 사용하여 권한을 755로 바꿀 것이다.
    광고
방법 3
방법 3 의 3:

파일에서 텍스트 찾기

PDF 다운로드
  1. grep 을 사용하여 파일 안에 있는 텍스트 문자열을 검색한다. 어떤 문구나 문자열이 들어간 파일을 찾고 있다면, grep 명령어를 쓸 수 있다. 기본적인 grep 명령어는 다음과 같은 형식을 띤다:
    grep -r -i "search query" 
    /path/to/directory/
    • -r 는 검색이 "반복"되게 만들어서, 쿼리 문자열이 들어간 모든 파일을 현재 디렉토리와 모든 서브 디렉토리를 검색할 것이다.
    • -i 는 쿼리가 대소문자 구별을 하지 않는다는 걸 의미한다. 대소문자를 구별해서 검색하고 싶다면, -i 연산자를 빼면 된다.
  2. 위에 나온 것처럼 grep 검색을 한다면, 파일명이 뜨고 일치하는 쿼리 텍스트가 하이라이트 될 것이다. 일치하는 텍스트는 숨기고 파일명과 경로만 뜨도록 다음과 같이 할 수 있다:
    grep -r -i "search query" 
    /path/to/directory/ | 
    cut -d: -f1
  3. grep 명령어는 올바른 권한 없이 폴더에 접근하려고 하거나 빈 폴더를 실행하려고 하면 오류 메시지를 띄운다. 에러 메시지를 /dev/null에 보낼 수 있는데, 이는 출력이 되지 않게 숨기는 것이다. [4]
    grep -r -i "search query" 
    /path/to/directory/ 2 
    >/dev/null
    광고

이 위키하우에 대하여

이 문서는 9,921 번 조회 되었습니다.

이 글이 도움이 되었나요?

광고