ホームディレクトリを古いシステムから新しいシステムに移行しています。作成したtarballには、.bashrcなどの隠しファイルを含むすべてが含まれています。ただし、解凍したtarball(/ tmpにある)の内容を新しいホームディレクトリに移動すると、隠しファイルはコピーされません(mv /tmp/home/rcook/* /home/rcook/
)。どうすればmvを取得して移動できますか
実際、問題はmvにあるのではなく、bashのグロビングにあると思います。これを行う場合:
mkdir a
mkdir b
touch a/.foo
touch a/bar
mv a/* b/
ls -a a/ b/
私はこれを見る:
a/:
. .. .foo
b/:
. .. bar
a/.foo
移動しませんでした。では、隠しファイルを見つけるために*ワイルドカードを取得するにはどうすればよいですか?
はい、tarballをホームディレクトリに直接解凍できますが、tarballはに解凍されhome/rcook/...
、.bashrc
古いカスタマイズされたバージョンで新しいなどを上書きし、隠しファイルを見つけて移動する方法を知っていることを確認したいです価値のあるスキルです。提案?
いくつかの答えはのようなことを提案しますmv src/.* dest/
。ただし、テストディレクトリでこれを試したところ、エラーが発生しました。で始まります:
rcook$ ls -a a/ b/
a/:
. .. bar .foo
b/:
. ..
rcook$ mv a/.* b/
mv: cannot move 'a/.' to 'b/.': Device or resource busy
mv: cannot remove 'a/..': Is a directory
rcook$ ls -a a/ b/
a/:
. .. bar
b/:
. .. .foo
何が間違っていますか?