.tar ファイルが抽出されるデフォルトのディレクトリが見つかりません。OS - Ubuntu 16 4. 回答しないでください: tar ファイルと同じフォルダーはそこに存在しないためです (私が見つけたすべてのチュートリアルや質問では、その回答が使用されています)。助けてください。?!
答え1
tar
イメージをパックすると、そのディレクトリ構造が保持されます。解凍せずにディレクトリ構造を確認するには、次の手順を実行しますtar
。
tar -ztvf my-data.tar.gz
(-t
の略--list
):
アーカイブの内容を一覧表示します。引数はオプションです。引数を指定すると、一覧表示するメンバーの名前が指定されます。
ファイルが抽出されたディレクトリと同じディレクトリにない場合は、または が指定されていtar
ない限り、そのディレクトリのサブディレクトリにあります。-C
--directory
-C, --directory=DIR Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
find . -name '*expected file*'
現在のディレクトリで検索してみてください。
答え2
これは、例えば解凍時に変更されない限り、アーカイブにエンコードされたディレクトリです-C
。アーカイブ内のファイルパスのリストは、次のようにしていつでも取得できます。
tar -t -f archive.tar
アーカイブに保存されているパスはほとんどいつも相対パス(-P
アーカイブの作成時に が使用されない限り)であり、アーカイブの内容は現在のディレクトリ内のファイル階層として解凍されます( で変更されない限り-C
)。
答え3
このtar
コマンドは、現在の作業ディレクトリtar
シェルから実行する場合、これはシェルの現在の作業ディレクトリであり、cd
コマンドによって設定され、コマンドによって表示されpwd
、プロンプトに表示されることもあります。抽出ディレクトリは、オプションを使用して変更できます-C
。
多くの tar ファイルでは、すべてのファイルが単一のトップレベル ディレクトリ (抽出ディレクトリを基準) 内にあり、通常は tar ファイルに似た名前が付けられています。この場合、抽出されたすべてのファイルはそのディレクトリの下にあります。ただし、これは必須ではありません。複数のトップレベル ディレクトリとトップレベル ファイルを含む tar ファイルも多数あります。一方、tar
Ubuntu や他のほとんどのシステムでは、抽出ディレクトリの外部にファイルは抽出されません。
抽出ディレクトリは、tar ファイルの場所とはまったく関係ありません。(これはコマンドの場合でありtar
、一般にほとんどのコマンドライン アーカイブ操作プログラムに当てはまります。GUI プログラムの動作は異なる場合があります。) 渡された tar ファイル名引数にディレクトリ部分が含まれていない場合、抽出ディレクトリは tar ファイルの場所ですtar
が、一般にはどこでもかまいません。
コマンドを実行したときの現在のディレクトリが思い出せない場合はtar
、シェルの履歴を確認してください (bash では、Ctrl+を押しRてから と入力しtar
、もう一度Ctrl+を押すRと検索が繰り返されます)。アーカイブへの相対パス (例tar xf subdir/archive.tar
) が見つかった場合は、現在のディレクトリがどこだったかがわかる場合があります (この例では、アーカイブを含むディレクトリの親でした)。もちろん、パスが絶対パスである場合など、これが常に役立つとは限りません。
ファイルが見つからない場合は、次のコマンドを使用して、適切な時間範囲で作成または変更されたファイル(より正確には、ファイルまたはそのプロパティに加えられた変更)を検索することができます。find
およびその-ctime
または-cmin
オプション、例:
find ~ -cmin +30 -cmin -61
ホームディレクトリ下で 30 分から 60 分前に変更されたファイルを検索します。 と の代わりに、-cmin
変更時刻をファイル の変更時刻と比較する-ctime
ことができます。コマンドの最後にを追加すると、アーカイブに含まれる特定のファイル名 (ディレクトリ部分なし) に絞り込むことができます。-cnewer somefile
somefile
-name foo
find
tar
前日またはそれ以前に走った場合は、見つけるデータベースは、ファイルの場所を知らせてくれる場合があります。たとえば、アーカイブにファイルが含まれている場合some/directory/myfile.txt
、locate some/directory/myfile.txt
そのファイルがどこにあるかがわかります。