압축하기

by Yueunseon posted Jan 05, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

텔레그램에 자료를 올리기 위해서 파일당 2기가 제한을 맞출 필요가 있었습니다.  7z을 사용하기 위해서 p7zip-full을 설치했습니다.

~$ 7z a -v 2G name.7z {target}

name.7z.001

name.7z.002

 

2G로 하면 2024MB로 분할되나 봐요 -_- 텔레그램은 2000MB 기준인가 봅니다. 2G 대신에 1999M으로 압축을 다시 합니다.

~$ 7z a -v 2000M name.7z {target}

 

풀 때는 7z.001에 연결되는 프로그램이 없다고 나옵니다. wine으로 반디집을 사용하시거나 터미널에서 푸시면 됩니다.

~$ 7z e name.7z.001

 

근데 압축하는데 너무 오래 걸리고, cpu도, 팬도 고생스럽고, 풀 때는 또 언제 푸나 고민됩니다. 그래서 압축없이 tar로 그냥 묶기만 하기로 했습니다.

~$ tar cvf - /to/path | split -b 2000m - name.tar

 

name.taraa | name.tarab | name.tarac | 이런식으로 확장자가 생성됩니다. 풀 때는...

~$ cat name.tar* | tar xvf -

 

근데 또 궁금한 게 생겼습니다. 윈도우 쓸 때는 여러 파일 또는 폴더를 선택해서 "각각의 파일(폴더)명으로 압축하기" 기능을 곧잘 쓰고 있었는데 리눅스에선?

와인으로 설치한 반디집은 오른쪽 메뉴 추가 기능이 안 먹히니 불가능합니다. 기본 Xarchive 앱은 이런 기능이 없습니다. 결국에 터미널입니다. 구글신 ㅜ_ㅜ

 

현재 경로의 모든 파일과 폴더를 각각 파일명과 폴더명으로 (2기가씩 분할해서) TAR로 묶기 (텔레그램에 올리기 위하여 2000메가로 제한)

~$ for i in * ; do tar cvf - "$i" | split -b 2000M - "${i%}".tar ;  done

 

또 리눅스의 독특한 기능 활용법 중 하나인데... 하나의 폴더를 만들고 그 안에 여러 개의 다른 파일들의 심볼릭을 가져 옵니다.

그 심볼릭 파일들의 이름을 자유롭게 수정한 후 터미널에서 cp 명령을 사용하면 파일명이 바뀐채로 오리지날 파일이 복사됩니다. [폴더는 안 됨]

반면 Gui 파일매니저에서 복사하거나 압축을 하면 링크만이 복사(압축)되구요.

아무튼 이걸 활용해서 새 폴더를 만들고 거기에 필요한 파일들의 심볼릭을 모두 가져와서 원하는대로 새로운 이름으로 바꾸어 준 후에, 터미널에서 위의 명령을 입력해도 됩니다. 그럼 오리지날 파일의 파일명이 바뀐 버젼으로 압축을 해줍니다. [폴더는 안 됨. 그냥 링크만 압축함]

...심볼릭 링크 기능(+터미널)은 정말 리눅스의 심플하고 강력한 장점 중에 하나인 것 같습니다.

 

[...추가 수정 사항]

Wine 버젼 반디집에서 각각 파일(폴더)명으로 압축하기가 가능했습니다. 보니까 있네요 -_-;

 

스크린샷, 2021-01-05 08-33-30.png

 


Articles

58 59 60 61 62 63 64 65 66 67