루트 디렉터리에서 tar.gz를 사용하여 .csv 파일을 패키징해 보았습니다.
파일은 myfile.csv
다음 위치에 있습니다 /mnt/sdb1/
. 따라서 전체 파일 이름은 다음과 같습니다./mnt/sdb1/myfile.csv
tar.gz를 저장해 보았습니다./mnt/sdb1/old_files
나는 이것을 시도했습니다 :
tar -czf /mnt/sdb1/old_files/new.tar.gz mnt/sdb1/myfile.csv
그러나 파일을 추출하면 파일이 포함된 "sdb1"이라는 다른 폴더가 포함된 "mnt"라는 폴더가 추출됩니다.
모든 디렉토리를 복사하는 대신 파일을 압축하는 것이 가능합니까?
답변1
--directory
다음 옵션을 사용하십시오 man tar
.
-C,- -디렉터리 DIR
디렉토리 DIR 변경
즉:
tar -C /mnt/sdb1/ -czf /mnt/sdb1/old_files/new.tar.gz myfile.csv
답변2
먼저 명령을 cd /mnt/sdb1
시작 해야 합니다 .tar
tar
참고로, 여러 파일을 하나의 타르볼로 모으는 것이 목적이므로 이것을 사용할 필요는 없습니다 . 여기에는 파일이 하나뿐이므로 gzip
.
답변3
-C
tar 옵션을 사용하십시오 .
-C Directory Causes the tar command to perform a chdir subroutine to the directory specified by the Directory variable.