だから私はLinuxに初めてアクセスし、.logで終わる/ var / logの内容をarchiveという名前の新しいディレクトリにあるlog.tarというtarファイルに保存する小さなスクリプトを書いた。次に、tarファイルの内容がリストされ、バックアップと呼ばれる新しいファイルに抽出されたとします。
#!/bin/bash
mkdir archive
mkdir backup
cd archive
tar -cvf log.tar /var/log/*.log
tar -tf tar.log
tar -xf tar.log -C ~/backup
だからスクリプトを実行すると、このような結果が出ます。
tar: Removing leading `/' from member names
/var/log/alternatives.log
/var/log/auth.log
/var/log/bootstrap.log
/var/log/dpkg.log
/var/log/fontconfig.log
/var/log/gpu-manager.log
/var/log/kern.log
/var/log/vboxadd-install.log
/var/log/vboxadd-setup.log
/var/log/Xorg.0.log
var/log/alternatives.log
var/log/auth.log
var/log/bootstrap.log
var/log/dpkg.log
var/log/fontconfig.log
var/log/gpu-manager.log
var/log/kern.log
var/log/vboxadd-install.log
var/log/vboxadd-setup.log
var/log/Xorg.0.log
そのため、アーカイブ時に行の/ var / log /部分を削除できるかどうか疑問に思い、tarファイルの内容を一覧表示するときにこれを得ます。
alternatives.log
auth.log
bootstrap.log
cron.log
dpkg.log
kern.log
mail.log
バックアップファイルでlsを実行すると、varディレクトリが表示され、varディレクトリでlasが実行され、最後にログディレクトリにログファイルが表示されます。それでは、/var/log/パス名とディレクトリなしで抽出する方法は何ですか?
答え1
tar コマンドの /var/log ディレクトリーに存在します。
tar cf /path/archives/yourfile.tar *.log
これにより、ファイルにパスがなくなり、ターゲットファイルはアーカイブディレクトリにあります。
この設定でスクリプトを変更すると、スクリプトを学習してトレーニングできます。