... si tienes acceso real de shell. Algunos sistemas tienen un shell especial que solo aceptará ciertas llamadas scpy rsync, quizás sftptambién, y eso es todo.
glglgl
¿cómo alias esto para decir, "rls"?
Walrus the Cat
2
@WalrustheCat alias rls="ssh user@host ls -l"Reinicie su shell y rls /some/directorydebería funcionar.
chishaku
El único problema con esto es que el archivo no encontrado devuelve un código de error, cuando mi razón para hacerlo es precisamente por qué quiero llamar a ls.
Steve Cohen
No sigo a @SteveCohen. ¿Quieres el código de error del ls remoto? Si es así, $? lo contiene justo después de ejecutar el comando. (por ejemplo, devuelve 2 si ejecuto esto [local o remotamente] en un archivo que no se encuentra)
Corey S.
11
Para enumerar todos los archivos en un directorio:
Si rsync no está instalado en el host, entonces obtienes algo como bash: rsync: command not found. ¿Supongo que esto implica que está usando SSH en segundo plano?
mwfearnley
Tenga en cuenta que el formato es similar a ls -l. En mi sistema, no parece que haya una opción para simplemente enumerar los archivos.
Jonathan
6
Para todos los que vienen a través de Google a esta pregunta porque están buscando una manera de enumerar archivos remotos pero no pueden acceder al servidor remoto a través de ssh (caso común para servidores de respaldo), podría usar 'sftp'.
Creo que mi uso más frecuente de esto es obtener el resultado ls, una lista simple de archivos sin todos los permisos y fechas y demás, y guardarlo en un archivo local.
Puedes ejecutar lo que quieras dentro de las comillas. Toda la salida termina en su archivo de texto local. O si desea ejecutar un gran script desagradable en el servidor y capturar toda su salida, incluso errores:
Respuestas:
Siempre puedes hacer esto:
Eso enviará SSH al host, ejecutará ls, volcará la salida y se desconectará inmediatamente.
fuente
scp
yrsync
, quizássftp
también, y eso es todo.alias rls="ssh user@host ls -l"
Reinicie su shell yrls /some/directory
debería funcionar.Para enumerar todos los archivos en un directorio:
Para algo como encontrar directorio / ruta -ls
fuente
bash: rsync: command not found
. ¿Supongo que esto implica que está usando SSH en segundo plano?ls -l
. En mi sistema, no parece que haya una opción para simplemente enumerar los archivos.Para todos los que vienen a través de Google a esta pregunta porque están buscando una manera de enumerar archivos remotos pero no pueden acceder al servidor remoto a través de ssh (caso común para servidores de respaldo), podría usar 'sftp'.
Ejemplo:
Inicie una sesión interactiva en un directorio remoto específico:
fuente
Si. SSH y hacer un
ls
:Podría fácilmente escribir esto para que sea más flexible, o usar el host: la sintaxis de ruta
scp
utiliza.fuente
Creo que mi uso más frecuente de esto es obtener el resultado ls, una lista simple de archivos sin todos los permisos y fechas y demás, y guardarlo en un archivo local.
Puedes ejecutar lo que quieras dentro de las comillas. Toda la salida termina en su archivo de texto local. O si desea ejecutar un gran script desagradable en el servidor y capturar toda su salida, incluso errores:
fuente
{ }
no se necesitan.