Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

우당탕탕 개발자 되기

Find and Grep 본문

LINUX

Find and Grep

KimMINHun 2021. 4. 8. 21:11

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 그룹명 그룹명을 갖는 그룹에 속한 파일을 찾는다.
-print 찾은 파일의 절대 경로명을 화면에 출력한다
-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