Скопировать новейший файл в каталог через SSH

Как можно скопировать новый текстовый файл из определенного каталога на удаленном сервере на его локальный компьютер?

На самом сервере я могу сделать следующее:

$ cat `cd /home/user/dir ; readlink -f $(ls -t | head -1)` > ~/newest.txt 

Это помещает содержимое нового файла в ~/newest.txt . Тем не менее, я не могу запустить это через SSH, потому что локальная система пытается интерпретировать метки и команды $(*) . Идентификатор, это не работает:

 $ 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. 

Очевидно, что /home/user/dir не существует на моей локальной машине . Я пробовал использовать SSH с флагом -t , это не помогло. Как я могу получить тики и $() для анализа на удаленном компьютере, а не на моей локальной машине?

В стороне, кто-то умнее меня однажды заявил, что вывод ls не будет разбираться . Мы можем с уверенностью предположить в целях этого вопроса, что имена файлов содержат только печатные символы ASCII. Тем не менее, ответы, которые касаются общего дела, были бы замечательными, а также я хотел бы узнать , а не просто получить это один раз.

One Solution collect form web for “Скопировать новейший файл в каталог через SSH”

Для предотвращения расширения оболочки вам нужно использовать одинарные кавычки вместо двойных кавычек, прежде чем ваша команда будет передана на удаленный сервер.

BTW, $( теперь предпочтительнее, чем ` в подстановке команд.

  • Скопировать каталог с помощью SCP
  • Почему мои логины пропустили tty?
  • Туннельный трафик через другой сервер через ssh
  • Успешно используйте time.conf
  • Внезапно меняющиеся пользователи
  • Резервное копирование с помощью find и ssh для сервера вне сайта
  • Как скопировать файлы с помощью scp с удаленного хоста, когда файл имеет пробелы
  • Какой частный ключ используется, когда sftp с другой учетной записью пользователя
  • Безопасность SMB и SFTP
  • Не удается выполнить команду с корнем на удаленном хосте Linux
  • Почему приложение «ssh -X» работает медленнее, чем vncviewer через «ssh -X»
  • Linux и Unix - лучшая ОС в мире.