web-dev-qa-db-ja.com

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

「scp」が標準のLinuxシェルでリモートコピーを行うように、リモート「ls」を実行する方法はありますか?

57
Yazz.com

あなたはいつでもこれを行うことができます:

ssh user@Host ls -l /some/directory

ホストにSSHで接続し、lsを実行して出力をダンプし、すぐに切断します。

80
Corey S.

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

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

Find directory/path -lsのようなもの

rsync -r Host.name.com:directory/path
14
Black Rock Onyx

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

例:

sftp [email protected]
ls
cd somedir
exit

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

sftp [user@]Host[:dir]
6
tobltobs

はい。 SSHでlsを実行:

ssh Host ls /path

これを簡単にスクリプト化してより柔軟にすることも、Host:path構文scpを使用することもできます。

4
Andrew M.

私がこれを最も頻繁に使用しているのは、lsの結果、つまりすべての権限と日付のないファイルの簡単なリストなどを取得し、それをローカルファイルに保存することです。

{ ssh [email protected] "cd /dir/of/interest; ls -1f *.txt;" } > /home/me/listoffiles.txt

あなたは引用符の中で好きなものを実行することができます。すべての出力は、ローカルのテキストファイルになります。または、サーバーで大きな厄介なスクリプトを実行して、エラーも含めてすべての出力をキャプチャする場合は、次のようにします。

{ ssh [email protected] <script.remote.sh } > /home/me/output.log 2>/home/me/output.err
1
mightypile