새소식

카테고리 없음

[Linux] 텍스트 처리 명령어

  • -

파일 보기 관련 명령은 기본적으로 text 파일 내용을 보게 된다. UNIX 종류에 따라 binary 파일이나 device 등 특수 파일을 보기도 하지만, Linux에서는 text 파일을 읽는다.

 

파일 내용 보기/연결: cat, head, tail

cat [options] [file ...]

concatnate의 약자. 결과는 표준 출력으로 내보내며, 여러 개의 파일을 연결시켜 보여준다.

주요 옵션은 아래와 같다.

-n 행 번호를 앞에 붙인다.
-e 각 행의 끝에 $를 붙여 보여준다.

 

 

head/tail [options] [file ...]

파일의 시작 또는 끝의 10줄을 출력한다. file이 생력되면 표준 입력으로 지정된다.

주요 옵션은 아래와 같다.

-# or -n# 시작/끝 #줄을 출력한다.
-c# # 바이트만큼 출력한다.

 


파일 묶음: tar

tar [-] function_letters [tar-file] [options] [file ...]

tape archive의 약자. 저장 또는 이동 목적을 위해 여러 파일을 하나로 묶는 작업을 수행한다. 묶는 기능만 수행하며 파일을 압축하지 않는다. function_letters는 옵션이 아니므로 반드시 하나 이상 사용해야 하며, -를 붙여도 된다. 목록은 아래와 같다.

A (concAtnate) 기존 묶음에 tar 파일을 추가한다.
c (create) 묶음 파일을 생성한다.
d (difference) 묶음 파일과 파일 시스템의 차이점을 찾는다.
r (replace) 주어진 파일을 기존 tar 파일 끝에 추가한다.
u (update) 주어진 파일이 새로운 경우에만 기존 tar 파일 끝에 추가한다.
t (table of contents) 묶여진 파일들의 목록을 보여준다.
x (extract) 하나의 파일명으로 묶인 파일을 푼다.

 

대표 옵션은 아래와 같다.

f (file) 주어진 파일명으로 tarfile을 만든다.
z (zip) 압축된 tarfile을 만든다. (=gzip/gunzip)
p (preserve permission) 파일 권한에 대한 정보를 보존한다.
v (verbose) 실행 과정의 메시지를 출력한다.
N (newer) 주어진 날짜 또는 파일보다 새로운 것만 묶음에 추가한다.
O (stdout) 풀어낸 파일을 stdout에 출력한다.

tar cvf tartest file1 file2
# file1, file2를 tartest로 묶는다

tar xvf tartest
# tartest 묶음을 푼다

 

 

압축 유틸리티 1: gzip

gzip [options] [name ...]
gunzip [options] [name ...]
zcat [options] [name ...]

유닉스 환경에서 가장 많이 사용하는 압축 유틸리티 중 하나. 압축한 뒤 파일 확장자로 .gz가 붙는다.

gunzip 명령어는 gzip -d 명령어와 동일하고, .Z가 붙은 파일도 복원할 수 있다.

zcat은 압축된 파일을 복원하여 stdout으로 출력한다.

주요 옵션은 아래와 같다.

-t 파일 무결성을 체크한다.
-v 이름과 압축률을 표시한다.
-h 도움말을 제공한다.
-r 디렉터리 구조를 순환한다. (디렉터리를 압축하지는 않는다.)

gzip tartest
# tartest를 압축한다

ls -l tartest   # 압축되어서 원래 파일은 나오지 않음
ls -l tartest.gz   # 확장자까지 적어야 나온다

zcat tartest > tt
# tartest를 tt에 redirection한다

gunzip tartest.gz
# tartest.gz를 압축 해제한다

 

압축 유틸리티 2: bzip2

bzip2 [options] [name ...]
bunzip2 [options] [name ...] # =gunzip
bzcat [options] [name ...] # =zcat
bzip2recover filename

최근 많이 사용되는 압축 유틸리티. gzip보다 압축률이 좋으나 느리다. 압축 뒤 파일 확장자로 .bz2가 붙는다.

bunzip2 명령어는 bzip2 -d 명령어와 동일하다.

bzcat은 압축된 파일을 복원하여 stdout으로 출력한다.

bzip2recover는 손상된 압축 파일을 복원한다.

주요 옵션은 아래와 같다.

-t 파일 무결성을 체크한다.
-v 이름과 압축률을 표시한다.
-k 입력 파일을 보존한다.
-f 같은 이름의 압축 파일을 덮어쓴다.

bzip2 tartest
# tartest를 압축한다

bzcat tartest.bz2 > z.tar
# tartest.bz2를 z.tar로 redirection 시켜서 묶음 파일로 복원

bzip2 -d tartest.bz2
# tartest.bz2를 압축 해제한다

bzip2 /etc
# 디렉터리는 압축할 수 없다

gzip tartest
# tartest를 압축한다

cp tartest.gz t.tgz
# tartest 압축 파일을 t.tgz tarball로 카피한다

gzip -d t.tgz
# t.tgz를 압축 해제한다
# t.tgz는 없어지고 tar만 남게 된다

tar cvfz t.tgz *
# 모든 파일을 tarball로 만든다

 

 

압축과 묶음 결합: tarball

일반적으로 tar와 zip을 함께 사용하여 덩어리를 만드는데, 이를 tarball이라 한다.

압축 도구 tar 옵션 확장자 짧은 확장자
gzip -z, --gzip, --gunzip, --ungzip .tar.gz .tgz
bzip2 -j, --bzip2 .tar.bz2 .tbz, .tb2
lzip --lzip .tar.lz .tlz
lzma --lzma .tar.lzma -
lzop --lzop .tar.lzo .tzo
xz -J, --xz .tar.xz .txz
compress -Z, --compress, --uncompress .tar.Z .taz
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.