に基づいてこれ、tarを使用して、現在のディレクトリ内のすべての隠しファイルにアクセスできます。
ls -A | egrep '^\.' | tar cvf ./test.tar -T -
しかし、すべての隠しディレクトリまたは現在のディレクトリのすべての隠しディレクトリとファイルをどのようにtarできますか?
に基づいてこれ、ls -ap | egrep "^\..*/$" | tar -zcvf hiddens.tar.gz -T -
問題を解決する必要があります。しかしそれは真実ではない。このコマンドは単に空の tar.gz アーカイブを生成します。したがって、tarはこのコマンドを介してどのディレクトリも表示できません。
ベストアンサー1
シェルスクリプトや複雑なコマンドラインではls
結果を予測できないため、通常は使用しないことをお勧めします。
find
現在のディレクトリがホームディレクトリの場合は、次のコマンドが~
機能します。
cd ~
このコマンドは隠しファイルのみをインポートします。
LC_ALL=C find -mindepth 1 -maxdepth 1 -type f -name '.*' -print0 | tar --null -cvzf hidden-files.tar.gz -T -
このコマンドは、隠しディレクトリツリー(サブディレクトリとファイルを含む)のみを「のみ」インポートします。
LC_ALL=C find -mindepth 1 -maxdepth 1 -type d -name '.*' -print0 | tar --null -cvzf hidden-dirs.tar.gz -T -
ディレクトリツリーにシンボリックリンクがあると、予期しない結果が発生する可能性があります。