質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

4回答

13716閲覧

コマンドでディレクトリのコピーをしたいです。

YukikoHamabe

総合スコア28

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2015/05/19 08:36

編集2015/05/19 13:26

お世話になります。初心者です。
cakephpでサイト構築しています。

ディレクトリのコピーをしたいのですが、CUIでの操作がすごく苦手です。
まず、古いappと新しいappがあり、その中のtmpだけをコピーしたいです。

色々ネットで検索して, cp -r 移動元ディレクトリ 移動先ディレクトリ
で出来ると書いてあったので、
cp -r /tmp* /new/app/tmp/

(古いappにあるtmpディレクトリを新しいtmpディレクトリにコピーしたい)

![![イメージ説明]WIDTH:600説明]WIDTH:600]WIDTH:600
: cp: ディレクトリ `/new/app/tmp/' を作成できません:そのようなファイルやディレクトリはありません。という表示が出ます。

階層の指定が間違っているのでしょうか?なぜ作成できないのでしょうか。

お詳しい方、ご教授頂けますと幸いです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takotakot

2015/05/19 10:32

「打ったコマンドと、エラーメッセージの正確なコピー」を貼って頂ければと思います。 mkdir -p /new/app/tmp/ cp -r /tmp/* /new/app/tmp/ を行うと、どう表示されるでしょうか。
YukikoHamabe

2015/05/19 12:38

お世話になります。打ってみました root@blocal: app # mkdir -p /new/app/tmp/ cp -r /tmp/* /new/app/tmp/ mkdir: オプションが違います -- 'r' 詳しくは `mkdir --help' を実行して下さい. と、表示されました。
takotakot

2015/05/19 12:40

すみません、2つは別なのです。mkdir -p /new/app/tmp/ と cp -r /tmp/* /new/app/tmp/ です。くっついて見えますね。失礼しました。
YukikoHamabe

2015/05/19 12:56

なるほど!ありがとうございます!エラーが出ませんでした! でもすいません。編集依頼の欄にご投稿頂いたのでベストアンサーにできないです。 それと私が初心者なのでいまいち更新できたのが、確認できず。。 でもエラーが出ていないので、ベストアンサーの様の気がいたします!
guest

回答4

0

VM上でappフォルダ内にいて実行されているということなら、移動元ディレクトリの指定は、

./tmp

です。問題は移動先のディレクトリが、今いるところからどこにあるか?です。appフォルダにいてcpコマンドを実行するなら、移動先のディレクトリ「new」が、今いるappフォルダから見て相対的にどこにあるか、をドットとスラッシュで指定しないと正しくコピーされないです。

「app」ディレクトリと「new」ディレクトリが、その上の階層から見て並列に存在するなら、

cp -r ./tmp ../new/app/

でコピー出来るかと思います。./は同階層、../は、ひとつ上の階層、の意味になります。1つ上の階層のnew/appディレクトリの中に、今いる同階層のtmpディレクトリをコピー、ですね。

投稿2015/05/19 13:31

編集2015/05/19 13:35
SaintKnowledge

総合スコア368

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

まず、現在のディレクトリ構成を新appと旧app両方ともルートディレクトリからtmpまで書いてください。/tmp* という指定はまず間違いでしょう。
cd で、それぞれのtmpディレクトリまで移動してpwdすればいいかと思います。

サンプル:

lang

1旧: 2/opt/project-A/app/tmp 3新: 4/opt/project-A/new/app/tmp

あと、

cp -r /tmp* /new/app/tmp/
(古いappにあるtmpディレクトリに新しいtmpディレクトリをコピーしたい)

コマンドの方は、/tmpを/newという名前の付いたディレクトリにコピーしようとしているのにもかかわらず、日本語の方は、古いほうに新しい物をコピーすると書いてある。どちらが正しいのでしょうか?

投稿2015/05/19 12:58

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YukikoHamabe

2015/05/19 13:28

ご回答ありがとうございます。 質問内容に不備があり、すみません。修正しました。 新appと旧appにつきまして 新 local.bams.com/new/app/tmp 旧がlocal.bams.com/app/tmp  という構成です。
otn

2015/05/19 13:50

new/app/tmpが既に出来ているようなので、一度消してからコピーします。 cd local.bams.com pwd 表示結果=> local.bams.com rm -r new/app/tmp cp -r app/tmp new/app/tmp
guest

0

/new/app/tmp/ってやっちゃうとルートディレクトリに/new/app/tmpというディレクトリがあることになりますが・・・./new/app/tmpもしくは~/new/app/tmpの間違いではないですか?

投稿2015/05/19 11:58

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YukikoHamabe

2015/05/19 12:44

環境について説明が足りなかったのかもしれないのですが、 VM上でappの所で(root@blocal: app # cp -r /tmp* /new/app/tmp/ という様なコマンドを実行しました。 なので・・・?
cateye

2015/05/19 12:47

であれば cp -r ./tmp ./new/app/tmp だと思いますが? 頭に/入ると無条件にルートになります。
guest

0

ディレクトリがないと怒られるなら、まずディレクトリを作っちゃえばいいのでは!
というわけで↓

mkdir /new/app/tmp/
cp -r /tmp* /new/app/tmp/

投稿2015/05/19 08:40

Yasha_Wedyue

総合スコア830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YukikoHamabe

2015/05/19 09:20

回答ありがとうございます。 ディレクトリを作り直そうと試したのですが、 mkdir: ディレクトリ `/tmp/' を作成できません: ファイルが存在します と怒られてしまいます。
Yasha_Wedyue

2015/05/19 10:24

sudoで管理権限とってやれば多分できると思います。 cakeのapp/tmpは通常であれば/var/www/html/とかにあると思いますよ。 ルートに作るのはあんまりよろしくない(と思う)ので、 sudo cp -r /var/www/html/cake/app/tmp/ /usr/local/cake/app/tmp/ こんな感じだと思います。 出先なので確認できませんが……
otn

2015/05/19 12:43

「ファイルが存在します」というエラーなので、sudoとかの問題では無いです。
takotakot

2015/05/19 12:59

mkdir -p /new/app/tmp/ cp -r /tmp/* /new/app/tmp/ でできたそうなので、何かディレクトリがあったか、どこか細かいところがおかしかったのでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問