터미널을 사용하는 Linux에서 Zip 파일 생성 및 편집


이전 기사에서는 tar 명령을 사용하여 아카이브를 만드는 방법을 자세히 설명했습니다. tar은 리눅스에서 흔히 사용되는 압축 방식이지만, Windows 및 Mac OS X 사용자들에게 인기가있는 것은 아닙니다. Zip 형식을 사용하여 만든 대부분의 아카이브를 찾을 수 있습니다.

사용하기 쉽습니다. Linux에서 압축 파일을 생성하고 압축을 풀어 아카이브합니다. 사실 Ark, File Roller 및 Xarchiver와 같은 대부분의 GUI 아카이브 관리 프로그램은 컴퓨터에있는 명령 줄 보관 프로그램의 프런트 엔드 역할을 할 것이며 Zip도 예외는 아닙니다. 물론 터미널에서 Zip을 사용할 수도 있습니다. 다음과 같이 입력하십시오.

02Install_Zip_and_Unzip "sudo apt-get install zip unzip"(따옴표 제외) p>

참고 :이 두 프로그램이 이미 설치되어있는 경우 위와 같이 위의 경우와 같은 메시지가 나타납니다.

zip을 사용하여 아카이브를 생성하고 (또는 기존 아카이브를 수정) 압축을 풀어 원본으로 확장 할 수 있습니다. 이 기사에서는 Desktop에 Stuff라는 새 폴더를 만듭니다. 터미널에서 우리는 mkdir / home / username / Desktop / Stuff명령을 사용하여 그렇게 할 수 있습니다 (물론 아래에 표시된 것처럼 "username"을 사용자 이름으로 바꿀 것입니다) 바탕 화면에 이미 Stuff 폴더가 있다면 이름을 바꾸고 싶을 것입니다.)

03Make_Stuff_Directory

이제 Stuff 폴더가 생겼습니다. 'cd'명령을 사용하여 Stuff 폴더를 현재 작업 디렉토리로 만듭니다.

cd / home / username / Desktop / Stuff

이제 touch doc1.txt doc2.txt doc3.txt & amp; amp; mkdir 파일을 터미널로 가져 오면 Files 폴더와 doc1.txt, doc2.txt 및 doc3.txt라는 3 개의 문서가 Stuff 폴더에 생성됩니다.

04Make_Docs

새로 생성 된 Files 폴더 (cd Files)에 'cd'명령을 추가하십시오. 그 안에 다른 문서가 있기를 원하기 때문입니다.

cd 파일

세 개의 새 문서를 만들려면 touch doc4.txt doc5.txt doc6.txt이제 cd ../..를 입력하여 바탕 화면을 다시 작업 디렉토리로 변경하십시오.

05Make_More_Docs zip 파일을 만들기 전에 마지막 단계는 우리가 방금 작성한 파일과 동일한 이름으로 데스크탑에 두 개의 "추가"문서를 작성하는 것입니다. 06CD_Back_To_Desktop

07Create_Duplicate_Docs

마지막으로 두 개의 "extra"문서를 엽니 다. "텍스트 파일을 만들고 텍스트를 추가하십시오. 의미있는 (또는 긴) 문서 일 필요는 없으므로이 문서가 Stuff 및 파일 폴더 내에 이미 생성 된 문서와 실제로 다르다는 것을 알 수 있습니다.

완료되면 zip 파일을 만들기 시작하십시오. zip을 사용하는 가장 간단한 방법은 만들려는 zip 아카이브의 이름을 지정하고 파일에 들어가야하는 모든 파일의 이름을 명시 적으로 지정하는 것입니다. 따라서 작업 디렉토리가 데스크탑이라고 가정하면 test.zip이라는 아카이브를 만들려면 zip test Stuff / doc1.txt Stuff / doc2.txt Stuff / doc3.txt를 입력합니다 (우리는 Stuff 폴더 안에 doc1.txt, doc2.txt 및 doc3.txt가 들어있는 자동으로 추가되므로 명령에서 ".zip"확장자를 사용해야합니다.)

08Create_First_Archive

약간의 출력이 표시됩니다. 이는 세 개의 문서 (doc1.txt, doc2.txt 및 doc3.txt)가

우리는 바탕 화면에 앉아 있어야하는 아카이브를 두 번 클릭하여이를 테스트 할 수 있습니다. 그렇게하면 표준 아카이브 프로그램 (KDE의 Ark, Xfce의 GNOME 및 Xarchiver의 파일 롤러)에서 열어야합니다.

10Open_In_Archive_Program

Files 폴더는 어떻습니까? 우리가 원한다고 가정하면 그 안에 문서를 추가하고 아카이브에도 위와 같은 명령을 사용할 수 있지만 명령 끝에 Stuff / Files / *를 추가 할 수 있습니다.

>

11Add_To_Archive

별표는 폴더 안에 모든 것을 포함하는 것을 의미합니다. 그래서 Files 폴더 안에 또 다른 폴더가 있다면 그것은 추가되었을 것입니다. 그러나 폴더 안에 항목이있는 경우 포함되지 않습니다. 이를 위해 우리는 -r을 재귀 적으로 또는 재귀 적으로 추가해야합니다.

12Add_Recursively

위의 두 명령은 zip 아카이브에 파일을 "추가"하도록 설계되지 않았습니다. 그들은 하나를 창조하도록 설계되었습니다. 그러나 아카이브가 이미 있으므로 기존 아카이브에 새 파일을 추가하기 만하면됩니다. 이 아카이브를 한꺼번에 만들고 싶었지만 (교육적 목적으로 파일을 점진적으로 추가하기 위해 수행 한 세 가지 단계 대신) zip -r test Stuff / *및 명령과 출력에서 ​​Stuff 폴더 안에있는 세 개의 파일이 포함되어 있다는 것을 알 수 있습니다.

13Create_Recursively

이제 Desktop에서 만든 "추가"문서 두 가지는 무엇입니까? zip이 작동하는 방식은 아카이브에 이미있는 아카이브에 파일을 추가하려고하면 새 파일이 이전 파일을 덮어 쓰게됩니다. 따라서 Desktop (doc2.txt 및 doc3.txt)에서 만든 문서에는 그 내용이 있습니다 ( "hello world!"를 doc2.txt에, "yay"를 doc3.txt에 추가했습니다). 해당 문서를 추가 한 다음이를 테스트 할 수 있습니다. 먼저 두 개의 "추가"문서를 Stuff 폴더로 드래그합니다.

새 문서가 기존 문서를 덮어 쓰게 할 것인지 묻는 메시지가 표시됩니다 (폴더에 있음,

이 작업이 완료되었으므로 zip test Stuff / doc2.txt Stuff / doc3.txt를 입력하여 아카이브에 추가하십시오. >

14Adding_Files_To_Archive

위의 명령에 추가 된 파일 대신 업데이트 된 파일이 표시됩니다. 이제 아카이브를 검사하면 파일이 동일하게 보이지만 doc2.txt 및 doc3.txt가 열리면 원래 파일로 비어있는 대신 내용이있는 것을 볼 수 있습니다

때때로 리눅스에서는 파일 이름의 시작 부분에 마침표 ( ".")를 추가하여 일부 파일을 숨길 수 있습니다. 이는 존재해야하지만 구성 파일이 우연히 삭제 될 가능성을 낮추고 혼란을 완화하는 구성 파일에 특히 일반적입니다. 우리는 이것을 zip 파일에 아주 쉽게 추가 할 수 있습니다. 먼저 디렉토리의 모든 파일에서 backup이라는 zip 파일을 생성한다고 가정합니다. 터미널에 zip 백업 *을 입력하면됩니다.

15Add_All_Files

이렇게하면 모든 파일과 폴더가 추가되지만 해당 폴더의 항목은 포함되지 않습니다. 이를 추가하려면 -r을 다시 추가하여 zip -r backup *이 명령이되도록합니다.

16Add_Files_Recursively

이제 거의 다 왔어. 폴더, 파일 및 숨겨진 파일을 재귀 적으로 추가하기 위해 명령은 실제로 매우 간단합니다. zip -r backup.

17Add_Files_Recursively_And_Hidden

이제 압축 풀기가 아주 쉽습니다. 그러나 우리가 무엇인가를하기 전에 데스크탑 (doc2.txt 및 doc3.txt)과 Stuff 폴더의 문서를 삭제하십시오. 일단 사라지면 unzip test.zip을 입력하면 원래 압축 아카이브의 내용이 현재 디렉토리로 확장됩니다.

18Unzip_Archive

참고 : 문서를 삭제하지 않았다면 zip 파일의 내용을 기존 파일로 압축을 풀려고 시도 할 것이므로 모든 문서를 바꾸려면 묻는 메시지가 표시됩니다.

그게 다야! Ziping and Unzipping은 매우 일반적인 작업이며 GUI 옵션이 제공되지만 연습을 통해 터미널에서 동일한 작업을 수행하는 것이 그리 어려운 일은 아니라는 것을 알 수 있습니다.

파이썬 강좌 | Python MOOC | Console 다루기

관련 게시물:


17.01.2012