Unixでは、リモートシステムからファイルの詳細(ファイル名、サイズ、時間)のみをコピーするにはどうすればよいですか?
例:/opt/apache/…/webapps/Context
リモートシステムにディレクトリ()を配置しました。これで、このディレクトリとそのサブディレクトリにあるファイルのメタデータ(サイズ、時間、ファイル名)を自分のローカルコンピュータ(たとえばroot root 1150 Dec 30 12:11 file.txt
。
答え1
opt/apache../webapps/Context
リモート・システムのディレクトリーにあるファイルの詳細なリストを取得するには、次のようにremotemachine
します。
ssh remotemachine "ls -l /opt/apache../webapps/Context"
そのディレクトリ内のすべてのファイルを再帰的に検索する場合およびすべてのサブディレクトリ、以下を使用します。
ssh remotemachine "find /opt/apache../webapps/Context -type f -exec ls -l {} +"
どのように動作しますか?
ssh remotemachine command
これはsecure-shell()を使用する
command
ときに行われます。必要なコマンドにすることができます。上記の2つの例では、以下を使用しました。remotemachine
ssh
command
ls -l /opt/apache../webapps/Context
/opt/apache../webapps/Context
これにより、ディレクトリのリストが「長い」形式で表示されます。必要なls
オプションを使用して、目的のフォーマットまたはソートを選択できます。望むよりman ls
。find /opt/apache../webapps/Context -type f -exec ls -l {} +
サブディレクトリを再帰的に検索するために使用されます
find
。見つかったファイルはもう一度マークされますls
。ディレクトリではなく通常のファイルのみを表示する-type f
ように指示します。目的のファイルのみを選択するために使用できるさまざまなオプションがあります。望むより。find
find
man find
もっと選択
出力をファイルに保存するには、次のようにします。リダイレクト。たとえば、
ssh remotemachine "ls -l /opt/apache../webapps/Context" >outputfile
出力を画面に表示してファイルに保存するには、次のようにしますtee
。
ssh remotemachine "ls -l /opt/apache../webapps/Context" | tee outputfile