はじめに
このガイドでは、コマンドラインからコマンドを実行してLinuxでファイルとディレクトリをコピーする方法を説明します。さらに、以下にリストされているコマンドは、システム全体のバックアップを作成する方法、または特定のファイルのみをフィルターで除外してコピーする方法を詳しく説明しています。
Linuxでcpコマンドを使用してファイルとディレクトリをコピーする
cp
コマンドは、Linuxでファイルとディレクトリをコピーするための主要な方法です。事実上すべてのLinuxディストリビューションでcp
を使用できます 。コマンドの基本的な形式は次のとおりです。
cp [additional_option] source_file target_file
例:
cp my_file.txt my_file2.txt
このLinuxコマンドは、 my_file.txtのコピーを作成します。 ファイルを作成し、新しいファイルの名前を my_file2.txtに変更します。 。
デフォルトでは、 cp
コマンドは、作業している同じディレクトリで実行されます。ただし、同じファイルが同じディレクトリに2回存在することはできません。同じ場所にコピーするには、ターゲットファイルの名前を変更する必要があります。一部のユーザーは_oldを追加します 、数字を追加するものもあれば、3文字の拡張子を変更するものもあります(例: .bak .txtの代わりに 。
Linuxがファイルを上書きする前に警告が表示されない場合があります。注意するか、以下の –i
を参照してください。 オプション。
追加オプション
追加のオプションをcp
と組み合わせて使用できます コマンド:
-
–v
冗長 :複数のコピーされたファイルの進行状況を表示します -
–p
保存 :作成日やファイルのアクセス許可など、同じ属性を保持します -
–f
力 :最初に既存のファイルを削除してコピーを強制します -
–i
インタラクティブ :確認のプロンプト、強くお勧めします -
–R
再帰的 :ディレクトリ内のすべてのファイルとサブフォルダをコピーします -
–u
更新 :ソースが宛先よりも新しい場合にのみコピーする
Linuxでファイルを別のディレクトリにコピーする方法
作業中のディレクトリから別の場所にファイルをコピーするには、次のコマンドを使用します。
cp my_file.txt /new_directory
ターゲットディレクトリに同じ名前のファイルがすでに存在しない限り、ファイルの名前を変更する必要はありません。
ソースファイルのパスを指定するには:
cp /etc/my_file.txt /new_directory
これにより、ディレクトリを変更せずにコピーできます。 cp
コマンドは/new_directoryを作成します 存在しない場合。
ファイルの名前を変更して別のパスにコピーするには:
cp my_file.txt /new_directory/my_file2.txt
このオプションは、構成ファイルのバックアップを作成したり、データをストレージデバイスにコピーしたりする場合に役立ちます。
Linuxで1つのディレクトリから別のディレクトリに複数のファイルをコピーする
一度に複数のファイルをコピーする必要がある場合があります。
ターゲットディレクトリの前にコピーする各ファイルを一覧表示します:
cp my_file.txt my_file2.txt my_file3.txt /new_directory
この例では、 / new_directoryに3つのファイルすべてのコピーを作成しました フォルダ。
ワイルドカードを使用して、文字列を共有するすべてのファイルを指定します。
cp /pictures/*.jpg /new_directory
これにより、 .jpgのすべてのファイルが検索されます / picturesの拡張子 ディレクトリを作成し、それらを / new_directoryにコピーします。 フォルダ。
コピーするには フォルダ全体とそのサブフォルダおよびファイル 、 –R
を使用します オプション:
cp –R /documents /new_directory
–R
再帰の略で、「その場所にあるすべてのもの」を意味します。これにより、すべてのファイルとすべてのディレクトリが/ new_directoryにコピーされます。 フォルダ。
rsyncコマンドを使用したコピー
Linuxのrsyncコマンドは、2つの場所間でデータを同期または転送するために使用されます。使用法はcp
に似ています 、ただし、注意すべき重要な違いがいくつかあります。
単一のファイルをコピーするには、ターミナルに次のように入力します。
rsync –a my_file.txt /new_directory/my_file_backup.txt
-
–a
オプションはすべてを意味します 、およびrsync
に含まれています コマンド–これにより、サブディレクトリ、シンボリックリンク、およびその他のメタデータが保持されます。 - my_file.txtを置き換えます 作業ディレクトリ内のファイル。
- / new_directory /を置き換えます 目的地とともに。
- my_file_backup.txtを使用する ターゲットは、コピー中にファイルの名前が変更されることを示しています。
rsyncを使用してディレクトリをコピーするには、次のように入力します。
rsync –a /etc/docker/ /home/backup/docker/
これにより、 / etc / docker /のコンテンツがコピーされます。 / home / backup / docker /へのディレクトリ 。必ずスラッシュを保持してください。ソースディレクトリのスラッシュを省略すると、コンテンツがサブディレクトリにコピーされます。
ファイルのコピーを除外するには、rsyncコマンドを使用してデータ転送でファイルとディレクトリを除外する方法に関するガイドを確認してください。
その他のオプション
ls
コマンドはcp
の便利なパートナーです Linuxのコマンド。
ディレクトリの内容を一覧表示するには、次のコマンドを入力します。
ls /directory
上記の例では、 / directory内のすべてのファイルが表示されます 。コピー後にこのコマンドを使用して、ファイルが正常にコピーされたことを確認します。
ディレクトリを変更するには、 cd
を使用します およびディレクトリの名前。例:
cd /other_directory
コマンドプロンプトが変わり、ディレクトリを変更したことが表示されます。