우당탕탕 개발자 되기
Find and Grep 본문
find 명령어
: 파일 이름이나 속성을 이용하여 해당하는 파일을 찾는다.
$ find 디렉터리 [-옵션]
: 옵션의 검색 조건에 따라 지정된 디렉터리 아래에서 해당되는 파일들을 모두 찾아 출력한다.
find 명령어 검색조건
| 검색 조건 및 처리 방법 | 설명 |
| -name 파일명 | 파일명으로 찾는다. |
| -atime +n | 접근 시간이 n일 이전인 파일을 찾는다. |
| -atime -n | 접근 시간이 n일 이내인 파일을 찾는다. |
| -mtime +n | n일 이전에 수정된 파일을 찾는다. |
| -mtime -n | n일 이내에 수정된 파일을 찾는다. |
| -perm nnn | 접근권한이 nnn인 파일을 찾는다. |
| -type x | 파일 종류가 x인 파일들을 찾는다. |
| -size n | 크기가 n블록(512바이트)인 파일들을 찾는다. |
| -links n | 링크 개수가 n인 파일들을 찾는다. |
| -user 사용자명 | 파일의 소유자가 사용자명인 파일을 찾는다. |
| -group 그룹명 | 그룹명을 갖는 그룹에 속한 파일을 찾는다. |
| 찾은 파일의 절대 경로명을 화면에 출력한다 | |
| -ls | 찾은 파일에 대해 ls -dils 명령어 실행 결과를 출력한다. |
| -exex cmd {}; | 찾은 파일들에 대해 cmd 명령어를 실행한다. |
grep 명령어
$ grep 패턴 파일*
: 파일을 대상으로 지정된 패턴의 문자열을 검색하고, 해당 문자열을 포함하는 줄들을 출력한다.
grep 명령어의 옵션
| 옵션 | 기능 |
| -i | 대소문자를 무시하고 검색 |
| -ㅣ | 해당 패턴이 들어있는 파일 이름을 출력한다. |
| -n | 각 줄의 줄번호도 함께 출력한다 |
| -v | 명시된 패턴을 포함하지 않는 줄을 출력한다 |
| -c | 패턴과 일치하는 줄 수를 출력한다. |
| -w | 패턴이 하나의 단어로 된것만 검색 |
| -R | 하위 디렉터리의 파일들을 recursive 하게 검색한다. |
정규식
| 문자 | 의미 | 예시 |
| ? | 한 글자 or 없음을 의미한다 | 'ab?' : ab 혹은 ab 다음에 한 글자가 오는 문자열 |
| . | 임의의 한 문자를 의미한다 | 'a...b'는 a로 시작해서 b 로끝나는 5글자 문자열 |
| * | 바로 앞의 것을 0번 이상의 반복 | 'a*b'는 b,bb,aab,aabb,... 등의 문자열 |
| [ ] | [ 과 ] 의 사이의 문자 중 하나를 의미 - 기호 : 문자의 범위를 지정 |
'[abc]d'는 ad,bd,cd를 뜻한다 [a-z]: a부터 z 까지 중 하나 |
| [^...] | [^ 와 ] 사이의 문자를 제외한 나머지 문자중 하나를 의미한다. | '[^abc]d' 는 ad,bd,cd 는 포함하지 않고 ed,fd 등은 포함. [^a-z]는 소문자가 아닌 모든 문자 |
| ^, $ | 각각 줄의 시작과 끝을 의미한다. | '^문자열' : 문자열로 시작하는 줄을 나타낸다. '문자열$' : 문자열로 끝나는 줄을 나타낸다. |
파이프와 함께 grep 명령어 사용
: 어떤 명령어를 실행하고 그 실행 결과 중에서 원하는 단어 혹은 문자열 패턴을 찾고자 할 때 사용한다.
Tar Archive
Archive
- 백업 또는 다른 장소로의 이동을 위해 여러파일들을 하나로 묶어놓은 묶음
- 아카이브를 만듥나 푸는데 tar(taps archive) 사용
- Tar : 이름에서 알수 있듯, 전통적으로 Archive를 만드는데 사용, Tar로 생성된 archive는 .tar 확장자을 가지며, tar file혹은 tarball이라고 표현하기도함.
tar의 동작
- 단순히 여러 파일의 데이터를 하나의 파일로 묶고, 다시 여러 파일로 복원할 수 있도록 함.
- 파일의 용량은 원본보다 더큼 (복원을 위해 기존 파일들의 이름, 크기, 권한 등 필요한 정보를 포함하기 때문)
- 기본적으로 압출(Compress)을 수행하지 않음, Archive와 compression 은 별개
tar 명령어
옵션: c(create), v(verbose), x(extract), t(table of contents), f(file)
$ tar -cvf 타르파일 파일+
: 여러 파일들을 하나의 타르파일로 묶는다. 보통 확장자로 .tar 사용
$ tar -xvf 타르파일
: 하나의 타르파일을 풀어서 원래 파일들을 복원한다.
$ tar -tvf 타르파일
: 타르파일의 내용을 확인한다.
파일 압축 (gzip)
gzip 명령어
- 리눅스 환경에서 많이 사용하는 압축 프로그램
- 속도가 빠르고 적당한 수준의 압축률을 제공한다.
$ gzip [옵션] 파일*
:파일들을 압축하여 .gz 파일을 만든다.
-d : 압축을 해제한다.
-l : 압축파일 안에 있는 파일 정보(압축된 크기, 압축률) 을 출력한다.
-r : 하위 디렉터리까지 모두 압축한다.
-v : 압축하거나 풀 때 압축률, 파일명을 출력한다.
$ gzip 파일*
: gzip으로 파일을 압축한다.(압축된 파일의 이름은 기존 이름뒤에 .gz 확장자가 붙은 이름이다.)
$ gzip -d 파일.gz*
: gzip으로 압축된 파일들을 복원한다.
$ gunzip 파일.gz*
:gzip으로 압축된 파일들을 복원한다.
| 명령어 | 확장자 | 압축률 순위 | 압축 속도 순위 |
| gzip | .gz | 3 | 1 |
| bzip2 | .bz2 | 2 | 2 |
| xz | .xz | 1 | 3 |
Tar의 Compression options
: Tar 파일을 생성하거나 해제할 시, 동시에 압축 또는 복원을 수행함
-z : gzip 이용
-j : bzip2 이용(소문자 j)
-J : xz 이용(대문자 J)
예) 압축 : $ tar -czvf textfiles.tar.gz *.txt
$ tar -cjf textfiles.tar.xz *.txt
예) 복원: $ tar -xzvf textfiles.tar.gz
$ tar -xjf textfiles.tar.xz
'LINUX' 카테고리의 다른 글
| 파일,패키지,명령어 (0) | 2021.04.09 |
|---|---|
| Redirection (0) | 2021.03.28 |
| Process (0) | 2021.03.27 |
| Privilege (0) | 2021.03.26 |
| File (0) | 2021.03.25 |