... wenn Sie echten Shell-Zugriff haben. Einige Systeme haben eine spezielle Shell, die nur bestimmte scpund rsyncAufrufe akzeptiert , vielleicht sftpauch, und das war's.
Glglgl
Wie würden Sie dies alias "rls" sagen?
Walross the Cat
2
@WalrustheCat Starten Sie alias rls="ssh user@host ls -l"Ihre Shell neu und rls /some/directorysollte funktionieren.
Chishaku
Das einzige Problem dabei ist, dass die nicht gefundene Datei einen Fehlercode zurückgibt, obwohl ich genau deswegen ls aufrufen möchte.
Steve Cohen
@SteveCohen nicht folgen Wünschen Sie den Fehlercode von der Fernbedienung? Wenn ja, $? Enthält es direkt nach der Ausführung des Befehls. (ZB gibt es 2 zurück, wenn ich dies [lokal oder remote] für eine Datei ausführen, die nicht gefunden wird)
Corey S.
11
So listen Sie alle Dateien in einem Verzeichnis auf:
Wenn rsync nicht auf dem Host installiert ist, erhalten Sie so etwas wie bash: rsync: command not found. Ich vermute, dies impliziert, dass SSH im Hintergrund verwendet wird.
Mwfearnley
Beachten Sie, dass das Format ähnlich ist ls -l. Auf meinem System scheint es keine Option zu geben, nur die Dateien aufzulisten.
Jonathan
6
Für alle, die über Google auf diese Frage kommen, weil sie nach einer Möglichkeit suchen, Remote-Dateien aufzulisten, aber nicht über ssh auf den Remote-Server zugreifen können (üblicher Fall für Backup-Server), können Sie 'sftp' verwenden.
Ich finde, meine häufigste Verwendung ist es, das Ergebnis zu erhalten, eine einfache Liste von Dateien ohne alle Berechtigungen und Daten und dergleichen, und es in einer lokalen Datei zu speichern.
Sie können innerhalb der Anführungszeichen alles ausführen, was Sie möchten. Alle Ausgaben landen in Ihrer lokalen Textdatei. Oder wenn Sie ein großes unangenehmes Skript auf dem Server ausführen und die gesamte Ausgabe erfassen möchten, auch Fehler:
Antworten:
Das könnte man immer machen:
Dadurch wird SSH an den Host gesendet, ls ausgeführt, die Ausgabe an Sie zurückgesendet und die Verbindung sofort getrennt.
quelle
scp
undrsync
Aufrufe akzeptiert , vielleichtsftp
auch, und das war's.alias rls="ssh user@host ls -l"
Ihre Shell neu undrls /some/directory
sollte funktionieren.So listen Sie alle Dateien in einem Verzeichnis auf:
Für so etwas wie find directory / path -ls
quelle
bash: rsync: command not found
. Ich vermute, dies impliziert, dass SSH im Hintergrund verwendet wird.ls -l
. Auf meinem System scheint es keine Option zu geben, nur die Dateien aufzulisten.Für alle, die über Google auf diese Frage kommen, weil sie nach einer Möglichkeit suchen, Remote-Dateien aufzulisten, aber nicht über ssh auf den Remote-Server zugreifen können (üblicher Fall für Backup-Server), können Sie 'sftp' verwenden.
Beispiel:
Starten Sie eine interaktive Sitzung in einem bestimmten Remote-Verzeichnis:
quelle
Ja. SSH und mach ein
ls
:Sie können dies einfach mit einem Skript versehen, um die Flexibilität zu erhöhen, oder die Syntax host: path
scp
verwenden.quelle
Ich finde, meine häufigste Verwendung ist es, das Ergebnis zu erhalten, eine einfache Liste von Dateien ohne alle Berechtigungen und Daten und dergleichen, und es in einer lokalen Datei zu speichern.
Sie können innerhalb der Anführungszeichen alles ausführen, was Sie möchten. Alle Ausgaben landen in Ihrer lokalen Textdatei. Oder wenn Sie ein großes unangenehmes Skript auf dem Server ausführen und die gesamte Ausgabe erfassen möchten, auch Fehler:
quelle
{ }
nicht benötigt.