在这个命令行序列中,我使用 *.sh 通配符来恢复一些文件。我得到了三击。知道一定有更多,我输入了全名。例如:goFindRanges.sh。我能够恢复一个额外的文件。通配符怎么会搞砸?
我的 .tgz 存档在硬盘上;不是光学介质。我在 Ubuntu 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
Run Code Online (Sandbox Code Playgroud)
当你这样做时:
tar xvpfz backup2011Sep06T0000.tgz ./javawork/Trader1/*.sh
Run Code Online (Sandbox Code Playgroud)
的*.sh
是由壳膨胀(假设任何./javawork/Trader1/*.sh存在)。因此,tar 将被 shell 执行为:
tar xvpfz backup2011Sep06T0000.tgz ./javawork/Trader1/goReloadOp.sh ./javawork/Trader1/goReloadAudit.sh ./javawork/Trader1/goTrade.sh
Run Code Online (Sandbox Code Playgroud)
如果您想将通配符传递给 tar,要说“请只提取我这些文件”,您需要单引号并添加--wildcards
选项:
tar xvpfz backup2011Sep06T0000.tgz --wildcards './javawork/Trader1/*.sh'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
492 次 |
最近记录: |