리눅스에서 폴더나 파일을 zip으로 압축할 땐 zip 명령어를 사용합니다.
리눅스 zip 압축
zip -r [zip 파일명] [압축할 폴더 또는 파일]
-r 옵션은 하위 경로를 포함해서 모두 묶는다는 의미입니다. 사실상 zip으로 묶을 땐 하위 경로 파일을 제외하는 경우는 없기 때문에 그냥 항상 -r을 붙여서 쓴다고 생각하셔도 될 거 같습니다.
현재 경로에 있는 파일, 폴더를 zip으로 압축해보겠습니다.
[user1@localhost ~]$ ll
total 0
-rw-rw-r--. 1 user1 user1 0 Jul 8 07:24 file1
-rw-rw-r--. 1 user1 user1 0 Jul 8 07:24 file2
drwxrwxr-x. 2 user1 user1 32 Jul 8 07:19 folder1
drwxrwxr-x. 2 user1 user1 6 Jul 8 07:19 folder2
drwxrwxr-x. 2 user1 user1 6 Jul 8 07:19 folder3
폴더 1개 zip 압축
folder1 폴더를 folder.zip으로 압축합니다.
[user1@localhost ~]$ zip -r folder.zip folder1
adding: folder1/ (stored 0%)
adding: folder1/file1 (stored 0%)
adding: folder1/file2 (stored 0%)
압축되는 파일과 경로가 출력됩니다.
여러 파일, 폴더 압축
압축할 파일을 명시할 때 복수로 나열하면 여러 파일을 함께 압축할 수 있습니다.
[user1@localhost ~]$ zip -r all.zip file1 file2 folder1 folder2 folder3
adding: file1 (stored 0%)
adding: file2 (stored 0%)
adding: folder1/ (stored 0%)
adding: folder1/file1 (stored 0%)
adding: folder1/file2 (stored 0%)
adding: folder2/ (stored 0%)
adding: folder3/ (stored 0%)
zip 파일 압축 안 풀고 내용 보는 방법
압축을 해제하지 않고 파일 내용을 미리 확인할 수 있습니다. unzip 명령어에 -l 옵션을 사용합니다.
unzip -l [zip 파일명]
위에서 압축했던 all.zip 내용을 확인해보겠습니다.
[user1@localhost ~]$ unzip -l all.zip
Archive: all.zip
Length Date Time Name
--------- ---------- ----- ----
0 07-08-2024 07:24 file1
0 07-08-2024 07:24 file2
0 07-08-2024 07:19 folder1/
0 07-08-2024 07:19 folder1/file1
0 07-08-2024 07:19 folder1/file2
0 07-08-2024 07:19 folder2/
0 07-08-2024 07:19 folder3/
--------- -------
0 7 files
압축 파일 내용이 하위 경로까지 모두 출력됩니다.