こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

linuxで隠しファイルの移動について

[/home/user1/] があります。
この中は雑然としていますが、これを整理する為、一旦全て移動させようと思っています。

[/home/user1/wk1/]を作成し
[/home/user1/]を[/home/user1/wk1/]に移動します。

この時、[/home/user1/]内には[.bash_history]等の隠しファイルがあり、これらはそのまま[/home/user1/]に残して、
隠しファイル以外のファイルやディレクトリを全て[/home/user1/wk1/]に移動したいのですが、最も手間の掛からない方法を教えて頂きたいです。

<変更前>
/home/user1/
+-.bash_history
+-.lang
  +-langrc.csh
+-file1
+-dir1/
  +-d1_1/
  +-d1_2/
    +-file1

<変更後>
/home/user1/
+-.bash_history
+-.lang
  +-langrc.csh
+-wk1/
  +-file1
  +-dir1/
    +-d1_1/
    +-d1_2/
      +-file1

同一ディレクトリの下位に移動するというのと、隠しファイがいるという事が結構面倒な要因になっていますが、いい方法がないでしょうか?

・指定したデイレクトリ内の隠しファイルだけすべて再帰的に移動
・指定したデイレクトリ内の隠しファイル以外すべて再帰的に移動
このどちらかが出来れば簡単なのかもしれませんが。。

投稿日時 - 2005-12-26 16:14:10

QNo.1860563

困ってます

質問者が選んだベストアンサー

/home/user1で

mkdir .wk1
mv * .wk1
mv .wk1 wk1

じゃだめかしら?

man bash で「パス名展開」の項を読むと良いかも。

重要なファイルを含む場合は、バックアップと事前のテストを行ってから実行して下さいね。

投稿日時 - 2005-12-27 18:51:14

お礼

隠しディレクトリを使うとは考えましたね。

隠しじゃなければ、自分自身を自分の下にコピーしてしまいますからね。
mvの場合もワーニング出ますし。

「ほー」と感心しました。
ありがとう御座いました。

投稿日時 - 2005-12-28 10:13:33

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

可視ディレクトリの下の不可視ファイルは移動してもいいのでしょうか?
もしそうなら、
(できれば wk1は/home/usr1の下以外のところに作るほうが楽でしょうが、)
たとえば、
ls >ls.list で見えるファイル一覧を作っておいて、
viなどで ls.list の中から、wk1とls.list(や他に移動したくないファイルがあれば)を削除して、
mv `cat ls.list` wk1/
とかでもできそうな気がします。

(場合によっては、 mv * wk1/ だけでもいけるかもしれません(wk1 の移動はエラーが起きて処理されないかも)、が、ちょっと怖いので。)

投稿日時 - 2005-12-27 06:20:26

お礼

隠しファイル系は横着せずに一つ一つ把握しながら移動すべきですね。。
フォルダごとコピーして戻すみたいな事はやめました。。
ありがとうございます。

投稿日時 - 2005-12-28 09:44:54

ANo.1

隠しファイルだけのコピー方法

cp -r \.??* wk2/

で、2文字以上の隠しファイルと、隠しディレクトリの
コピーはできます。

.a
などのファイルは、無理ですが。。。

投稿日時 - 2005-12-26 16:42:43

お礼

ありがとうございました

投稿日時 - 2005-12-28 09:42:30

あなたにオススメの質問