Grep을 사용하여 Linux 파일 및 디렉토리를 더 똑똑하게 검색하십시오
다음 회의에 중요한 정보가 포함 된 파일 인 하나의 파일을 찾고 있습니다. 모든 파일을 수동으로 검색합니까? 시간이 걸릴 것입니다. 대신 우리는 작은 Linux Command Line Magic을 사용합니다. grep 특정 텍스트의 파일 및 디렉토리 내부를 검색하는 데 사용할 수있는 패턴 일치 명령입니다. grep GREP 명령의 입력으로 파이프가 하나의 명령의 출력과 함께 일반적으로 사용됩니다. 예를 들어, 파일 내부에서 특정 텍스트 문자열을 검색 할 수 있습니다. 더 적은 명령하고 출력을 파이프로 파이프하십시오 grep.
이 방법에서 우리는 사용할 것입니다 grep 파일 내 특정 데이터 문자열을 검색하기 위해 명령 및 일반적으로 추가 된 인수. 전체 파일 시스템을 검색하는 데 시간이 걸리고 많은 결과를 만들 수 있으므로 테스트 파일의 작은 디렉토리를 설정하는 것으로 시작합니다.
이 방법의 모든 명령은 대부분의 Linux 시스템에서 작동합니다. 우리는 Ubuntu LTS 설치를 사용했지만이 방법을 실행할 수 있습니다. 라즈베리 파이. 모든 방법은 터미널을 통해 수행됩니다. 누르면 대부분의 Linux 시스템에서 터미널 창을 열 수 있습니다. Ctrl, alt 그리고 티.
GREP에 대한 테스트 환경을 설정하십시오
처럼 grep 디렉토리와 그 용도를 탐색 할 수있는 일부 컨텐츠를 설정하는 데 필요한 다양한 방법으로 사용할 수 있습니다. 이 섹션에서는이 테스트 환경을 만들 것입니다.
1. 설정 a 시험 디렉토리 및 변경 디렉토리가 안에 있도록 디렉토리를 변경하십시오.
mkdir test
cd test
2.4 개의 파일, test1, test2, test3 및 test4를 만듭니다.
touch test1 test2 test3 test4
ls
3. 편집하다 테스트 1 사용 나노 별도의 줄에 다음 이름을 포함합니다. 이에 주목하십시오 테스트 1 이름 중 어느 것도 수도가 포함되어 있지 않습니다. 편집 후 나노 누르다 제어 x 종료하려면 누릅니다 와이 저장을 확인한 다음 누릅니다 입력하다.
nano test1
4. 파일에 다음 텍스트를 추가하십시오. 그런 다음 Ctrl + X를 누른 다음 Y를 입력하여 저장 및 종료합니다.
ali
mohamed
claire
aled
steve
5. 편집하다 시험 2 사용 나노. ~ 안에 시험 2 이름이 포함 된 단일 더 긴 테스트 라인을 추가합니다. 스티브.
nano test2
6. 파일에 다음 텍스트를 추가하십시오. 그런 다음 Ctrl + X를 누른 다음 Y를 입력하여 저장 및 종료합니다.
this is a long line of test that contains the name steve
7. 편집하다 시험 3 ~에 나노. 비슷합니다 테스트 1 우리는 별도의 줄에 이름 목록을 추가하지만이 목록에는 이름이 포함됩니다. 스티븐.
nano test3
8. 파일에 다음 텍스트를 추가하십시오. 그런 다음 Ctrl + X를 누른 다음 Y를 입력하여 저장 및 종료합니다.
alice
geoff
murbarak
mohamed
steven
9. 마지막으로 편집 테스트 4 테스트 환경을 완료합니다. 이 파일에서 우리는 시작시 대문자를 사용하고 있습니다. 스티브.
nano test4
10. 파일에 다음 텍스트를 추가하십시오. 그런 다음 Ctrl + X를 누른 다음 Y를 입력하여 저장 및 종료합니다.
Steve ?
Grep을 사용한 간단한 검색
특정 문자열의 파일을 검색하는 것은 매우 유용합니다. 예를 들어 로그 파일에서 오류를 디버깅 할 때 사용을 시작합시다 grep 가장 기본적인 형태로.
그만큼 grep 명령 구문은 간단합니다 grep 그 다음에는 어떤 인수가 이어지고, 우리가 검색하고자하는 문자열을 검색하고 마지막으로 검색 할 위치가 있습니다.
1. 찾다 테스트 1 문자열을 위해 스티브 grep 사용. 검색 기준은 사례에 민감하므로 올바르게 검색하고 있는지 확인하십시오. 그 단어에 주목하십시오 스티브 파일에서 발견되었음을 나타 내기 위해 단순히 빨간색으로 반환됩니다.
grep steve test1
2. 여러 파일에서 동일한 문자열을 검색하십시오. 파일 목록을 grep 검색하라는 명령. 여러 검색 영역을 사용하면 반환 된 결과에 결과가 발견되는 각 파일 이름이 태그됩니다. 또한 주목하십시오 grep 검색 된 문자열이 포함 된 전체 텍스트 줄을 반환합니다.
grep steve test1 test2
3. 디렉토리 내의 모든 파일을 검색하십시오. 별표 력 추가 grep 현재 디렉토리 내의 모든 파일을 검색합니다. 반환 된 결과에는 결과가 포함됩니다 시험 3 검색 문자열 스티브 스티븐 내에 포함되어 있습니다. 또한 이러한 결과는 결과를 포함하지 않습니다. 테스트 4 기본 형태에서와 같이 grep 명령은 사례에 민감합니다.
grep steve *
4. 인수를 추가하십시오 -나 만들기 위해 grep 케이스 둔감. 디렉토리의 4 가지 테스트 파일 모두에서 결과를 반환합니다.
grep -i steve *
Grep에 배관 출력
GREP의 가장 강력한 사용 사례는 다른 명령과 쌍을 이룰 때입니다. 파이프를 사용하여 명령의 출력을 grep 패턴 / 키워드를 검색하는 데 사용하십시오.
1. 새 터미널 창을 엽니 다.
2. 사용 lsusb 컴퓨터에 연결된 모든 USB 장치를 나열합니다. 여기에는 랩톱 웹캠과 같은 내부 USB 장치도 나열됩니다. 컴퓨터에 따라 출력이 다르지만 텍스트 벽을 만나야합니다.
lsusb
3. 사용하십시오 lsusb 다시 명령하지만 이번에는 사용됩니다 grep Linux를 검색합니다. 사이에 파이프를 추가하여 lsusb 그리고 grep 첫 번째 명령의 출력은 두 번째 명령의 입력으로 사용됩니다.
lsusb | grep Linux
커널 링 버퍼를 검사하기 위해 DMESG 및 GREP 사용
좀 더 복잡한 것을 시도해 봅시다. 이번에는 우리는 사용할 것입니다 DMESG 그리고 grep 커널 링 버퍼 (본질적으로 커널 로그 파일)를 검사합니다. 우리는 키워드를 검색 할 것입니다 DMESG“SecureBoot”를 확인하고 활성화되어 있는지 확인하십시오.
1. 터미널을 열고 Sudo를 사용하여 DMESG 명령을 실행하십시오. 이렇게하면 콘솔 출력 벽이 터미널에 인쇄됩니다. GREP를 사용하여 검색 할 수 있습니다.
sudo dmesg
2. 사용하십시오 grep 명령에서 DMESG 산출. 사용하십시오 -나 논쟁 보안 부츠의 모든 발생을 잡을 수 있도록 케이스 감수성을 끄려면. 출력은 SecureBoot가 나타나는 줄을 표시합니다. DMESG.
sudo dmesg | less | grep -i secureboot
GREP의 다른 용도
많은 Linux 명령과 마찬가지로 grep 명령. 몇 가지 흥미로운 예를 살펴 보겠습니다.
1. The를 사용하여 역 검색을 수행하십시오 -다섯 논쟁. 검색 문자열이 포함되지 않은 테스트 환경 파일의 모든 줄 목록이 반환됩니다. 스티브. 이 주장은 문제를 디버깅 할 때 로그 나 파일의 문자열 발생을 기각하는 데 유용합니다. 다시 결과는 사례에 민감하므로 자본화 된 선을 포함합니다. 스티브? ~에서 테스트 4.
grep -v steve *
2. 결합하십시오 -다섯 그리고 -나 케이스에 관계없이 모든 일치하는 문자열을 배제하는 인수.
grep -vi steve *
3. 영숫자가 아닌 텍스트 또는 공백이 포함 된 문자열을 검색하십시오. 공간 또는 기타 비 영화 텍스트가있는 검색 문자열을 포함하면 grep 명령 구문, 문자열이 포함 된 검색 문자열을 만들려면 문자열을 포함하려면 따옴표를 사용해야합니다. 이 단계에서 우리는“Steve?”를 찾고 있습니다. 여기에 포함되어 있습니다 테스트 4 파일.
grep “Steve ?” *
Grep을 사용하여 하위 디렉토리 검색
많은 Linux 명령과 마찬가지로 grep 명령. 몇 가지 흥미로운 예를 살펴 보겠습니다.
1. The를 사용하여 역 검색을 수행하십시오 -다섯 논쟁. 검색 문자열이 포함되지 않은 테스트 환경 파일의 모든 줄 목록이 반환됩니다. 스티브. 이 주장은 문제를 디버깅 할 때 로그 나 파일의 문자열 발생을 기각하는 데 유용합니다. 다시 결과는 사례에 민감하므로 자본화 된 선을 포함합니다. 스티브? ~에서 테스트 4.
grep -v steve *
2. 결합하십시오 -다섯 그리고 -나 케이스에 관계없이 모든 일치하는 문자열을 배제하는 인수.
grep -vi steve *
3. 영숫자가 아닌 텍스트 또는 공백이 포함 된 문자열을 검색하십시오. 공간 또는 기타 비 영화 텍스트가있는 검색 문자열을 포함하면 grep 명령 구문, 문자열이 포함 된 검색 문자열을 만들려면 문자열을 포함하려면 따옴표를 사용해야합니다. 이 단계에서 우리는“Steve?”를 찾고 있습니다. 여기에 포함되어 있습니다 테스트 4 파일.
grep “Steve ?” *
Grep을 사용하여 하위 디렉토리 검색
종종 우리는 서브 디렉토리에 포함 된 파일에서 문자열을 검색하고 싶을 것입니다. 우리는 단순히 이것을 추가하여 이것을 할 수 있습니다 -아르 자형 에 대한 재귀 적 주장 grep 명령.
1. 내에 테스트 파일이 포함 된 하위 디렉토리를 만듭니다 시험 예배 규칙서.
mkdir sub_directory
cd sub_directory
touch test5
2. 나노 텍스트 편집기를 사용하여 테스트 5를 엽니 다 그리고 파일에 텍스트 “스티브”를 파일에 추가하십시오. 그런 다음 Ctrl + X를 누른 다음 Y를 입력하고 입력하십시오 저장하고 나가기 위해.
nano test5.
3. 로 돌아갑니다 시험 예배 규칙서 그리고 추가 검색을 수행하십시오 -아르 자형 옵션. 결과를 주목하십시오 테스트 5 출력에 나열된 파일의 위치를 포함합니다.
cd ..
grep -r steve *
Linux의 Grep을 사용하면 시스템 전체에서 파일 내용을 검색하기위한 접근 방식이 적습니다. 많은 Linux 명령과 마찬가지로 도움말 메뉴를 살펴보면 추가 할 수있는 다양한 인수를 볼 가치가 있습니다. grep. 달리다 그립 – -H 터미널 에뮬레이터에서 모든 옵션을 확인하십시오.
더: Linux에서 디스크 사용을 확인하는 방법
더: Linux에서 프로세스를 죽이는 방법
더: Linux에서 파일을 찾는 방법
Post Comment