... если у вас есть реальный доступ к оболочке. Некоторые системы имеют специальную оболочку, которая будет принимать только определенные scpи rsyncвызовы, может быть sftp, и все.
glglgl
как бы вы называли это, скажем, "rls"?
Кошка Морж
2
@WalrustheCat alias rls="ssh user@host ls -l"Перезапустите вашу оболочку, и она rls /some/directoryдолжна работать.
Чишаку
Единственная проблема с этим состоит в том, что файл не найден, возвращает код ошибки, когда моя причина сделать это именно поэтому, я хочу вызвать ls.
Стив Коэн
Не подписан на @SteveCohen. Вы хотите код ошибки от удаленного ls? Если так, $? содержит его сразу после выполнения команды. (например, он возвращает 2, если я запускаю это [локально или удаленно] для файла, который не найден)
Если rsync не установлен на хосте, то вы получите что-то вроде bash: rsync: command not found. Я предполагаю, что это подразумевает использование SSH в фоновом режиме?
mwfearnley
Обратите внимание, что формат похож на ls -l. В моей системе не похоже, что есть возможность просто перечислить файлы.
Джонатан
6
Для всех, кто приходит через Google на этот вопрос, потому что они ищут способ составить список удаленных файлов, но не могут получить доступ к удаленному серверу через ssh (общий случай для серверов резервного копирования), вы можете использовать 'sftp'.
Пример:
sftp username@hostname.xyz
ls
cd somedir
exit
Запустите интерактивный сеанс в определенном удаленном каталоге:
Я считаю, что чаще всего использую это, чтобы получить результат ls, простой список файлов без всех разрешений и дат и тому подобное, и сохранить его в локальном файле.
Вы можете запустить все, что вы хотите в кавычках. Весь вывод заканчивается в вашем локальном текстовом файле. Или, если вы хотите запустить большой неприятный скрипт на сервере и перехватить весь его вывод, даже ошибки:
Ответы:
Вы всегда можете сделать это:
Это приведет к SSH к хосту, запустит ls, сбросит вывод и немедленно отключится.
источник
scp
иrsync
вызовы, может бытьsftp
, и все.alias rls="ssh user@host ls -l"
Перезапустите вашу оболочку, и онаrls /some/directory
должна работать.Чтобы вывести список всех файлов в каталоге:
Для чего-то вроде найти каталог / путь -ls
источник
bash: rsync: command not found
. Я предполагаю, что это подразумевает использование SSH в фоновом режиме?ls -l
. В моей системе не похоже, что есть возможность просто перечислить файлы.Для всех, кто приходит через Google на этот вопрос, потому что они ищут способ составить список удаленных файлов, но не могут получить доступ к удаленному серверу через ssh (общий случай для серверов резервного копирования), вы можете использовать 'sftp'.
Пример:
Запустите интерактивный сеанс в определенном удаленном каталоге:
источник
Да. SSH и сделать
ls
:Вы можете легко сделать это более гибким или использовать синтаксис host: path
scp
.источник
Я считаю, что чаще всего использую это, чтобы получить результат ls, простой список файлов без всех разрешений и дат и тому подобное, и сохранить его в локальном файле.
Вы можете запустить все, что вы хотите в кавычках. Весь вывод заканчивается в вашем локальном текстовом файле. Или, если вы хотите запустить большой неприятный скрипт на сервере и перехватить весь его вывод, даже ошибки:
источник
{ }
они не нужны.