나는 이 스크립트를 사용하여 파일을 측정합니다.
tar -cvf test.tar -C /home/user/Desktop/filestoTar File_one zap_file
tar -rvf test.tar -C /home/user/Downloads/test Auto_file rocket_file
압축을 풀고 압축을 풀 때 디렉터리에 다음 내용이 포함되기를 원합니다.
Auto_file
File_one
rocket_file
zap_file
이 순서대로. 어떻게 구현할 수 있나요? 또한 내 코드와 코드의 차이점은 무엇입니까?
tar -cvf test.tar -C /home/user/Desktop/filestoTar File_one zap_file &&\
tar -rvf test.tar -C /home/user/Downloads/test Auto_file rocket_file
&&\
아무것도 하지 않는 것 같아
답변1
tar -r
는 아카이브 끝에 파일을 추가하는 데 사용되므로 원하는 효과를 얻으려면 tar 명령의 순서를 변경해야 합니다.
두 번째 부분( &&
bash에서는 논리적 AND)입니다. 다음 명령은 첫 번째 명령이 오류 없이 완료될 때만 실행됩니다.
즉, 첫 번째 명령은 첫 번째 명령이 실패하더라도 파일을 추가하려고 시도하는 반면, 두 번째 형식은 첫 번째 tar가 성공하지 않는 한 두 번째 tar가 시도되지 않도록 합니다.
문제에 대한 순진한 접근 방식은 다음과 같습니다.
tar -cvf test.tar -C /home/user/Downloads/test Auto_file && tar -rvf test.tar -C /home/user/Desktop/filestoTar File_one && tar -rvf test.tar -C /home/user/Downloads/test rocket_file && tar -rvf test.tar -C /home/user/Desktop/filestoTar zap_file