GNU/Linux >> Linux の 問題 >  >> Ubuntu

CPコマンドを使用してLinuxでファイルをコピーする方法

この投稿は、Linuxcpコマンドに関するものです。

ファイルのコピーは、オペレーティングシステムでファイルを処理する際の最も一般的なタスクの1つです。デスクトップショートカットのCTRL+cをコピーに使用し、CTRL+vを貼り付けに使用することも非常に一般的です。ただし、Linuxターミナルでは、実行するのもかなり簡単なタスクであり、そのためにcpコマンドを使用します。

Linuxcpコマンド

cpコマンドは、1つ以上のファイルまたはフォルダーをある場所から別の場所にコピーするだけです。ただし、他のLinuxコマンドと同様に、オプションを使用することで初期の動作を変更できます。

同様に、cpコマンドはGNU utilsの一部であるため、すべてのLinuxディストリビューションにインストールされて準備ができています。したがって、ターミナルエミュレータを開いて作業を開始するだけです。

Cpコマンド:基本的な構文とオプション

cpコマンドは、その機能も単純であるため、非常に簡単に使用できます。 UNIXファミリのすべてのコマンドと同様に、使用するための基本的な構文があります。

cpコマンドの場合、基本的な構文は次のとおりです。

cp [option]... source... directory

ここで、sourceは、ディレクトリと呼ばれる宛先にコピーされるファイルまたはフォルダーを指します。

コマンドに関するオプションといくつかの基本情報は、次のコマンドを使用して表示できます。

:~$ cp --help

そこで、いくつかの異なるオプションがあることがわかります。最も重要なものは次のとおりです。

オプション GNUutilsによる説明
-a コピー内の元のファイルの構造と属性を可能な限り保持します
-d シンボリックリンクを指すファイルをコピーするのではなく、シンボリックリンクとしてコピーし、コピー内のソースファイル間のハードリンクを保持します。
-fまたは–force このオプションは、宛先フォルダーが書き込みに使用できない場合でも、コピーを強制します。
-iまたは–interactive ファイルが上書きされるたびにメッセージを表示します。
-l <​​/ td> ディレクトリ以外のコピーの代わりにハードリンクを作成します。
-Rまたは-rまたは–recursive ディレクトリを再帰的にコピーします。デフォルトでは、ソース内のシンボリックリンクをたどらないでください。
-sまたは–symbolic-link この場合、コマンドはフォルダではないすべてのファイルのシンボリックリンクを作成します。これはコピーを置き換えます。
-uまたは–update このオプションは、宛先フォルダーに同じまたは新しい変更タイムスタンプを持つファイルをコピーしません。コピーの更新です。
-vまたは–verbose 各ファイルの名前を印刷してからコピーしてください。

ここで、いくつかの例を使用して、Linuxシステムでのcpコマンドの一般的な使用法を示します。

cpコマンドの使用

1つ以上のファイルをフォルダにコピーします

基本から始めましょう。ファイルを特定のフォルダにコピーするために実行するコマンドは次のとおりです。

:~$ cp [file] [destination]

例:

:~$ cp file.txt /home/user/Documents/

上記のコマンドは、Documentsフォルダーのプロンプトと同じ場所にあるfile.txtというファイルをコピーします。

絶対パスを使用して、プロンプトとは異なる場所にあるファイルをコピーすることもできます。

:~$ cp /home/user/Pictures/image.jpg /home/user/Documents

したがって、一度に複数のファイルをコピーする場合は、空白で区切ってください。

:~$ cp file1.txt file2.txt /home/user/Downloads

絶対ルートでも引き続き実行できます。

:~$ cp /home/user/file1.txt /home/user/Pictures/file2.jpg /home/user/Downloads

これが、複数のファイルをコピーできる速度です。

ディレクトリ内のすべてのファイルをフォルダにコピーします

あるフォルダから別のフォルダにすべてのファイルをコピーすることもできます。これを行うには、アスタリスク(*)演算子を使用します。例:

:~$ cp * [destination]

または

:~$ cp * /home/users/Documents/folder/

ただし、同じ拡張子を持つすべてのファイルをコピーする場合は、次の方法で行うことができます。

:~$ cp *.txt /home/users/Documents/folder/

つまり、すべての.txtファイルがフォルダにコピーされます。

cpコマンドを使用したディレクトリのコピー

これまで、ファイルをコピーする方法を説明してきましたが、フォルダをコピーしたい場合はどうでしょうか。さて、それはエラーを引き起こします。

「example」という名前のフォルダを/home/ angelo / Documentsにコピーすると、cp省略ディレクトリエラーが発生します
これと同様です:

cpコマンドでフォルダをコピーするには、-rオプションを追加します。例:

:~$ cp -r example/ /home/angelo/Documents/

これにより、フォルダ全体が宛先フォルダにコピーされます。

コピーするファイルをバックアップする

これは非常に便利なオプションです。ファイルをコピーするときは、時間をかけて変更するのが一般的ですが、いつでも元のファイルのコピーを保持できます。

バックアップを作成するには、次のコマンドを使用するだけです。

:~$ cp -ab [file] [destination]

もちろん、必要なファイルとフォルダを指定することもできます。例:

:~$ cp -ab file2.txt /home/angelo/Documents/example/

この場合、2つのオプションを同時に使用しています。最初のものは-aです。ファイルをそれが何であるか、つまりファイルとして明示的に扱います。そして、-bである2つ目は、バックアップを実行することです。

このコマンドの機能は、バックアップを作成し、もう一度コピーを作成する場合は最後に〜を追加することです。これがコピーの元のファイルになります。

:~$ ll /home/angelo/Documents/example

ファイルを上書きする前に確認をリクエストする

ファイル書き込みで発生する可能性のあるエラーを回避するために、-iオプションを使用できます。

このオプションを使用すると、コピー用にファイルを上書きする前に確認するように求められます。これを行うには、コマンドに-iオプションを追加するだけです。

:~$ cp -i file2.txt /home/angelo/Documents/example/

警告は、上書きしている場合にのみ表示されることを忘れないでください。多くのファイルをコピーしても、宛先で同じファイルが呼び出されない場合、何も表示されません。

cpコマンドでファイルを上書きしないようにする

cpコマンドには、コピー中に宛先フォルダー内のファイルが上書きされないようにするオプションがあります。

これを行うには、cpコマンドに-nオプションを追加するだけです。

:~$ cp -n file.txt [destination]

このオプションは、同じ名前のファイルがあることをすでに知っていて、それらを上書きしないようにしたい場合に便利です。一方、同様のファイルが存在するかどうかわからない場合にも役立ちます。

ファイル属性を維持しながらコピーを作成する

Unixベースのシステムでは、ファイルには特定の属性があります。そのため、作成者以外のユーザーがコピーまたは移動した場合、これらの属性の値を変更するリスクがあります。それらのいくつかは、変更日とファイルのアクセス許可です。

これを回避するには、cpコマンドに-pオプションを追加します。

:~$ cp -p [file] [destination]

これは、コピー中に属性を保持するのがいかに簡単かです。

cpコマンドを使用したバックアップの更新

cpコマンドを使用して、ファイルを外部メモリなどの別の場所にバックアップすることができます。音楽の入ったフォルダを別の場所にバックアップするとします。これを行うには、次のコマンドを使用します。

:~$ cp -r [music_folder] [destination]

しかし、結局のところ、そのフォルダに新しいファイルを追加していて、それらを再度バックアップしたいと考えています。 cpコマンドがすでにバックアップしたファイルをコピーバックするのを防ぎ、宛先フォルダーにないファイルをコピーするだけです。

いいですね。そのためには、-uまたは–updateオプションを使用します。

:~$ cp -ru [music_folder] [destination]

つまり、このコマンドはフォルダーをコピーし、ソースフォルダーのどのファイルが宛先にあるかを確認します。そして最後に、そうでないものだけをコピーします。

プロセス全体を表示するには、-vオプションを追加することもできます。

:~$ cp -ruv [music_folder] [destination]

したがって、簡単なコマンドでバックアップを更新できます。

最終的な考え

cpコマンドは使いやすいコマンドですが、これを使用して多くの興味深いことができることを確認しました。これはGNUutilsの一部であり、すべてのLinuxディストリビューションで利用できるようになっています。

一方、この投稿では、コマンドで実行できることの一部を学習しました。これはサーバー環境で非常に役立ちますが、オペレーティングシステムの操作をさらに深く理解するためにも役立ちます。


Ubuntu
  1. Linuxでファイルの名前を変更する方法

  2. コマンドラインを使用してLinuxを再起動する方法

  3. Sort コマンドを使用して Linux でファイルをソートする方法

  1. diffコマンドを使用してLinuxでファイルを行ごとに比較する方法-パートII

  2. diffコマンドを使用してLinuxでファイルを行ごとに比較する方法

  3. Linuxでファイルとディレクトリをコピーする

  1. Linuxでファイルとディレクトリをコピーする方法

  2. LinuxでRsyncコマンドを使用するにはどうすればよいですか?

  3. 「dd」コマンドを使用して Linux でスパース ファイルを作成する方法