이전 기사에서 tar 명령을 사용하여 아카이브를 만드는 방법을 자세히 설명했습니다. tar는 Linux에서 매우 일반적인 압축 방식이지만 zip 형식을 사용하여 생성된 대부분의 아카이브를 찾는 Windows 및 Mac OS X 사용자에게는 그다지 인기가 없습니다.
Linux에서 아카이브 Zip(생성) 및 Unzip(확장)을 사용하는 것은 쉽습니다. 사실, 대부분의 GUI 아카이브 관리 프로그램(예:Ark, File Roller, Xarchiver)은 컴퓨터에 있는 거의 모든 명령줄 아카이브 프로그램의 프론트엔드 역할을 하며 Zip도 예외는 아닙니다. 물론 터미널에서 Zip을 사용할 수도 있습니다. 방법은 다음과 같습니다.
짐작하시겠지만 첫 번째 단계는 터미널을 여는 것입니다.
그런 다음 "sudo apt-get install zip unzip을 입력합니다. ”(따옴표 제외), zip 및 unzip이 설치되었는지 확인하기만 하면 됩니다.
참고:이 두 프로그램이 이미 설치된 경우 위와 같이 해당 사항을 알리는 메시지가 표시됩니다.
일단 설치되면 zip을 사용하여 아카이브를 생성(또는 기존 아카이브 수정)하고 압축을 풀어 원본으로 확장할 수 있습니다. 이 기사를 위해 데스크탑에 Stuff라는 새 폴더를 만듭니다. 터미널에서 mkdir /home/username/Desktop/Stuff 단일 명령으로 이를 수행할 수 있습니다. (물론, 아래와 같이 "username"을 자신의 사용자 이름으로 바꾸게 되며, 바탕 화면에 이미 Stuff 폴더가 있는 경우 이름을 변경하고 싶을 것입니다.)
이제 Stuff 폴더가 있으므로 'cd' 명령을 사용하여 Stuff 폴더를 현재 작업 디렉터리로 만듭니다.
cd /home/username/Desktop/Stuff
이제 touch doc1.txt doc2.txt doc3.txt &&mkdir Files를 입력합니다. 파일이라는 폴더와 Stuff 폴더 안에 doc1.txt, doc2.txt 및 doc3.txt라는 세 개의 문서가 생성됩니다.
새로 생성된 Files 폴더(cd Files)에 'cd'하는 명령이 하나 더 있습니다. 그 안에 다른 문서가 필요하기 때문입니다.
cd 파일
마지막으로 터치 doc4.txt doc5.txt doc6.txt를 입력합니다. 3개의 새 문서를 만들기 위해.
이제 cd ../..를 입력합니다. 바탕 화면을 다시 작업 디렉토리로 변경합니다.
zip 파일을 만들기 전에 마지막 단계는 방금 만든 파일과 이름이 같은 몇 개의 "추가" 문서를 바탕 화면에 만드는 것이므로 touch doc2.txt doc3.txt를 입력합니다. 만들 수 있습니다.
마지막으로 두 개의 "추가" 텍스트 파일을 각각 열고 일부 텍스트를 추가합니다. 의미 있는(또는 긴) 항목이 필요하지 않습니다. 이러한 문서가 실제로 Stuff 및 files 폴더 안에 이미 생성된 문서와 다르다는 것을 알 수 있기 때문입니다.
완료되면 zip 파일 생성을 시작할 수 있습니다. zip을 사용하는 가장 간단한 방법은 만들고자 하는 zip 아카이브의 이름을 지정한 다음 그 안에 들어갈 모든 파일의 이름을 명시적으로 지정하는 것입니다. 따라서 작업 디렉토리가 데스크탑이라고 가정하고 zip test Stuff/doc1.txt Stuff/doc2.txt Stuff/doc3.txt를 입력합니다. doc1.txt, doc2.txt 및 doc3.txt를 찾은 대로 포함하는 test.zip(명령에서 ".zip" 확장자를 사용할 필요가 없습니다. 자동으로 추가됨)이라는 아카이브를 생성합니다. Stuff 폴더 안에 있습니다.
3개의 문서(doc1.txt, doc2.txt 및 doc3.txt)가 아카이브에 추가되었음을 알려주는 약간의 출력이 표시됩니다.
데스크탑에 있어야 하는 아카이브를 두 번 클릭하여 이를 테스트할 수 있습니다. 그렇게 하면 표준 아카이브 프로그램(KDE의 Ark, GNOME의 파일 롤러, Xfce의 Xarchiver)에서 열어야 합니다.
이제 Files 폴더는 어떻습니까? 원한다고 가정하고 그 안에 있는 문서를 아카이브에도 추가하면 위와 동일한 명령을 사용할 수 있지만 Stuff/Files/*를 추가합니다. 명령의 끝까지.
별표는 폴더 안의 모든 항목을 포함한다는 의미입니다. 따라서 Files 폴더 안에 다른 폴더가 있었다면 이 폴더도 추가되었을 것입니다. 그러나 해당 폴더에 항목이 있는 경우 항목이 포함되지 않습니다. 그렇게 하려면 -r을 추가해야 합니다. (재귀 또는 재귀를 나타냄).
위의 두 명령은 zip 아카이브에 파일을 "추가"하도록 설계되지 않았습니다. 그들은 하나를 만들도록 설계되었습니다. 그러나 아카이브가 이미 존재하기 때문에 명령은 단순히 기존 아카이브에 새 파일을 추가합니다. 이 아카이브를 한 번에 만들고 싶다면(교육 목적으로 파일을 점진적으로 추가하기 위해 수행한 세 단계 대신) zip -r test Stuff/*를 입력하기만 하면 됩니다. 동일한 아카이브를 생성했을 것입니다.
명령과 출력을 보면 Stuff 폴더에 있는 세 개의 파일과 Files 폴더에 있는 세 개의 문서가 포함되어 있어 모든 것이 훌륭하고 간단한 명령으로 완료되었음을 알 수 있습니다.
이제 데스크탑에서 만든 두 개의 "추가" 문서는 어떻습니까? 글쎄, zip이 작동하는 방식은 아카이브에 이미 존재하는 아카이브에 파일을 추가하려고 하면 새 파일이 이전 파일을 덮어쓰는 것입니다. 따라서 데스크탑에서 생성한 문서(doc2.txt 및 doc3.txt)에는 내용이 포함되어 있으므로(doc2.txt에 "hello world!"를 추가하고 doc3.txt에 "yay"를 추가함) 다음을 수행할 수 있어야 합니다. 해당 문서를 추가한 다음 이를 테스트할 수 있습니다. 먼저 두 개의 "추가" 문서를 Stuff 폴더로 드래그합니다.
새 문서가 기존 문서를 덮어쓰도록 할 것인지 묻는 메시지가 표시될 수 있으므로(zip 아카이브가 아닌 폴더에 있음) 그대로 두십시오.
이제 이 작업이 완료되었으므로 zip test Stuff/doc2.txt Stuff/doc3.txt를 입력하여 아카이브에 추가해 보겠습니다.
이제 위의 명령이 추가되는 대신 업데이트되는 파일을 표시하는 것을 알 수 있습니다. 이제 아카이브를 확인하면 파일이 동일한 것처럼 보이지만 doc2.txt와 doc3.txt가 열리면 원본 파일처럼 비어 있지 않고 내용이 포함된 것을 볼 수 있습니다. 있었다.
때때로 Linux에서는 파일 이름의 시작 부분에 마침표(".")를 추가하여 일부 파일이 숨겨져 있는 것을 볼 수 있습니다. 이것은 존재해야 하지만 종종 보이지 않는 구성 파일에 특히 일반적입니다(이는 혼란을 완화하고 구성 파일이 실수로 삭제될 가능성을 줄여줍니다). 우리는 이것을 아주 쉽게 zip 파일에 추가할 수 있습니다. 먼저 디렉토리의 모든 파일에서 backup이라는 zip 파일을 생성한다고 가정해 보겠습니다. zip backup *을 입력하면 됩니다. 터미널에.
이렇게 하면 모든 파일과 폴더가 추가되지만 해당 폴더의 항목은 포함되지 않습니다. 추가하려면 -r을 다시 추가하여 zip -r backup * 명령이 될 것입니다.
이제 거의 다 왔습니다. 폴더, 파일 및 숨김 파일을 재귀적으로 추가하기 위한 명령은 실제로 매우 간단합니다. zip -r backup .
이제 압축 풀기가 매우 쉽습니다. 그러나 무엇을 하기 전에 데스크탑의 문서(doc2.txt 및 doc3.txt)와 Stuff 폴더를 삭제하십시오. 삭제되면 unzip test.zip을 입력합니다. 원본 압축 아카이브의 내용을 현재 디렉토리로 확장합니다.
참고:문서를 삭제하지 않은 경우 zip 파일의 내용을 기존 파일에 압축 해제하려고 하므로 각 문서를 바꿀 것인지 묻는 메시지가 표시됩니다.
그리고 그게 다야! 압축 및 압축 해제는 매우 일반적인 작업이며 확실히 GUI 옵션을 사용할 수 있지만 연습을 통해 터미널에서 동일한 작업을 수행하는 것도 그리 어렵지 않다는 것을 알게 될 것입니다.