「scp」が標準のLinuxシェルでリモートコピーを行うように、リモート「ls」を実行する方法はありますか?
あなたはいつでもこれを行うことができます:
ssh user@Host ls -l /some/directory
ホストにSSHで接続し、lsを実行して出力をダンプし、すぐに切断します。
ディレクトリ内のすべてのファイルをリストするには:
rsync Host.name.com:directory/path/'*'
Find directory/path -lsのようなもの
rsync -r Host.name.com:directory/path
リモートファイルを一覧表示する方法を探しているが、ssh(バックアップサーバーの一般的なケース)を介してリモートサーバーにアクセスできないため、google経由でこの質問にアクセスするすべての人にとって、「sftp」を使用できます。
例:
sftp [email protected]
ls
cd somedir
exit
特定のリモートディレクトリでインタラクティブセッションを開始します。
sftp [user@]Host[:dir]
はい。 SSHでls
を実行:
ssh Host ls /path
これを簡単にスクリプト化してより柔軟にすることも、Host:path構文scp
を使用することもできます。
私がこれを最も頻繁に使用しているのは、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