1. find [검색시작경로] [검색옵션] [검색어] [동작]
- 디렉토리 트리에서 파일을 검색
- 여러가지 조건으로 검색가능 : 파일이름, 크기, 타입, 수정시간, 권한 등
- but 내용으로는 검색 X
- 검색 결과는 표준출력(스크린)에 표시
[검색옵션]
-name [파일명] | 파일 이름으로 검색 | find / -name filename |
-size [+|-]n | 파일의 크기로 검색 | find / -size +3244 |
-atime [+|-]n | 파일의 접근시간으로 검색 | find /usr -atime +4 |
-newer [파일명] | 지정한 파일보다 나중에 생성된 파일 검색 | find / -newer filename |
-user [loginID] | 로그인 ID로 검색(특정사용자가 만든파일) | find / user oracle |
-type [파일타입] | 파일 타입으로 검색 f(file), d(directory), b(block) | find /etc -type f |
-perm [접근권한] | 사용권한으로 검색 | find / -perm 755 |
[동작]
-exec [명령] {}\; | 검색된 파일에 명령을 실행 | find / -name ora -exec rm {}\; |
-ok [명령] {}\; | 사용자의 확인을 받아서 명령실행 | find / -user user114 -ok rm {}\; |
조건에 맞는 파일의 경로명 출력 | find / -name test.txt -print | |
-ls | 조건에 맞는 파일을 찾으면 ls -li 리스트처럼 출력 | find /usr -name '*tif' -ls |
- Globally Regular Expression Print
- 파일에서 정규표현식을 포함한 모든 행을 출력
- 지정한 패턴이나 정규식/확장정규식을 포함하는 행을 찾아 화면에 표시
- 파일의 내용을 영향을 받지 않는다
- 아스키, 쉘스크립트만 사용가능
- binary, application data는 검색할수 없다.
[옵션]
-i | 대소문자 구분하지않음 |
-l | 패턴이있는 파일이름만출력 (라인은출력X) |
-n | 출력하는 각 라인 앞에 라인 번호를 붙임 |
-v | 패턴이 없는라인만 출력 (grep 명령어 반대) |
-c | 패턴이 있는 라인의 개수 |
-w | 패턴과 맞는 단어가 독립적인 경우만 출력 |
EX) grep -n root /etc/group -> /etc/group에서 root가 있는 line표시 + 라인앞에 번호
grep -v root /etc/group -> /etc/group에서 root가 없는 line표시
grep -li the * -> 모든파일중 the가 들어있는 파일출력 + 대소문자구분X + 파일이름만출력
grep -l root group passwd hosts ->root, group, passwd, hosts가 있는 파일 이름만출력
** 검색조건을 다양하게 사용하기 위해 정규식, 확장정규식을 사용한다.
[정규식]
^ (caret) | pattern으로 시작하는 라인 출력 | grep '^pattern' /etc/passwd |
$ | pattern으로 끝나는 라인 출력 | grep 'pattern$' /etc/passwd |
. | p로 시작하여 n으로 끝나는 라인출력(.->1문자) | grep 'p......n' /etc/passwd |
* | zero or more times | grep '[a-z]*' /etc/passwd |
[ ] | pattern에 해당하는 한문자 | grep '[pP]attern' /etc/passwd |
[^] | pattern에 해당하지 않는 한문자 | grep '[^a-m]attern' /etc/passwd |
/< >/ | pattern으로 시작 또는 끝나는 라인 출력 | grep '/<pattern>/' /etc/passwd |
3. egrep [옵션] [패턴] [파일명]
[확장 정규식]
+ | and, a~z중 한문자로 시작하고 ark로 끝나는 단어있는라인 출력 | '[a-z]+ark' |
x|y | apple이나 orange가 포함된 라인 출력 | 'apple|orange' |
( | ) | searches나 searching이 포함된 라인 출력 | 'search(es|ing)' |
EX) egrep 'N(e|o)+' /etc/passwd -> Ne나 No가 포함된 단어 있는라인 모두 출력
'os > Solaris' 카테고리의 다른 글
7. process 관리 (0) | 2014.08.28 |
---|---|
6. 파일권한관리 (0) | 2014.08.28 |
4. vi Editor (0) | 2014.08.28 |
3. 디렉토리, 파일관련 명령어 (0) | 2014.08.28 |
2. Shell metacharacters (0) | 2014.08.28 |
댓글