Bash를 천천히 배우려고 노력하고 있지만 사용하려는 실제 예제가 없으면 더 기술적인 측면을 파악하기가 어렵습니다. 이를 위해 온라인 저장을 준비하기 위해 bash(및 7zip)를 사용하여 일부 사진을 보관하는 방법을 알고 싶습니다.
본질적으로 각 디렉토리에 대해 .7z 아카이브를 만들고 각 아카이브에 문제의 디렉토리와 동일한 이름을 할당하는 것만 큼 "간단"하다고 생각합니다. 중요한 경우 모든 디렉토리의 이름은 공백 없이 지정됩니다.
모든 제안에 감사드립니다.
답변1
foo
디렉터리를 foo.7z
using이라는 이름의 아카이브 로 압축하는 방법은 7z
명령 a
("add")을 사용하는 것입니다.
7z a foo.7z foo
여러 디렉터리에 대해 이 작업을 수행하려면 루프를 사용할 수 있습니다.
for dir in foo bar baz; do
7z a "$dir".7z "$dir"
done
(공백이 포함된 디렉터리 이름은
$dir
따옴표로 묶여 있기 때문에 안전하지만 대시로 시작하는 디렉터리 이름에는 안전하지 않습니다. 이로 인해 해당 디렉터리 이름 7z
을 옵션으로 해석하려고 시도하게 됩니다.)
보관하려는 디렉터리 이름이 패턴을 공유하는 경우 모든 디렉터리를 명시적으로 나열하는 대신 for 루프에서 해당 패턴을 사용할 수 있습니다(예: for dir in [0-9][0-9][0-9][0-9][0-9][0-9]-*; ...
.
7z 문서에서는 소유권 정보를 보존하지 않기 때문에 Unix에서 보관하기 위해 7z 형식을 사용하는 것에 대해 경고합니다. 이것은 당신에게 중요할 수도 있고 중요하지 않을 수도 있습니다.