- PR -

フォルダの中身だけをcpできますか??

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-06-10 09:07
 お世話になります。Redhat8.0を使用しております。
下記のように二つのフォルダがあります。
d1の内容だけをを全てd2の中にコピーしたいと思います。どうすればワンコマンドでいけますでしょうか。

[root@ws02 okumura]# ls -la
合計
drwx------ 4 okumura okumura 4096 6月 10 09:22 .
drwxr-xr-x 12 root root 4096 6月 7 18:54 ..
drwxr-xr-x 3 root root 4096 6月 10 09:24 d1
drwxr-xr-x 2 root root 4096 6月 10 09:24 d2
[root@ws02 okumura]# ls -la d1
合計 12
drwxr-xr-x 3 root root 4096 6月 10 09:24 .
drwx------ 4 okumura okumura 4096 6月 10 09:22 ..
-rw-r--r-- 1 root root 0 6月 10 09:23 .test1
drwxr-xr-x 2 root root 4096 6月 10 09:24 d11
[root@ws02 okumura]# ls -la d2
合計 8
drwxr-xr-x 2 root root 4096 6月 10 09:24 .
drwx------ 4 okumura okumura 4096 6月 10 09:22 ..
-rw-r--r-- 1 root root 0 6月 10 09:24 .test2

[root@ws02 okumura]#cp「d1の中身を全部d2にコピー!!」

[root@ws02 okumura]# ls -la d2
合計 12
drwxr-xr-x 3 root root 4096 6月 10 09:29 .
drwx------ 4 okumura okumura 4096 6月 10 09:22 ..
-rw-r--r-- 1 root root 0 6月 10 09:28 .test1
-rw-r--r-- 1 root root 0 6月 10 09:24 .test2
drwxr-xr-x 2 root root 4096 6月 10 09:29 d11


是非ご教授いただきたいと思います。よろしくお願いいたします。
voyager
常連さん
会議室デビュー日: 2002/10/07
投稿数: 29
投稿日時: 2003-06-10 10:09
d1,d2と同階層のフォルダから
cp -r ./d1/* ./d2/ では?
take
ぬし
会議室デビュー日: 2002/06/06
投稿数: 265
投稿日時: 2003-06-11 09:39
えっと、voyagerさんの方法だと
残念ながら「.」で始まるファイルがコピーされないんですよね。
ということで、私もかなり苦しみましたが・・・

d1ディレクトリにて
# cp -r `ls -A` ../d2
でいけました。

lsの「-A」オプションは
「.」と「..」以外の全てのファイルを表示するオプションです
コンボ
会議室デビュー日: 2003/06/11
投稿数: 1
投稿日時: 2003-06-11 18:22
cpコマンドではないですが、下記のようにもできると思います。

d1ディレクトリにて
# tar cvf - . | (cd ../d2; tar xvf -)
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-06-12 10:17
 お世話になっております。皆様たくさんの案をいただきましておりがとうございます。
個人的にはtake様の案がスマートで気にいってしまいました。。
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2003-06-14 09:36
引用:

okumuraさんの書き込み (2003-06-12 10:17) より:
 お世話になっております。皆様たくさんの案をいただきましておりがとうございます。
個人的にはtake様の案がスマートで気にいってしまいました。。



ディレクトリd1の中にシンボリックリンクがあった場合、通常のcpでは
リンクそのものではなくリンク先のファイルがコピーされてしまいます。
(リンクがたぐられてしまう)

なので、ディレクトリ丸ごとコピーをするときは、コンボさんが書かれたように
tarを使うほうが良いでしょう。

AIXのcpコマンドなら-hオプションというのがあるのでtarいらずなのですが、
すべてのUnixにあるわけではないようなので、tarを使うやり方を覚えて
おくほうが良いです。

[ メッセージ編集済み 編集者: サ 編集日時 2003-06-14 09:38 ]
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-06-15 16:29
 なるほど、そういう事情があったのですね?ではtarを使用する方法で行います。ありがとうございました。。
1

スキルアップ/キャリアアップ(JOB@IT)