私は次のコマンドを発行しました:
sudo cp ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/
これを行うと、次のメッセージが表示されます:
cp: omitting directory `Tag' cp: omitting directory `Test' cp: omitting directory `Text' cp: omitting directory `TimeSync' cp: omitting directory `Tool' cp: omitting directory `Translate' cp: omitting directory `Uri' cp: omitting directory `Validate'
というように。..
なぜ私はこれらのメッセージを得るのですか?
デフォルトでは, cp
ディレクトリ内のサブディレクトリではなく、直接ファイルのみをコピーします。 メッセージ cp: omitting directory 'directory'
上記のディレクトリがコピーされないことを警告します。
これを行うには、次のように指定します。 -r
(または --recursive
)オプション:
sudo cp -r ~/Transfers/ZendFramework-1.11.4-minimal/library/Zend/* ~/public_html/cmsk.dev/library/
その マニュアルページ (コマンド: man cp
)使用可能なオプションの概要が含まれています。
このメッセージは、次のことを意味します cp
リストされているディレクトリをコピーしていません。 これはデフォルトの動作です cp
-明示的に指定しているか、使用しているかにかかわらず、ファイルのみが正常にコピーされます *
. ディレクトリのコピーが必要な場合は、次のようにします。 -r
"再帰的"を意味するスイッチ。
次のようなディレクトリをコピーしている場合:
cp dir1 copy_of_dir1
あなただけの、正確にコピーしている dir1
それ自体ではなく、その中のファイルなので、最後には構造が存在しない間に新しいディレクトリ構造になります。
それがコピーされた後、他の言葉では、それは私の内容があることを言うだろう file1
, file2
しかし、これらのファイルはコピーされていないため、そこには存在しません。
だから、この問題を解決するために、それが出てきたかもしれません cp
デフォルトでは、ディレクトリはコピーされず、指定しない限りスキップされます -r
すべてのファイルを再帰的にコピーするオプションもあります。
それが言う理由 omitting directory
なぜならば cp
私が知っているすべてのコピーユーティリティは、ファイルのコピーを開始する前にコピーするファイルとサブディレクトリのリストを作成します。 ときに --recursive
オプションが欠落している場合、サブディレクトリはこのリストからぶつか したがって、省略とは、ソースメディアからではなく、コピーリストから削除することを指します。 私はこれがメッセージの意味に演説することを信じる。
その cp コマンドは、ファイルやディレクトリではなく、ネストされたディレクトリをコピーするために使用され、あなたが追加することができますネスティングディレクトリをコピーしたい場合は、追加することができます。 -r その後、-rは再帰的を意味します。
従うことができる構文(rootとして実行):
cp -r /source/dir/* /destination/
または
cp --recursive /source/dir/* /destination/
二つのディレクトリ'Tag'&'Test'があるとします
'Tag'ディレクトリを'Test'ディレクトリにコピーする場合は、コマンドを使用します
$ : cp -r Tag Test (case sensitive)
そうでない場合は、上記のコードで主に問題が解決され、以下のようなメッセージが表示されます
cp: omitting directory `Tag' cp: omitting directory `Test'
次に、'Tag'ディレクトリにいくつかのファイルを追加し、それらを'Test'にコピーします。 実際に私は同じ問題を抱えていますが、私が第二に言ったように解決しました。