hyperskill - Archiving and extracting data 영어 원문
간단히 넣고 보관하는 것은 파일을 저장하는 것이며,
단일 파일에 디렉토리가 있는 것을 '보관' 이라고 부릅니다.
추출은 단일 파일로부터 파일과 디렉토리들을 가져오는 것입니다.
꽤 자주, 압축하는 것은 보관과 함께 사용되며,
이는 파일의 크기를 줄이는 프로세스입니다.
기본적으로, 보관 과 압축 과정을 파일을 한 장소에서 다른 장소로 전송 할 때,
혹은 데이터를 백업 할 때 사용합니다.
당신은 아마 파일들이 많이 있는 것 보다,
하나의 작은 파일을 다운로드하거나, 움직이거나, 저장하는 것이 더 편하다는 것을 동의 할 겁니다.
zip and unzip - zip 그리고 unzip
만약 당신이 윈도우 OS 에서 자업하고 있다면, 당신은 반드시 .zip
확장자를 가진 몇 가지 파일을 만났을 겁니다.
Archive (아카이브) : 보관 이라는 의미를 가진다.
아카이브라는 용어로 사용되므로, 아카이브로 부르겠다.
이러한 확장자 파일들은 zip-compressed(zip 으로 압축된) 아카이브입니다.
또한 이들은 유닉스 와 비슷한 시스템에서도 사용됩니다.
터미널에서 하나의 파일, 혹은 여러 파일들로부터 zip 아카이브를 생성하는 것은 이와 같습니다 :
zip <zipfilename> <filename1> <filename2>
zip
이후에 아카이브의 이름을 넣고,
당신의 현재 디렉토리 내부의 파일들의 이름을 넣거나, 압축할 파일들의 경로를 넣습니다.
예를 들어, 두 개의 텍스트 파일로부터 아카이브를 만들어 봅시다.
zip my-archive my-report.odt my-report.doc
이 명령어는 my-archive
라는 아카이브에 두 개의 파일을 내부에 압축시켜 생성합니다.
당신이 디렉토리들을 보관하거나 압축해야 하는 경우 명령어에 -r
(recursive) 을 선택할 수 있습니다 :
zip -r <zipfilename> <directoryname>
아카이브에서 파일을 추출하는 것은 심지어 이들을 아카이빙하는 것 보다 쉽습니다 :
unzip <zipfilename.zip>
그런데, 참고해야 할 것은, unzip
명령어가 기본적으로 현재 디렉토리에 파일들을 추출합니다.
다시 돌아와서, 우리의 아카이브 my-archive
로부터 파일들을 추출하는 것은 이와 같습니다 :
unzip my-archive.zip
gzip and gunzip - gzip 과 gunzip
하지만, 유닉스와 비슷한 시스템에서 gzip
은 파일을 압축하는 가장 유명한 도구입니다.
이 도구로 압축된 파일들은 .gz
확장자를 가집니다.
gzip
으로 파일을 압축하는 법을 보는 것으로 시작해 보겠습니다.
이는 아주 쉽습니다 :
gzip <filename>
압축을 풀기 위해서 gunzip
명령어를 사용하는데, 이 또한 꽤 쉽습니다 :
gunzip <filename.gz>
이전에 말했던 zip
처럼, 만약 당신이 디렉토리 내부의 파일들을 압축해야 한다면,
-r
옵션이 필요합니다 :
gzip -r <directory-name>
zip
명렁어와는 다르게, gzip
은 디렉토리를 압축하지 않고, 오로지 파일들만 내부로 압축한다는 것을 기억하세요.
만약 당신이 전체 디렉토리를 압축하고 싶다면, 당신은 tar
명령어를 사용해야 합니다.
tar - tar 압축
Tape ARchive 의 약자인 tar
명령어는,
UNIX 와 비슷한 시스템 내부의 아카이빙 도구인데,
이는 압축에도 사용 할 수 있는데,
예를 들어, gzip
-압축을 사용할 수 있습니다.
tar
이라는 이름은, 옛날에 데이터를 저장하기 위해 사용되던 자성 테이프로부터 기원하였습니다.
tar
파일은 .tar
확장자를 가지며,
gzip
으로 압축된 파일들은 .tar.gz
혹은 .tgz
확장자를 가집니다.
당신은 아마 이러한 아카이브에 대한 비공식적인 이름을 들어봤을 겁니다. - "tarballs"
tar
은 정말 많은 옵션들을 가지고 있습니다.
이러한 옵션들은 당신의 개발 라이프를 약간 쉽게 만들어 주며, 가장 유용한 도구로 선택받는 이유입니다.
당신이 디렉토리로부터 압축된 아카이브를 생성하는 방식을 살펴봅시다 :
tar czvf <filename.tar.gz> <directory>
우리가 사용한 옵션들을 세밀하게 리뷰 해 봅시다 :
c
: 아카이브를 생성(Create) 한다는 의미입니다.z
: 압축 방법으로gzip
츨 사용한다는 것입니다.v
: 처리될 파일들의 자세한 정보를 제공합니다.f
: 출력물이 파일이며, 기기가 아니라는 것을 의미합니다. (예를 들어 테이브 드라이브)
만약 이 옵션을 사용하지 않는다면,tar
명령어는 에러를 던질 겁니다. (필수라는 거네)
혹시 앞 부분의 짧은 옵션들에 "-" 를 치지 않은 것을 눈치채셨나요?
이를 사용할 수는 있지만, 의무적인 것은 아닙니다.
두 방식은 tar
에서 작동합니다.
이제 우리의 home
디렉토리를 아카이브 할 수 있는 방식을 살펴 봅시다 :
tar czvf home-archive.tar.gz /home/
아카이브로부터 파일들을 추출해야 한다면 이러한 옵션들을 사용하세요 :
tar xzvf <filename.tar.gz>
차이점은 x
옵션에 있는데, 이는 extract 를 의미합니다.
또 여기서 z
옵션은 gunzip
을 의미하며,
gzip
은 아닌데, 이는 파일을 추출하는 것이기 때문입니다.
Conclusion - 결론
요약하며,
gzip
은 압축 도구이며, tar
, zip
은 보관하고 압축하는 도구입니다.
이러한 명령어들은 파일을 전송하거나, 백업해야 할 때 사용 할 수 있습니다.
당신이 파일을 압축하고 싶을 때 gzip
이나 zip
을 사용하는 것을 추천하며,
한 개 이상의 파일이나 디렉토리를 압축하거나 보관하고 싶다면, tar
, zip
을 추천합니다.
만약 당신이 파일들을 추출하거나, 압축을 풀고 싶다면 확장자 를 살펴보세요 :
만약 .zip
이라면, unzip
명령어를 실행하고,
.gz
라면, gunzip
을 실행하세요.
확장자가 .tar
, .tar.gz
, .tgz
라면, tar
명령어가 사용 될 겁니다.
words to remember
informal : 비공식, 비공식의
obligatory : 의무적인, 의무로 지우는
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Docker' 카테고리의 다른 글
Loops and sequences - Bash 반복문 (1) | 2024.08.20 |
---|---|
Conditional statements and test checks - bash if-else 조건문 (0) | 2024.08.17 |
MongoDB vs Relational databases - NoSQL vs RDBMS 비교 (0) | 2024.08.15 |
Best practices for bash scripts - bash 스크립트를 연습하는 최고의 방법 (1) | 2024.08.13 |
Case statement and argument parsing - 케이스 문법과 인수 파싱(shift) (0) | 2024.08.11 |