プロが教える店舗&オフィスのセキュリティ対策術

[/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

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

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

A 回答 (3件)

/home/user1で



mkdir .wk1
mv * .wk1
mv .wk1 wk1

じゃだめかしら?

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

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

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

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

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

お礼日時:2005/12/28 10:13

可視ディレクトリの下の不可視ファイルは移動してもいいのでしょうか?


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

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

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

お礼日時:2005/12/28 09:44

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



cp -r \.??* wk2/

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

.a
などのファイルは、無理ですが。。。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2005/12/28 09:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!