Linux ターミナルでテキスト、ファイル、フォルダーをコピーして貼り付ける方法
コピーと貼り付けは、コンピュータで最もよく使用される操作の 1 つです。 Ctrl + C および Ctrl + V キーボード ショートカットを使用するのは簡単ですが、Linux ではターミナルはそれほど単純ではありません。仕事を完了するにはいくつかのオプションがあります。 Linux ターミナルでテキスト、ファイル、ディレクトリをコピーして貼り付ける方法は次のとおりです。
コンテンツ
- テキストのコピーと貼り付け
- 単一のファイルをコピーして貼り付ける
- フォルダーとその内容をコピーして貼り付けます
- 複数のファイルをコピーして貼り付ける
- 同じ種類のすべてのファイルをコピーして貼り付けます
- コピーをよりインタラクティブに
- Rsync 対 CP
- ファイルまたはフォルダーを移動する
- よくある質問
こちらもお読みください: Linux でディレクトリを削除する方法
テキストのコピーと貼り付け
端末内のテキストの一部をコピーしたいだけの場合は、マウスでテキストを強調表示し、Ctrl + Shift + C を押すだけです。 をコピーします。
カーソルの位置に貼り付けるには、キーボード ショートカット Ctrl + Shift + V を使用します。
貼り付けショートカットは、Word 文書 (またはその他のアプリケーション) からテキストのセクションをコピーし、それを端末に貼り付ける場合にも適用されます。たとえば、ブラウザの Web ページからコマンドをコピーし、Ctrl + Shift + V ショートカットを使用して、そのコマンドをターミナル。
何らかの理由でこれらのキーボード ショートカットが機能しない場合は、端末が適切に設定されていない可能性があります。キーボード ショートカットをカスタマイズできるオプションを探します。以下は、最も一般的な端末の手順です。
- Gnome ターミナル - ハンバーガー メニューをクリックし、[設定] をクリックします。 「ショートカット」に移動し、「編集」までスクロールします。 「コピー」と「貼り付け」のオプションが表示され、設定できるようになります。
- Konsole - [設定] に移動し、[キーボード ショートカットの設定] をクリックします。 「コピー」を検索し、前述のキーコンボを使用するように設定し、「貼り付け」でも同じことを行います。
他のほとんどの端末では、コンソールでコピー/ペーストするためのデフォルトのユニバーサルな組み合わせが設定できずにロックされます。
こちらもお読みください: コマンド ライン データ転送などに cURL を使用する方法
単一のファイルをコピーして貼り付ける
Linux コマンド ラインでファイルまたはフォルダーをコピーする場合、上記のキーボード ショートカットは機能しません。 cp
コマンドを使用する必要があります。 cpはコピーの略称です。構文もシンプルです。 cp
を使用し、その後にコピーするファイルとその移動先を指定します。
cp your-file.txt ~/Documents/
もちろん、これはファイルが作業しているのと同じディレクトリにあることを前提としています。両方を指定することもできます。
cp ~/Downloads/your-file.txt ~/Documents/
ファイルをコピーするときにファイルの名前を変更するオプションもあります。宛先に新しい名前を指定します。
cp ~/Downloads/your-file.txt ~/Documents/new-name.txt
こちらもお読みください: Linux で dd コマンドを使用する方法
フォルダーとその内容をコピーして貼り付けます
フォルダーとその内容をコピーするには、cp
コマンドに再帰的にコピーするように指示する必要があります。 -r
フラグを使用すると、これは非常に簡単です。
cp -r ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics
残りの構文はすべてまったく同じです。 -r
フラグは、cp
がディレクトリを操作しており、その内容をコピーする必要があることを cp
に指示します。
貼り付けアクションで既存のファイルを上書きする場合は、 -f
フラグを追加できます。
cp -rf ~/Downloads/pictures-directory ~/Pictures/family-vacation-pics
こちらもお読みください: Linux で Rm コマンドを使用する方法
複数のファイルをコピーして貼り付ける
複数のファイルをコピーすることもできます。 Linux コマンド ラインでは、括弧 {}
を使用して、複数の項目を一度にターゲットにすることができます。これらを使用して、コピーする各ファイルの名前をカンマで区切ってリストできます。
cp ~/Downloads/{file1.txt,file2.jpg,file3.odt} ~/Documents/
ファイル タイプの異なる 3 つのファイルはすべて、Documents ディレクトリにコピーされます。
同じ種類のすべてのファイルをコピーして貼り付けます
コピーする同じタイプのファイルが大量にある場合は、ワイルドカード文字 *
を使用できます。アスタリスク/ワイルドカードは、その場所にあるものを絶対に受け入れるように Linux コマンド ラインに指示します。したがって、Linux に *.jpg
をコピーするように指示すると、名前や .jpg 部分の前にあるものに関係なく、すべての JPG ファイルがコピーされます。
cp ~/Downloads/*.jpg ~/Pictures/
JPG や PNG など、複数のファイル タイプを使用する場合は、前に示した括弧を使用できます。
cp ~/Downloads/*.{jpg,png} ~/Pictures/
こちらもお読みください: 許可されていないサイトでコピー アンド ペーストする方法
コピーをよりインタラクティブに
このガイドを読んでいるうちに気づいたかもしれませんが、cp
を使用すると、エラーが発生しない限り、実行終了後に何らかの確認やプロンプトが表示されません。これは、特に、完了までに長い時間がかかる可能性のある、低速のハードウェアで非常に大きなファイルのコピー操作を実行している場合に、少し不快感を引き起こす可能性があります。
コマンドに -v
フラグを付加すると、cp
に、その動作に関する最も詳細な出力を提供するように指示できます。 -i
フラグは確認プロンプトを提供するため、特定のファイルの上書きなどの特定の操作をキャンセルできます。
cp -rvi ~/Downloads/*.jpg ~/Pictures/
一般に、-v
フラグと -i
フラグは、Linux に共通する幅広いコマンドで使用できます。
Rsync 対 CP
何らかの理由でファイルを上書きするコピー操作 (時々更新するバックアップの作成など) を複数回実行する必要がある場合、rsync
を使用すると笑顔になるかもしれません。
rsync
は、各ファイルの詳細を調べ、両方のデータを完全に比較し、ファイル自体内で変更されたデータのみを上書きするという点で、少し高度です。これは、書き込みサイクルを節約し、ファイル全体を上書きすることでドライブの健全性を不必要に低下させることがないため、宛先フォルダーが SSD 内にある場合に特に便利です。
Linux で rsync を利用してファイルをコピーする方法を学びます。
こちらもお読みください: Linux でターミナル出力をファイルに保存する方法
ファイルまたはフォルダーを移動する
複製を作成せずにファイルをある場所から別の場所に移動したいと考えてここに来た場合、それも簡単に行うことができますが、ファイルを移動するには mv
コマンドが必要です。構文は cp と非常によく似ています。
mv ~/Downloads/your-file.txt ~/Documents/
同様に、ファイルの名前を変更することもできます。
mv ~/Downloads/your-file.txt ~/Documents/renamed.txt
ただし、大きな違いが 1 つあります。フォルダー全体を移動するのに -r
フラグは必要ありません。
mv ~/Downloads/downloaded-folder ~/Pictures/vacation-pics
よくある質問
rsync は cp よりも優れていますか?
一般的に、どちらが他方より優れているということはありません。 rsync
は、ソース フォルダーと宛先フォルダーの両方にあるファイルを完全に比較し、帯域幅や書き込みサイクルを節約するために一部のコンピューティング リソースを消費します。特定のフォルダーのバックアップを常に更新している場合には最適ですが、コピー操作を 1 回だけ実行している場合は理想的とは言えません。
cp
は、単に仕事を終わらせたいだけのスイスアーミーナイフとして機能します。何かを上書きする必要がある場合は、cp
が代わりにそれを行います。インタラクティブな機能があるため、初心者にも使いやすく、コピー プロセスをより詳細に制御できます。
Ctrl+C を使用してターミナルから項目をコピーできないのはなぜですか?
Linux ターミナル アプリケーションでは、キーボードの Ctrl + C を押すと、SIGINT
(割り込み) 信号がカーネルに送信されます。これは、特定の端末で実行されているものをすべて停止するように Linux に指示する簡単な方法です。
そのキーの組み合わせに応答するように端末の「コピー」機能を設定している場合、実行中のコマンドからテキスト行をコピーするときに、まだ何かを実行しているときに問題が発生します。
画像クレジット: Pexels の Neron 写真