【问题标题】:ssh to another server and list only the directories inside a directoryssh 到另一台服务器并仅列出目录中的目录
【发布时间】:2021-12-24 08:00:35
【问题描述】:

dev1.ab.com 是当前服务器,我必须 ssh 到 tes1.ab.com,移动到路径 /spfs/tomcat/dir 并列出那里存在的所有目录(无文件)。

为此,我使用 dev1.ab.co 命令行中的以下命令

*ssh tes1.ab.com " ls -1d / /spfs/tomcat/dir "

但是在输出中我得到的输出目录是/spfs/tomcat,我也试过了

*ssh tes1.ab.com " ls -lrt /spfs/tomcat/dir | ls -1d /"

*ssh tes1.ab.com " cd /spfs/tomcat/dir | ls -1d /"

最终得到几乎相同的结果。

有人可以帮我在 dev1.ab.com 的命令行中编写一个命令以 ssh 到 tes1.ab.com 并将输出作为 /spfs/tomcat/dir 目录中存在的目录列表。

【问题讨论】:

    标签: shell unix ssh


    【解决方案1】:

    使用find 代替ls

    ssh tes1.ab.com "find /my/folder -type d"

    添加-maxdepth 1 仅列出第一级

    【讨论】:

    • 你能帮我写完整的命令吗,其实我试过 ssh tes1.ab.com "find /spfs/tomcat/dir | ls -1d */" 但得到了相同的输出。跨度>
    • 这是完整的命令。 ssh tes1.ab.com "find /my/folder -type d -maxdepth 1"ls 后面加上 * 是行不通的。不过,您可以通过添加 -name '*.txt' 参数进行过滤。
    【解决方案2】:

    你可以使用下面的

    ssh tes1.ab.com 'ls -ld /spfs/tomcat/dir/*/'

    单独列出 /spfs/tomcat/dir 中的所有目录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多