-
검색 관련 명령어linux/centOS 2018. 6. 13. 12:15
☆ grep
: 파일 내에서 특정한 패턴을 검색하여 그 패턴을 포함하는 모든 줄을 화면에 출력하는 명령어. 파일 내에 특정한 패턴을 찾기 위해 많이 사용한다. 찾으려고 하는 패턴을 정규식(g/re/p, Globally/Regular Expression/Print)이라고 표현한다. grep 명령어의 약자에서 볼 수 있듯이 많은 패턴을 제공하고 있다.
[명령어 형식]
# grep OPTIONS PATTERN file1
(기본 사용법)
# grep root /etc/passwd (# cat /etc/passwd | grep root)
# CMD | grep root
# cat /etc/passwd | grep root
# rpm -qa | grep talk
# ps -ef | grep xinetd
# chkconfig --list | grep ssh
# netstat -an | grep :22
(옵션 사용법) "# grep OPTIONS PATTERN file1"
# grep -l root /etc/hosts /etc/passwd /etc/group /* 여러 파일 중 검색 문자열 존재 파일 출력 */
# grep -n root /etc/group /* -n: number line, 파일에서 root 문자열을 검색하고 라인 번호도 같이 출력 */
# grep -v root /etc/passwd /* -v: inverse, 파일에서 검색 문자열을 제외하고 나머지 출력 */
# grep -i root /etc/passwd /* -i: ignore case, 파일에서 검색 문자열의 대소문자를 구분하지 않음 */
# grep -w root file1 /* -w: word */
# grep --color root /etc/passwd
[명령어 옵션]
옵션
설명
-l
(-l : list files) 패턴이 있는 파일이름만을 출력한다.
-n
(-n : number line) 패턴을 포함하는 줄을 출력할 때 줄번호와 함께 출력한다.
-v
(-v : inVerse, except) 패턴을 포함하는 줄을 제외하고 출력한다.
-c
(-c : count) 패턴을 찾은 줄의 수를 출력한다.
-i
(-i : ignore case, 대문자/소문자) 패턴을 찾을 때 대소문자를 구분하지 않는다.
☆ find
: 디렉토리안에서 원하는 파일을 찾고자 할 때 사용하는 명령어이다. find 명령 다음에 시작 디렉토리를 정해 주고 찾고자하는 파일 이름 앞에 옵션을 주면 된다.
[명령어 형식]
# find [검색시작위치] [옵션1] [인자값1] [옵션2] [인자값2] ...
[명령어 옵션]
옵션
설명
-name
파일 이름을 기준으로 검색
-perm
파일 권한을 기준으로 검색한다.
-type
파일의 종류를 기준으로 검색
b : 블록 파일
c : 문자
d : 디렉토리
f : 파일
l : 링크
s : 소켓
-size
파일의 크기를 기준으로 검색
+n : n보다 크다
-n : n보다 작다
n : n이다
b : 512-byte
c : Bytes (Character = Byte)
k : Kilo Byte
M : Mega Bytes
G : Giga Bytes
w : 2-byte
-links
링크의 개수를 기준으로 검색
-user
사용자 ID를 기준으로 검색
-atime
특정 기간 이상 접근하지 않은 파일을 기준으로 검색
-mtime
특정 기간 이상 수정되지 않은 파일을 기준으로 검색
-inode
number 지정된 inode 번호와 파일을 찾는다.
-print
표준출력으로 검색된 파일 출력: GNU는 디펄트, Unix는 필수 입력
-exec command {} ₩;
찾은 각 파일에 대해 지정된 명령을 실행
-ok command {} \;
실행여부(실행 되어 있는지 아닌지)를 사용자에게 확인 후 명령을 실행