관리 메뉴

NineTwo meet you

[리눅스 기초] 파일 및 디렉토리 검색 본문

CS/리눅스

[리눅스 기초] 파일 및 디렉토리 검색

NineTwo 2020. 7. 27. 22:23
반응형

grep

하나 이상의 파일에서 문자 패턴을 검색하는 명령어다.

grep [option] pattern filename
옵션 설명
-i 검색 패턴 대소문자 무시
-l 매칭되는 패턴이 있는 파일 이름 출력
-n 매칭되는 줄 번호 표시
-v 검색 패턴을 제외하고 검색
-c 검색 패턴과 매칭되는 줄 개수 출력
-w 단어 단의로 검색

정규 표현식 메타 문자

메타문자 용도 예제 결과
^ 줄의 시작 지정 ^solaris solaris로 시작하는 줄
$ 줄의 마지막 지정 solaris$ solaris로 끝나는 줄
. 한 문자 대치 s.....s s로 시작하고 5개의 아무 문자, s로 끝남
* 아무것도 없거나 여러 문자 대치 [a-z]* 소문자로 시작하는 모든 문자 또는 아무것도 없음
[] 패턴 중 한 문자 대치 [Ss]olaris Solaris 또는 solaris
[^] 패턴 중 제외할 한 문자 [^a-r]olaris 첫 문자가 a에서 r까지 제외하고 s에서 z까지 오는 문자

egrep

grep 명령어와 사용법이 동일하며, grep명령어의 기능에 추가로 확장 정규 표현식을 지원한다.

메타 문자 용도 예제 결과
+ 특정 문자 앞에 하나이상의 문자 있음 [a-z]+tion tion문자 앞에 소문자의 문자 있음
ex) mention, caution
x|y x 또는 y root|admin root 또는 admin
(abc|def) abc 또는 def(문자열) ha(ve|ing) have 또는 having

fgrep

grep과 egrep 명령어와 사용법이 동일하지만 정규 표현식이나 확장 정규표현식이 무시된다는 차이점을 가진다.

즉, 정규 표현식에서 사용하는 문자가 포함된 패턴을 찾고 싶을 때 사용한다.


find

계층적인 디렉토리 구조에서 특정한 파일 및 디렉터리를 검색하기 위해 사용하는 명령어다.

파일 이름, 크기, 소유자, 시간, 종류와 같은 조건을 사용해 검색이 가능하다.

find pathname expression action

 

find 명령어 조건(expression)

조건 설명
-name filename 특정 파일 이름 지정(메타문자 사용가능)
-type 검색할 파일 종류 지정 가능 ls -l의 파일 종류
-perm 특정 권한을 가진 파일 검색
-user LoginID 특정 사용자가 소유한 파일 검색
-size [+|-]n 파일의 특정 크기 검색
+n은 이상, -n은 이하 n은 정확한 크기를 표시
-atime [+|-]n 파일에 접근한 시간 검색
-mtime [+|-]n 파일을 수정한 시간 검색

find 명령어 동작(action)

동작 설명
-print 기본값으로 터미널에 검색한 파일의 경로와 이름만 출력
-ls 터미널에 검색한 파일의 경로와 이름뿐 아니라 자세한 정보 표시
(inode, 파일크기, 권한 ,링크수, 소유자 그룹, 시간)
-exec command {} \; 검색한 파일에 특정 명령 수행
-ok command{} \; -exec결과와 비슷하지만 특정 명령을 대화형(명령어를 이행하기전 물어봄)으로 진행
반응형
Comments