mkdir ○○
でディレクトリを作成したのにも関わらず、そのディレクトリにコピーしようとしたところ
cp: 宛先の `○○' はディレクトリではありません とエラーが出ました。

cp `find . -name "[ab]*" -print` ○○

同じディレクトリにある△△と○○という2つのディレクトリのうち△△に移動して△△の中のファイルを○○のファイルにコピーするといったものです。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

》△△と○○という2つのディレクトリのうち△△に移動して△△の中のファイルを○○のファイルにコピーするといったものです。



ということは、現在△△にいるわけだから、○○にコピーするためには、
cp `find . -name "[ab]*" -print` ../○○
とするか、もしくは○○はフルパスにする必要がありますが、そうしてますか?
    • good
    • 0
この回答へのお礼

出来ました。
記述漏れでエラー吐いてたみたいです。
ありがとうございました。

お礼日時:2015/08/30 17:40

ls -l 〇〇


で、どう表示されますか?
可能性としては、もともと〇〇というファイルがあって、mkdirが失敗したとかですかね。あるいはタイプミスか。
念のためですが、〇〇は絶対パスですよね?
    • good
    • 0
この回答へのお礼

記述漏れみたいでした。
ありがとうございました。

お礼日時:2015/08/30 17:41

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qディレクトリ操作

PERLでディレクトリの操作をするときの文法を教えていただけないでしょうか。
ディレクトリオープンは判るのですが・・・、
ディレクトリ作成・ディレクトリの名前変更
ディレクトリの削除・ディレクトリの存在確認
が判りません。どうかご指南お願いいたします。

Aベストアンサー

 -e もしくは -d のあとのフォルダ名は、必ず "" か '' でかこってください。
 そうでないと正しく動作しません。

QLinux mkdirでサブフォルダごと作成

Linuxでファイルを転送するシェルを作成しております。

コピー元と同じ階層構造でコピーしたいのですが、
ftp内で mkdir をする時にオプションの -p は使えないのでしょうか?
さきほどやってみたのですが、うまくいきません。

Target="share/1G/1T"
ftp -i -v -n 10.156.1.xxx <<END
user UserName PW
bin
mkdir -p $Target *1G/1Tというフォルダを一気に作成したい。
cd $Target
#put $Target/test.txt /Target/test.txt
bye
END

ftpのコピー先に、フォルダ階層をいっきに作成する方法はありますでしょうか?

Aベストアンサー

使えません。Linuxのmkdirコマンドとftpのmkdirコマンドは似ていて非なるものです。

そこで、以下のようにすれば期待されている動作に近い形になるかと思います。

Target="share/1G/1T"

( echo 'user UserName PW'
echo 'bin'
IFS=/
for subdir in "$Target"; do
echo "mkdir $subdir"
echo "cd $subdir"
done
#echo 'put $Target/test.txt /Target/test.txt'
echo 'bye' ) | ftp -i -v -n 10.156.1.xxx

ただ、上記はディレクトリが最初から存在していた場合についてあまり
考慮されていません(処理は継続されますが、550のコードが出力されてしまいます)

Q特定のディレクトリから特定のディレクトリへファイルを移動するバッチ処理

特定のディレクトリから特定のディレクトリへファイルを移動するバッチ処理

WindowsOSにおいて、たとえば、ディレクトリA、ディレクトリBがあり、
ディレクトリAの中に入っているファイルやディレクトリをすべて、
ディレクトリBに移動する、というようなバッチ処理があれば
その書き方を教えてください。

意味不明でしたら加筆しますのでよろしくお願いします。

Aベストアンサー

こんにちは。

 コマンドプロンプトのXCOPYではダメでしょうか。

では。

Qコマンドプロンプトで、linuxのlocateコマンドのようなコマンドはありますか?

vista ultimateを使っています。

端的にいうと、
Cドライブ配下全体で、.log,.msi.install.exe,setup.exe
のどれかの文字列を含むファイル一覧を表示させたいと思っています。
(できれば、

☆含むではなく、
.logで終わる
or
.msiで終わる
or
install.exeと完全一致
or
setup.exeと完全一致

☆なおかつ、できれば、大文字小文字を区別しない

☆なおかつ、できれば、結果は、ファイル名だけでなく、フルパスで知りたい

と思っています。

で、いま、vistaが立ち上がらないエラーが起きているので、
vistaのメディアから、コマンドプロンプトで、
それを実行しようとしています

そこで。。。一案ですが・。。
コマンドプロンプトで、
linuxのlocateコマンドのようなコマンドはありますか?
findというのがそれかなと思ったのですが、
linuxにおけるgrepと同じようでして。

ご存知の方いらっしゃいましたら、よろしくお願いします。

vista ultimateを使っています。

端的にいうと、
Cドライブ配下全体で、.log,.msi.install.exe,setup.exe
のどれかの文字列を含むファイル一覧を表示させたいと思っています。
(できれば、

☆含むではなく、
.logで終わる
or
.msiで終わる
or
install.exeと完全一致
or
setup.exeと完全一致

☆なおかつ、できれば、大文字小文字を区別しない

☆なおかつ、できれば、結果は、ファイル名だけでなく、フルパスで知りたい

と思っています。

で、いま、vistaが立ち上がらないエラーが起きて...続きを読む

Aベストアンサー

C:
CD \
DIR /S /P *.log
DIR /S /P *.msi
DIR /S /P install.exe
DIR /S /P setup.exe

Q仮想ディレクトリと通常ディレクトリの違い。

お願いします。教えてください。

<質問内容>
仮想ディレクトリと通常ディレクトリの違いは?

1.仮想ディレクトリは他のディレクトリとリンク?が出来る。
2.通常はただのフォルダ。

その他に仮想ディレクトリの利点ってあるのでしょうか?
いまいち仮想ディレクトリの利用方法が明確になっていないので・・・

Aベストアンサー

IISの設定のことですよね。
仮想ディレクトリは、物理的な配置を見えなくする効果もあります。
ホームディレクトリを
C:\wwwrootと指定したときは
http://www.sample.ne.jp/ とURLを書いたときに表示されるファイルがそのコンピュータのC:\wwwrootフォルダの中にあると解釈されますよね。これも一種の仮想ディレクトリです。

例えばC:\wwwroot\bigfolderフォルダの下がものすごく大きな容量になってしまい、Cドライブに入らなくなったとします。普通このフォルダに入っているファイルにアクセスする場合は
http://www.sample.ne.jp/bigfolder/ でアクセスしていますが、これをそのままにして、コンピュータ上の場所だけ移動したいときに便利になります。
../bigfolder(外からのフルパスで書けばhttp://www.sample.ne.jp/bigfolder/)の指定をD:\bigfolderとしておけば、仮想ディレクトリは外から見たときのアドレスはそのままでも、そのコンピュータの中にあるデータはDドライブへ移ることになり、容量が確保できます。

仮想ディレクトリによってサーバーそのものも変えることができるの(下の方が書いてますが、共有名を使用できる)で、その点からすると負荷分散にもなります。


こんなものでどうでしょうか?

IISの設定のことですよね。
仮想ディレクトリは、物理的な配置を見えなくする効果もあります。
ホームディレクトリを
C:\wwwrootと指定したときは
http://www.sample.ne.jp/ とURLを書いたときに表示されるファイルがそのコンピュータのC:\wwwrootフォルダの中にあると解釈されますよね。これも一種の仮想ディレクトリです。

例えばC:\wwwroot\bigfolderフォルダの下がものすごく大きな容量になってしまい、Cドライブに入らなくなったとします。普通このフォルダに入っているファイルにアクセスする場合は
...続きを読む

Qlinuxコマンド/複数のディレクトリに対して一括でファイルをコピー

linuxコマンドについて質問です。

ある特定の1つのファイルを、複数のディレクトリに対して一括コピーはできなのでしょうか?

root
La
Lb
Lc
-test.txt

↓実行後

root
La-test.txt
Lb-test.txt
Lc-test.txt
-test.txt

root以下にあるファイル test.txt(root/test.txt)を
root以下にあるディレクトリa,b,cにコピーしたいのです。

よろしくお願いいたします

Aベストアンサー

cd /root
for d in a b c;do cp test.txt $d;done
でできませんでしょうか。

Qcpコマンドで、属性維持したままディレクトリ毎、同じ階層にコピーしたい

originディレクトリ内容を、copyディレクトリへ、属性維持したままディレクトリ階層毎コピーしたいです。

・aオプションを付与すると、階層がズレます。
・copyディレクトリの中にoriginディレクトリが作成されてしまいます。

・originディレクトリ内容を、そのままcopyディレクトリ内容へコピーするにはどうすれば良いでしょうか?

Aベストアンサー

cp -rp

QPHPから外部コマンドを使ってファイルやディレクトリを新規作成するには?

LinuxのFedora10で、PHPで外部コマンドを使ってサーバ内にディレクトリを新規作成したいのですができません。

/var/www/uuu内に、index.phpを設置し、その中の一部に以下のようなスクリプトを書いています。

<?php
system("pwd");
system("touch fff");
system("mkdir ddd");
?>

system("pwd")は/var/www/uuuという結果を出してくれます。しかし、system("touch fff")やsystem("mkdir ddd")に関しては全く結果を出してくれません。
(PHP自体のエラーではないようです。)

どうやら、外部コマンド自体はうまく機能してくれているみたいなのですが、ディレクトリやファイルを新規作成することができないようなのです。
/var/www内のディレクトリuuuのパーミッションを777にして、オーナーを一般ユーザにしてやってみても同様にうまくいきません。

どのようにすれば、PHPから外部コマンドを使ってファイルやディレクトリを新規作成することができるでしょうか?
よろしくお願いします。

LinuxのFedora10で、PHPで外部コマンドを使ってサーバ内にディレクトリを新規作成したいのですができません。

/var/www/uuu内に、index.phpを設置し、その中の一部に以下のようなスクリプトを書いています。

<?php
system("pwd");
system("touch fff");
system("mkdir ddd");
?>

system("pwd")は/var/www/uuuという結果を出してくれます。しかし、system("touch fff")やsystem("mkdir ddd")に関しては全く結果を出してくれません。
(PHP自体のエラーではないようです。)

どうやら、外部コマン...続きを読む

Aベストアンサー

やりたいことがrootでのuseraddだけなら、sudoersに
apache ALL=(root) NOPASSWD: /usr/sbin/useradd
とでも書いておきsudoすれば済むでしょう。

しかし私ならphpから直接sudoなどはせず、キューに入れるだけにしますね。別途サニタイズしつつ処理するものを書いてcronで回します。

Qディレクトリ削除

rmdirでディレクトリを削除しようとしているのですが、
ディレクトリの中にファイルやディレクトリがある為削除できません。
ディレクトリの中には何階層もディレクトリがあり(いくつあるかわからない)ます。
この場合ディレクトリ以下全て消したいのですがどうやって実装すればいいでしょうか?
ご存知の方ご教授お願いいたします。

Aベストアンサー

まぁ普通に考えれば、再帰呼び出しで一番TREEの下からファイルを削除するってことになりますよねー。
要するに、ディレクトリの階層一覧を所得して、それがディレクトリだったらまた階層一覧を。。。。ってことです。

Q特定のファイルだけをサブディレクトリ以下のファイルをディレクトリを作成してコピーする。

下のように各フォルダ内にreadme.txtファイルだけを特定のフォルダ内に
コピーしたいのですが、ファイル名が同じなので、元のフォルダ階層のように
フォルダを作成して、そのファイルだけがコピーされるようなfindを使った
器用な方法はできるのでしょうか?

私は、次の段階で躓いて折ります。
find ./ -name ".forward"


execを使い方法は、
find img/ -type d -exec chmod 604 {} \;
のようなことは使ったことはありますが、通過したフォルダを作成して、ファイルをコピーする
ような方法はどのように記述したらよいか、わかりません。

A
+-- a1.txt
| a2.txt
| readme.txt
B
+-- b1.txt
| b2.txt
| readme.txt
C
+-- c1.txt
c2.txt
readme.txt

Aベストアンサー

例:下記のようなディレクトリ構成で各ディレクトリ(A,B,C)配下にあるreadme.txtをディレクトリsavedirにディレクトリを作成しつつコピーする場合。

ディレクトリ構成例
+A-+-- a1.txt
|  +-- a2.txt
|  +-- readme.txt
|
+B-+-- b1.txt
|  +-- b2.txt
|  +-- readme.txt
|
+C-+-- c1.txt
|  +-- c2.txt
|  +-- readme.txt
|
+savedir ←コピー先


ディレクトリ(A,B,C,savedir)があるディレクトリ配下に移動後以下のコマンドを実行。

# find A B C -name "readme.txt" -print | cpio -pdv savedir


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報