fdupesを使用してLinuxで重複ファイルを見つけて削除する方法
大量のメディアやドキュメントを扱う場合、同じファイルの複数のコピーをコンピューターに蓄積することは非常に一般的です。必然的に、以下は冗長ファイルで満たされた雑然としたストレージスペースであり、システム上の重複ファイルの定期的なチェックを引き起こします。
scpコマンドを使用してLinuxシステムからリモートシステムにファイルを転送するのに役立つ簡単なチュートリアル。
SCPは「セキュアコピー」の略です。scp
Linuxが提供するコマンドラインユーティリティで、安全でないネットワークを介して、あるマシンから別のマシンにファイルとディレクトリを転送できます。
あるシステムから別のシステムにファイルをコピーしたい場合scp
は、ファイルとディレクトリを安全に転送するための非常に優れたオプションです。2台の通信機が同じネットワークで接続されている場合、使用scp
が可能になります。
scp
転送されるファイルと転送に使用されるパスワードの両方が暗号化されているため、機密性と整合性についてはコマンドに大きく依存できます。この転送の進行中に誰かがトラフィックをスヌープしようとしても、機密情報は公開されません。
このチュートリアルでは、scp
コマンドのさまざまな例を示します。また、scp
コマンドで頻繁に使用されるオプションのいくつかを見ていきます。
scpコマンドの使用を開始する
scp
コマンドを使用して、ファイル/ディレクトリを転送できます。
一般的な構文:
scp [Option] [source_file_name] [[email protected]_Host]:destination_folder
このコマンドの基本的な属性を1つずつ理解していきましょう。
@
'記号の後に使用されます。注:コロン(:
)記号は、ローカルとリモートの場所を区別するため、構文で使用されます。:
リモートシステムでコロン()を使用して、ファイルのコピー先のディレクトリを指定します。ターゲットディレクトリを指定しない場合、ファイルはリモートシステムユーザーのホームディレクトリにコピーされます。
で使用されるオプション scp
scp
コマンドで使用される最も一般的なオプションのいくつかを以下に示します。
オプション | 説明 |
-C |
転送するファイルの圧縮を許可する |
-v |
詳細な出力を与える |
-r |
ファイルとディレクトリを再帰的にコピーする |
-p |
ファイルのアクセス許可、モード、アクセス時間を保持する |
-P |
scp コマンドで使用されるデフォルトのポートを変更する |
scpコマンドで頻繁に使用されるオプション
これらのオプションの例については、チュートリアルで詳しく説明します。
ローカルシステムからリモートシステムへのファイルのコピー
scp
次の構文を使用して、ローカルシステムからリモートシステムにファイルを転送できます。これにより、ファイルをリモートに配置されたサーバーに転送またはアップロードできます。
一般的な構文:
scp [file_name] [email protected]:[destination_folder]
例:
scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
この例では、ファイル「apache-tomcat-9.0.8.tar.gz」をローカルシステムからIPアドレスが「143.110.178.221」のリモートシステムにコピーしています。
リモートシステムでは、ファイルは「gaurav」という名前のディレクトリにコピーされます。
出力:
[email protected]:~$ scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
[email protected]'s password:
apache-tomcat-9.0.8.tar.gz 100% 9589KB 79.8KB/s 02:00
[email protected]:~$
リモートシステムの出力でファイルを確認してみましょう。
[email protected]:~/gaurav# ls
apache-tomcat-9.0.8.tar.gz
[email protected]:~/gaurav#
したがって、scp
コマンドを使用してファイルがリモートシステムに正常にコピーされます。
複数のファイルをリモートシステムにコピーする
前の例では、scp
コマンドを使用してファイルをリモートシステムに転送する方法を学びました。このコマンドを使用して、ローカルシステムからリモートシステムに複数のファイルを転送する方法を説明します。
一般的な構文:
scp [file 1] [file 2] [file n] [email protected]_host:[specific directory]
この簡単なプロセスを例を挙げて理解しましょう。
例:
scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
ここでは、リモートシステムにコピーするコマンドに複数のファイルが記載されています。
出力:
[email protected]:~$ scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
[email protected]'s password:
ath.html 100% 199KB 94.7KB/s 00:02
abc.txt 100% 0 0.0KB/s 00:00
ppa-purge_0.2.8+bzr56_all.deb 100% 4360 42.2KB/s 00:00
[email protected]:~$
リモートシステムの場合:
[email protected]:~/gaurav# ls -l
total 9800
-rw-r--r-- 1 root root 0 Oct 5 08:58 abc.txt
-rw-r--r-- 1 root root 9818695 Oct 5 08:35 apache-tomcat-9.0.8.tar.gz
-rw-r--r-- 1 root root 204057 Oct 5 08:58 ath.html
-rw-r--r-- 1 root root 4360 Oct 5 08:58 ppa-purge_0.2.8+bzr56_all.deb
[email protected]:~/gaurav#
これで、3つのファイルすべてがリモートシステムにコピーされます。
ディレクトリをリモートシステムにコピーする
scp
コマンドを使用して、ローカルシステムからリモートシステムにディレクトリをコピーできます。このプロセスは、ファイルをコピーするプロセスと似ています。ディレクトリの内容もコピーするに -r
は、scp
コマンドでオプションを使用できます。
この-r
オプションは、ディレクトリを再帰的にコピーするために使用されます。つまり、ディレクトリ内のすべてのサブフォルダとファイルもコピーされます。
一般的な構文:
scp -r [directory path] [email protected]_host:[target_directory]
例:
scp -r PycharmProjects [email protected]:gaurav
出力:
[email protected]:~$ scp -r PycharmProjects [email protected]:gaurav
[email protected]'s password:
__main__.py 100% 623 7.8KB/s 00:00
__init__.py 100% 23 0.4KB/s 00:00
completion.py 100% 2929 28.1KB/s 00:00
search.py 100% 4728 38.7KB/s 00:00
uninstall.py 100% 2963 32.5KB/s 00:00
hash.py 100% 1681 21.3KB/s 00:00
check.py 100% 1430 16.8KB/s 00:00
configuration.py 100% 7125 50.4KB/s 00:00
show.py 100% 6289 49.8KB/s 00:00
download.py 100% 6623 48.2KB/s 00:00
[email protected]:~$
コマンドで-r
オプションを使用するscp
と、ディレクトリ内のすべてのサブフォルダとファイルがローカルマシンからリモートシステムにコピーされます。
scpプロセスに関する詳細情報の表示
-v
(小文字のv
)オプションを使用して、リモートシステムまたはローカルシステムのいずれかにコピーされているファイルに関する情報を表示できます。このタイプの出力は、詳細出力とも呼ばれます。
このオプションを使用すると、ファイルに関する完全なデバッグ情報が画面に表示されます。
一般的な構文:
scp -v [file_name] [email protected]_host:
例:
scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
出力:
[email protected]:~$ scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
Executing: program /usr/bin/ssh host 159.89.170.11, user root, command scp -v -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/gaurav/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 159.89.170.11 [159.89.170.11] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/gaurav/.ssh/id_rsa type -1
apache-tomcat-9.0.8.tar.gz 100% 9589KB 99.8KB/s 01:36
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 9826736, received 4016 bytes, in 97.2 seconds
Bytes per second: sent 101133.9, received 41.3
debug1: Exit status 0
[email protected]:~$
ここで、出力では、scp
コマンドを-v
オプションとともに使用すると、ファイルのデバッグ情報が端末に表示されていることがわかります。
2つのリモートホスト間でファイルを転送する
Linuxでは、複数のリモートホストに接続できます。scp
コマンドを使用して、2つのリモートホスト間でファイルとディレクトリを転送できます。
一般的な構文:
scp [email protected]_1:/[file_name] [email protected]_2:[folder_to_save]
構文は少し広いように見えるかもしれませんが、かなり単純です。ここで、コマンドの最初の部分は、ファイルのコピー元のリモートユーザーに関する入力を提供します。コロン(:)であり/
、2台のリモートマシン間で転送されるファイル名またはディレクトリ名を指定するために使用されます。
2番目の部分は、ファイルがコピーされるターゲットリモートシステムに関する情報を提供します。
例:
scp -r [email protected]:gaurav [email protected]:/team
ここでは、「gaurav」という名前のディレクトリをローカルシステムからリモートシステムに再帰的にコピーします。ファイルはリモートシステムのフォルダ「team」にコピーされます。
出力:
[email protected]:~$ scp -r [email protected]:/gaurav [email protected]:/team
[email protected]'s password:
1.py 100% 134 261.3KB/s 00:00
variables.py 100% 377 949.2KB/s 00:00
abc.txt 100% 0 0.0KB/s 00:00
ath.html 100% 199KB 41.8MB/s 00:00
[email protected]:~$
ここではscp
、ローカルシステムでコマンドを使用して、「gaurav」という名前のディレクトリをあるリモートサーバーから別のリモートサーバーに転送しました。
リモートシステムからローカルシステムにファイルを転送する
scp
コマンドを使用して、ファイルまたはディレクトリをリモートシステムからローカルシステムに簡単に転送できます。簡単に言うと、scp
コマンドを使用して、リモートサーバーからローカルシステムに複数のファイルまたはディレクトリをダウンロードできます。
一般的な構文:
scp [email protected]_host:/files/file.txt /[folder_of_local_system]
出力:
[email protected]:~$ scp [email protected]:how.txt .
[email protected]'s password:
how.txt 100% 11 0.1KB/s 00:00
[email protected]:~$
ここでは、ファイルをリモートサーバーからホームディレクトリにダウンロード(コピー)しました。したがって、ドット(.
)を使用して、ファイルをホームディレクトリにコピーするコマンドを指定しました。
サンプル出力:
[email protected]:~$ ls -l how.txt
-rw-r--r-- 1 gaurav gaurav 11 Oct 6 09:49 how.txt
[email protected]:~$
ここで、ファイルがリモートサーバーからホームディレクトリにコピーされます。
同様にscp
、適切なオプションを指定したコマンドを使用して、リモートサーバーから複数のファイルまたはディレクトリをダウンロードできます。
ファイルを圧縮して転送を高速化
大きなファイルの転送には時間がかかる場合があります。この問題はscp
、-C
(大文字のC
)オプションを指定してコマンドを使用しているときに対処できます。
この-C
オプションを使用すると、大きなサイズのファイルが圧縮され、転送が高速化され、時間が節約されます。
このオプションの興味深い事実の1つは、ファイルが宛先システムに元のサイズでコピーされますが、転送プロセス中にサイズが圧縮されて、より高速な転送が可能になることです。したがって、圧縮はネットワーク上でのみ実行されます。
一般的な構文:
scp -C [file_name] [email protected]_host:[target_folder]
違いを理解するために比較例を見てみましょう。
-Cオプションなしで転送:
[email protected]:~$ scp -rv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7516504, received 4008 bytes, in 74.6 seconds
Bytes per second: sent 100693.7, received 53.7
debug1: Exit status 0
[email protected]:~$
上記の出力から、転送に必要な時間は74.6秒であることがわかります。-Cオプションを使用して同じファイルを転送してみて、違いを観察します。
-Cオプションを使用した転送:
[email protected]:~$ scp -Crv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
.
.
webupload.img 100% 1834KB 98.7KB/s 00:18
Sending file modes: C0664 1877552 router.img
Sink: C0664 1877552 router.img
router.img 100% 1834KB 100.3KB/s 00:18
Sink: E
Sending file modes: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
Sink: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
DSL-2750U-Release-IN-T-01.00.07.zip 100% 3666KB 218.5KB/s 00:16
Sink: E
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7518864, received 3828 bytes, in 51.0 seconds
Bytes per second: sent 100245.4, received 51.0
debug1: Exit status 0
debug1: compress outgoing: raw data 7511925, compressed 7513136, factor 1.00
debug1: compress incoming: raw data 1467, compressed 999, factor 0.68
[email protected]:~$
ここ-C
で、scp
コマンドでオプションを使用すると、ネットワーク経由でファイルを圧縮できるため、時間の節約になるオプションであることが簡単にわかります。
ファイル転送に別のsshポートを使用する
scp
コマンドを使用している間、デプロイされるデフォルトのポートはですport 22
。ユーザーは、このポートの選択を自由にカスタマイズできます。あなたは使うことができ-P
て(大文字のPオプション)をscp
お好みのポートを使用するためのコマンド。
一般的な構文:
cp -P [new_port_number] [file_name/directory_name] [email protected]:[destination_folder]
例:
scp -P 4248 dlink [email protected]:team
上記のコマンドを使用して、ファイルはリモートサーバーに転送されます。ただし、今回は、使用されるポートport 4248
がデフォルトの代わりになりますport 22
。
結論
このチュートリアルを終えた後scp
、あるシステムから別のシステムにファイルを転送またはコピーするために使用されるコマンドの動的な性質について学びました。このオプションは、リモートサーバーからファイルまたはディレクトリをダウンロードするためにも使用できます。したがって、scp
複数のシステムとリモートサーバーを同時に処理する必要がある場合、コマンドはファイル転送に非常に役立つと結論付けることができます。
大量のメディアやドキュメントを扱う場合、同じファイルの複数のコピーをコンピューターに蓄積することは非常に一般的です。必然的に、以下は冗長ファイルで満たされた雑然としたストレージスペースであり、システム上の重複ファイルの定期的なチェックを引き起こします。
makeコマンドは、おそらくLinuxエコシステムで最も広く使用されているコマンドの1つです。このコマンドは、ソースコードから直接プログラムをビルドおよびコンパイルするために使用されます。
ターミナルからLinuxのディレクトリを変更する簡単な方法
Neofetchは、LinuxディストリビューションのASCIIロゴと、システムに関連する情報をターミナルに表示します。多くのLinuxユーザーは、クールだと思っているという理由だけで、デスクトップのスクリーンショットで使用します。そして、彼らは正しい。スクリーンショットでセットアップを披露するためにも使用できます。
多くの新しい更新されたテーマは、Ubuntu20.04の新しいGNOMEデスクトップにインストールする準備ができています。ここに2020年の最高のubuntuテーマのリストがあります
Ubuntuでは、デフォルトで、Windowsの代わりにアプリケーションを切り替えることができます。これを元に戻し、UbuntuのAlt-Tabでタブのグループ化を解除する方法は次のとおりです。
Gno-Menu、Extended Gesturesなどの人気のある拡張機能の多くは、Ubuntu20.04では機能しません。したがって、ここに最も効果的なGNOME拡張機能のリストがあります
アプリを使用してUbuntuのネイティブ壁紙をスライドショーすることはいつでもできますが、壁紙を動的にダウンロードして設定するためのアプリをいくつか紹介します。
Ubuntuのルートスーパーユーザーの違いは何ですか?さて、ここでカバーしてもらいます。
このビデオでは、完全なガイド付きのubuntu12.04システム用のTeamViewer8をインストールして使用します。しかし、これはウィンドウでも同じように機能します。
すべての綿毛を除いて、ここにあなたが素晴らしいビデオを作成するために使うことができるUbuntuのための最高の無料のビデオエディタのリストがあります。
Linuxのハウツーガイドでは、ターミナルで特定の操作を実行することを期待していることがよくありますが、これは最初は恐ろしいように思えます。しかし、心配する必要はありません。このLinuxコマンドのチートシートでは、ターミナルを開いていくつかの便利なコマンドを発行するプロセスについて説明します。
Arch Linuxにパッケージをインストールしたいのですが、方法がわかりませんか?多くの人は、DebianベースのディストリビューションからArchに最初に移行するときにこの問題に直面します。ただし、パッケージマネージャーを使用して、Archベースのシステムでパッケージを簡単に管理できます。
FTP、ピアツーピアファイル転送、Wi-Fi転送などのメカニズムを使用すると、AndroidとUbuntuの間でファイルを頻繁に共有する場合に時間を節約できます。