タグ付けされた質問 「cp」

cp-ファイルをコピーするコマンドラインツール

1
cpはファイルを削除していると言いますが、すべきではありません
迅速なバックアップの作成: root@guilmon:/mnt/backup/guilmon/home# cp -uvfrx --preserve=all /home/rena/ . 出力は驚くべきものです-一部のファイルは削除されたと言われています! removed ‘./rena/dev/lua/conkybitcoin/conkybitcoin.lua’ 削除されるファイルはランダムで、変更されていないようです。それらを削除していると表示されるのはなぜですか?さらに奇妙なことに、そのファイル(およびソース)を実際に削除したようには見えません。どうしたの?
10 backup  cp 

2
cp:statできません:そのようなファイルまたはディレクトリはありません
を使用してローカルコンピュータからリモートサーバーにファイルをコピーしようとすると、エラーが発生しますssh。cpまたはを使用しても同じエラーが発生しますscp。 結果のエラーでの私の入力は次のとおりです。 [root@xxx.xx.xxx.xx /]# cp /home/username/some.xml root@xxx.xx.xxx.xx:/path/to/directory/ cp: cannot stat ‘/home/username/some.xml’: No such file or directory チェック/home/username/some.xmlしたところ、ローカルマシンのパスにファイルが確実にあります。 ローカルコンピュータとリモートサーバーの両方が実行されていCentOS 7ます。このエラーを解決して正常にコピーするにはどうすればよいですか?
10 ssh  centos  cp  scp 

2
いつcp --attributes-onlyを使用しますか
基本的なUNIXコマンドにいくつかの研究をしていると私は、次のコマンドラインオプションを使用したい場合などを取得しようとしている--attributes-onlyコマンドのためにcp こちらはcpmanページから --attributes-only don't copy the file data, just the attributes
10 files  cp 

2
なぜ `cp`と` rm`はディレクトリを別々に扱うのですか?
ツールがディレクトリを好きでcp、rm通常のファイルとは別に扱うのはなぜですか?どちらも、ユーザーが再帰的な動作を希望することを明示的に指定する必要があります。そうしないと、ディレクトリをまったく扱いません。 コンピュータとの最初のやり取り(しばらくの間)は、Windows / GUI /ポイントアンドクリック/ドラッグアンドドロップ環境で行われましたが、これらの操作がターゲットに関係なく同じように動作するのは常に自然なことでした。 この動作は、ワイルドカードを使用してコマンドを実行するときに特にイライラします。空でないサブディレクトリ*を除いて、ディレクトリ()内のすべてを削除したい場合はどうなりますか? これは、ユーザーが自分で足を撃たないようにするための一種のセキュリティ機能であるとしか想像できませんが、これはいくつかのUnixの原則についての私の理解と矛盾しています。 Unixは通常、ユーザーを自分から保護しません。それは常にユーザーが彼女がしていることを知っていると仮定しています。 Unixの場合、すべてがファイルです。ディレクトリは単なる別のファイルではありませんか?なぜ違う扱いを受けるのですか? 私の質問: この動作は技術的な制限によるものですか、それとも意図的な選択ですか? 後者の場合、 この選択の動機となった理由の歴史的な説明はありますか?
10 rm  cp 

2
ファイルをコピーせずに別のディレクトリからtarファイル
これは、ここの専門家にとって非常に簡単なはずです。 6GBのユーザーディスククォータを持つLinuxアカウントを持っています。/opt圧縮すると1GB になると約3GBのデータが入ったデータフォルダがいくつかあります。にはいくつかのシンボリックリンクがありますdata-folder。通常、仕事のバックアップを取るために、私は次のことをしていました。 cp -rvfL /opt/data-folder ~/ cd ~/ tar -zcvf data-folder.tar.gz data-folder rm -rvf data-folder これで、ユーザーのディスククォータで既に2.5 GBを消費しています。家にファイルをコピーするのに十分なスペースがありますが、家にはコピーできませんtar。 パイプを使用するなどして、単一のコマンドでフォルダーをtarしてコピーする方法はありますか? PSへの/opt読み取りアクセスしか持っていないため、tarで読み込むことができません/opt。
10 files  tar  cp 

5
ファイルシステムをそのまま正確にコピーするにはどうすればよいですか?
私がプログラミングしているデバイス用のファイルシステムがあり、正確なコピーを作成したいと考えています。理想的には、このコピーを、コピー元のフォルダーと同一にする必要があります。私が使って試してみましたcp -r cp -aし、rsync -azvPこれを達成しようとします。ただし、それぞれが異なるサイズのフォルダーを生成し(を使用du -s)、最終的に、デバイスが元のフォルダーで実行されても、コピーしたものでは実行されません。 私が使用したコマンドが考慮に入れられていないことは何ですか? ファイルシステム/フォルダーをコピーするときにすべてを同一に保つことは可能ですか?もしそうなら、私はそれをどうやってやりますか? PS私はStackOverflowに同様の質問を投稿しましたが、間違った交換で質問したことにすぐに気付きました 編集:これは役に立たないかもしれませんが、コピーしたディレクトリを使用する方法に関係なく、問題のマシンは常に次の出力でカーネルパニックを引き起こします。 VFS:NFS経由でルートfsをマウントできません。フロッピーを試しています。VFS:ルートデバイス「nfs」またはunknown-block(2,0)を開けません。正しい「root =」ブートオプションを追加してください。使用可能なパーティションは次のとおりです。1f0064 mtdblock0(ドライバー?)1f02 64 mtdblock2(ドライバー?)1f04 2432 mtdblock4(ドライバー?)1f05 128 mtdblock5(ドライバー?)1f06 4352 mtdblock6(ドライバー?)1f07 204928 mtdblock7(ドライバー?)1f08 50304 mtdblock8(ドライバー?)0800 8388608 sdaドライバー:sdカーネルパニック-同期しない:VFS:ルートブロックをunknown-block(2,0)にマウントできません
10 linux  filesystems  rsync  cp 

3
cp --no-target-directoryの説明
質問:の簡単な使用例が必要cp --no-target-directoryです。 理解するのが難しいcp --no-target-directoryです。の説明mv --no-target-directoryはわかりますが、の使い方を想像することはできませんcp。 たとえば、コマンドmv /tmp/source /tmp/destが成功した場合、/tmp/source名前が変更されたという保証はありません。他のプロセスがディレクトリとして作成された場合/tmp/dest、/tmp/dest/source代わりに名前が変更された可能性があります/tmp/dest。ただし、mv -T /tmp/source /tmp/dest成功した場合、/tmp/source was renamed to/ tmp / dest` は問題ありません。(ソース)

5
ファイルをトランザクションでコピーする方法は?
ファイルをAからBにコピーしたいのですが、ファイルシステムが異なる場合があります。 追加の要件がいくつかあります。 コピーは全部かゼロかであり、クラッシュ時にファイルBの一部または破損は残されません。 既存のファイルBを上書きしないでください。 同じコマンドの同時実行と競合しないでください。成功するのは1つだけです。 私はこれが近づくと思います: cp A B.part && \ ln B B.part && \ rm B.part しかし3.は、B.partが存在する場合でも(-nフラグを使用しても)失敗しないcpに違反しています。その後、他のプロセスがcpに「勝ち取り」、リンクされたファイルが不完全な場合、1。が失敗する可能性があります。B.partも無関係のファイルである可能性がありますが、その場合は他の隠しファイル名を試さなくても失敗します。 私はbash noclobberが役立つと思いますが、これは完全に機能しますか?bashバージョンの要件なしで取得する方法はありますか? #!/usr/bin/env bash set -o noclobber cat A > B.part && \ ln B.part B && \ rm B.part フォローアップ、とにかくこれでいくつかのファイルシステムが失敗することを知っています(NFS)。そのようなファイルシステムを検出する方法はありますか? 他のいくつかの関連するがまったく同じではない質問: ファイルシステム全体のアトミック移動を概算していますか? 私のfsはmvアトミックですか? eMMCでファイルとディレクトリをtempfsからext4パーティションにアトミックに移動する方法はありますか https://rcrowley.org/2010/01/06/things-unix-can-do-atomically.html
9 linux  bash  cp 

4
ファイル内の単語をGrepしてからファイルをコピーする
ファイルのコレクションがあります(* .zip、*。txt、*。tar.gz、*。doc、... etc)。これらのファイルはパス内にあります。すべてのファイル(* .txt)を検索し、特定の単語を含むテキストファイル(たとえば、LINUX / UNIX)のみをコピーしたい。 私は以下を実行しました: find . -name "*.txt" | grep 'LINUX/UNIX' このコマンドはすべてのテキストファイルを見つけることができ、 "grep"は 'LINUX / UNIX'を含むテキストファイルのみを一覧表示することにより、結果のテキストファイルをフィルター処理しました。 これらの最終的なファイル(つまり、 'LINUX / UNIX'を含むテキストファイル)を特定の選択したパスにコピーするにはどうすればよいですか? 応募してみました xargs find . -name "*.txt" | grep 'LINUX/UNIX' | xargs cp <to a path> しかし、それはうまくいきませんでした

1
Linuxでsshpassとscpを使用して進行状況を表示するにはどうすればよいですか?
私のLinuxターミナルでは、このコマンドを使用しています sshpass -p "pass" scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop パスワードが含まれているファイルをダウンロードします。sshpassがないと、ダウンロードの進行状況を確認できますが、これを使用すると、完了するまで空白のままになり、確認できません。 sshpassで確認する方法はありますか?
9 scp  cp 

1
コピー先のディレクトリのファイル継承許可?
ユーザーの読み取り権限(r-- --- ---)のみでファイルをホームディレクトリに作成しています。このファイルを/etc/test/、フォルダのアクセス権が744(rwx r-- r--)である別のディレクトリにコピーしたい。コピーしているファイルがコピー先のフォルダーのアクセス許可を継承できるようにする必要があります。これまでのところ、コピーしたときのファイルアクセス許可は同じままです(r-- --- ---)。setfaclコマンドを試しましたが、うまくいきませんでしたか?助けてください。 PS。私がすることができないだけでchmod -r /etc/test/時間をかけて、このフォルダにコピーされます多くのファイルがあるので、私はのchmodコマンドにファイルがコピーされるたびに実行する必要はありません。

2
cp -aのより高速な代替手段
/ homeを別のディスクに単純に転送するにはcp -a、非常に遅い方法のように思えます。タスクを完了するためのより効率的な方法を知っている必要があります。/ homeを論理ボリュームとしてマウントしていますが、ターゲットディスクはLVMシステムではありません
9 cp  file-copy 

6
sh再帰コピー(cp -r)-サブフォルダーを除外する方法
(net / ssh)を使用しsshてリモートスクリプトを実行し、フォルダーを再帰的にコピーしてサブフォルダーを除外する必要があります。私はそれを行う最速の方法を探しているので、良くありません。また、ではなくを使用していることも理解しています。Rubyrsyncsshshbash バッシュで私はします: cp -r srcdir/!(subdir) dstdir そしてそれはうまくいきます。しかし、スクリプトを起動sshするとエラーが表示されます sh: 1: Syntax error: "(" unexpected 使っているからsh。 shmanページを確認しましたが、ファイルを除外するオプションはありません。 それは正しいssh使用の私の仮定shですか?代替案はありますか? 編集1: それが便利な場合、の出力sudo cat /etc/shellsは次のとおりです: # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /usr/bin/screen 編集2: OK。したがって、bashは利用可能であり、それは問題ではないようです。sshが実際に使用していることを確認しましたbash。この問題は、括弧または感嘆符のエスケープに関連しているようです。私はシェル(macos)からコマンドを実行しようとしましたが、これが実際のコマンドです。 ssh -i .ssh/key.pem ubuntu@X.X.X.X 'mkdir /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N; cp -r /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/mesh/!\(constant\) /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N; ln -s /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/mesh/constant /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N/constant' このようにして、別のエラーを受け取ります …
8 shell  ssh  cp 

2
cp:無効なオプション— 'o'
私はGitHubのインストールスクリプトに従っており、手順の1つは次のとおりです。 cp sources/openssl/1.0.1p/Android.mk -o sources/openssl/$OPENSSL_VERSION/Android.mk しかし、私の端末はエラーを投げました cp: invalid option -- 'o' man cpUbuntuで確認したところ、選択肢がありませんでした-o。これはMAC OSのものですか?何のcp -o略ですか?
8 cp 

4
ディレクトリ構造を持つ特定のサブフォルダを新しいフォルダにコピーする
次のディレクトリ構造があります。 Main_Dir | ----------------------------------- Subdir1 Subdir2 Subdir3 | | | --------- --------- --------- | | | | | | | | | fo1 fo2 f03 fo1 fo2 f03 fo1 fo2 f03 私はすべてのサブディレクトリを(コピーしたいSubdir1、Subdir2、Subdir3新しいフォルダに)。しかし、私は新しい場所にフォルダをコピーfo1したいだけですfo2。 それがどうやってできるのか分かりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.