如何将最新的文本文件从远程服务器上的特定目录复制到他的本地机器?
在服务器本身上,我可以执行以下操作:
$ cat `cd /home/user/dir ; readlink -f $(ls -t | head -1)` > ~/newest.txt
Run Code Online (Sandbox Code Playgroud)
这会将最新文件的内容放入~/newest.txt
. 但是,我无法通过 SSH 运行它,因为本地系统会尝试解释刻度线和$(*)
命令。Id est,这不起作用:
$ ssh me@server.com "cat `cd /home/user/dir ; readlink -f $(ls -t | head -1)`" > ~/newest.txt
bash: cd: /home/user/dir: No such file or directory
Connection to server.com closed.
Run Code Online (Sandbox Code Playgroud)
显然,/home/user/dir
在我的本地机器上不存在。我也尝试使用带有-t
标志的SSH ,这没有帮助。我怎样才能$()
在远程机器上而不是在我的本地机器上获取滴答声并进行解析?
顺便说一句,比我更聪明的人曾经宣布不应解析的输出ls
。对于这个问题,我们可以安全地假设文件名只包含可打印的 ASCII 字符。但是,解决一般情况的答案会很好,而且我确实想学习,而不仅仅是一次。
归档时间: |
|
查看次数: |
958 次 |
最近记录: |