在 UNIX 中仅从远程计算机复制文件详细信息(文件名、大小、时间)

在 UNIX 中仅从远程计算机复制文件详细信息(文件名、大小、时间)

在 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

    commandremotemachine使用 secure-shell ( 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

相关内容