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

scp がリモート コピーを行うように、リモート ls を行う方法はありますか?

解決策 1:

いつでもこれを行うことができます:

ssh [email protected] ls -l /some/directory

これにより、ホストに SSH 接続され、ls が実行され、出力がダンプされてすぐに切断されます。

解決策 2:

ディレクトリ内のすべてのファイルを一覧表示するには:

rsync host.name.com:directory/path/'*'

find directory/path -ls などの場合

rsync -r host.name.com:directory/path

解決策 3:

リモートファイルをリストする方法を探しているが、ssh (バックアップサーバーの一般的なケース) 経由でリモートサーバーにアクセスできないため、Google 経由でこの質問に来るすべての人は、「sftp」を使用できます。

例:

sftp [email protected]
ls
cd somedir
exit

特定のリモート ディレクトリでインタラクティブ セッションを開始します:

sftp [[email protected]]host[:dir]

解決策 4:

はい。 SSH を実行して ls を実行します :

ssh host ls /path

これをより柔軟にスクリプト化するか、host:path 構文 scp を使用することは簡単です。

解決策 5:

上記の回答は、パスワードを追加する必要がある場合を考慮していません。パスワードとユーザー名を 1 つのコマンドに含めるには、sshpass をインストールします。 .

Mac の場合:$ brew install hudochenkov/sshpass/sshpass

Linux の場合:sudo apt-get install sshpass -y

次に:

$ sshpass -p your_password ssh [email protected] ls /path/to/dir/

出力を保存することもできます:

$ sshpass -p your_password ssh [email protected] ls /path/to/dir/ > log.txt

Python3 の場合:

import subprocess

cluster_login_email = '[email protected]'
cluster_login_password = 'your_password'
path_to_files = '/path/to/dir/'

response = subprocess.run([
        'sshpass', '-p', cluster_login_password, 'ssh', cluster_login_email, 'ls',
        path_to_files], capture_output=True)

response = response.stdout.decode("utf-8").split('\n')

Linux
  1. 列ごとに「ユニーク」にする方法はありますか?

  2. Linux で壊れた scp (セキュア コピー) コマンド プロセスを続行する方法はありますか?

  3. ファイルの中断された scp を再開する方法はありますか?

  1. SSH は通常、どのくらいのデータを使用しますか?

  2. htopでテキストをコピーする方法はありますか?

  3. scp のような sftp の使用

  1. SCPとRsyncでファイルをコピーする

  2. Batch でリモート SSH コマンドをスクリプト化する最良の方法 (Windows)

  3. Firefox でツールチップのテキストをコピーする方法はありますか?