이 명령 행 순서에서 * .sh 와일드 카드를 사용하여 일부 파일을 복원합니다. 세 번 맞았습니다. 더 있어야한다는 것을 알고 전체 이름을 입력했습니다. 예를 들면 다음과 같습니다. goFindRanges.sh. 추가 파일을 복원 할 수있었습니다. 와일드 카드가 어떻게 엉망이 되었습니까?
내 .tgz 아카이브는 하드 디스크에 있습니다. 광학 매체가 아닙니다. 우분투 10.10에서 bash를 사용합니다.
b@maui:~$ tar xvpfz backup2011Sep06T0000.tgz ./javawork/Trader1/*.sh
./javawork/Trader1/goReloadOp.sh
./javawork/Trader1/goReloadAudit.sh
./javawork/Trader1/goTrade.sh
b@maui:~$ tar xvpfz backup2011Sep06T0000.tgz ./javawork/Trader1/goFindRanges.sh
./javawork/Trader1/goFindRanges.sh
답변
와일드 카드는 아카이브 내부에있는 것이 아니라 디스크에있는 것을 확장합니다 (tgz).
답변
당신이 할 때 :
tar xvpfz backup2011Sep06T0000.tgz ./javawork/Trader1/*.sh
는 *.sh
쉘 확장 (존재 ./javawork/Trader1/*.sh 존재를 가정). 따라서 tar는 다음과 같이 쉘에 의해 실행됩니다.
tar xvpfz backup2011Sep06T0000.tgz ./javawork/Trader1/goReloadOp.sh ./javawork/Trader1/goReloadAudit.sh ./javawork/Trader1/goTrade.sh
와일드 카드를 tar에 전달하려면 “그 파일 만 추출하십시오”라고 말하려면 작은 따옴표로 묶고 --wildcards
옵션을 추가해야합니다 .
tar xvpfz backup2011Sep06T0000.tgz --wildcards './javawork/Trader1/*.sh'