Linux: Versteckte Dateien über FTP anzeigen
Julian von Mendel
- ftp
Hi,
ich hab hier unter Linux das Konsolentool "ftp", mit dem ich auch problemlos eine Verbindung zu meinem FTP-Server aufbauen kann. Wenn ich mir mit "ls" oder "dir" aber das Verzeichnis anzeigen lasse, sind versteckte Dateien, also solche die mit "." beginnen, ausgeblendet. In der man-Page habe ich beim Überfliegen nichts entdeckt. Welchen Befehl muss ich verwenden damit auch versteckte Dateien angezeigt werden?
Außerdem interessiert es mich, wie ich automatisiert Befehle an das "ftp"-Programm geben kann, also von einem eigenen Skript aus, da "ftp" ja eigentlich interaktiv zu bedienen ist, und nicht über einen Parameter.
Schöne Grüße
Julian
Servus,
haste es mal mit "ls -al" versucht?
Bert
Hi Julian!
Mit ls -a kannst du dir auch Dateien anzeigen lassen, die mir einem "." beginnen. Nachzulesen auch unter man ls ;-)
Grüße,
Fabian St.
Hallo,
Mit ls -a kannst du dir auch Dateien anzeigen lassen, die mir einem "." beginnen. Nachzulesen auch unter man ls ;-)
Wie ich es lokal mache ist mir bekannt, ich wusste nicht das er Remote die selben Parameter akzeptiert, da unter "man ftp" das nicht erwähnt wird ;)
Schöne Grüße
Julian
Hallo Julian,
Zu Deiner ersten Frage muss ich noch etwas austesten :-)
Außerdem interessiert es mich, wie ich automatisiert Befehle an das "ftp"-Programm geben kann, also von einem eigenen Skript aus, da "ftp" ja eigentlich interaktiv zu bedienen ist, und nicht über einen Parameter.
http://www.informit.com/articles/article.asp?p=170517 könnte Dir in diesem Punkt weiterhelfen.
Für Benutzer für Windows NT und Nachfolger (ich weiß, Du fällst nicht in diese Kategorie) geht es übrigens mit:
ftp -s:Dateiname
Freundliche Grüsse,
Vinzenz
Hallo Vinzenz,
Zu Deiner ersten Frage muss ich noch etwas austesten :-)
Umgebung: Fedora Core 2, vsftpd als FTP-Server in Standardkonfiguration.
Wie Fabian und Bert es vorher gesagt haben, werden in dieser Konfiguration die Parameter des ls-Befehls durchgereicht. Für die Anzeige der "versteckten" Dateien genügt somit bereits ein
ls .* : Nur die Dateien, die mit einem Punkt beginnen, werden angezeigt.
ls -al : Alle Dateien werden angezeigt.
Selbstverständlich ist diese Anzeige von der serverseitigen Konfiguration abhängig.
Freundliche Grüsse,
Vinzenz
Hallo,
Außerdem interessiert es mich, wie ich automatisiert Befehle an das "ftp"-Programm geben kann, also von einem eigenen Skript aus, da "ftp" ja eigentlich interaktiv zu bedienen ist, und nicht über einen Parameter.
http://www.informit.com/articles/article.asp?p=170517 könnte Dir in diesem Punkt weiterhelfen.
Danke, das geht gut. Gibt es eine Möglichkeit sich eine Datei direkt ausgeben zu lassen, ohne sie herunterzuladen? cat <file> geht nicht *gg*.
Schöne Grüße
Julian
Hallo Julian,
Danke, das geht gut. Gibt es eine Möglichkeit sich eine Datei direkt ausgeben zu lassen, ohne sie herunterzuladen? cat <file> geht nicht *gg*.
Überlege doch selbst: Damit die Datei angezeigt werden kann, müssen die anzuzeigenden Daten auf Deinem Rechner vorliegen, d.h. heruntergeladen werden. Die Alternative wäre ein Zugang per ssh.
Freundliche Grüsse,
Vinzenz
Hallo,
Überlege doch selbst: Damit die Datei angezeigt werden kann, müssen die anzuzeigenden Daten auf Deinem Rechner vorliegen, d.h. heruntergeladen werden.
Dagegen habe ich nichts. Aber kann er die Datei nicht in ein Temp-Verzeichnis laden und mir den Inhalt gleich anzeigen, damit ich nicht erst die Datei lokal speichern muss und sie dann in einem anderen Terminal betrachten?
Schöne Grüße
Julian
Hallo Julian,
Dagegen habe ich nichts. Aber kann er die Datei nicht in ein Temp-Verzeichnis laden und mir den Inhalt gleich anzeigen, damit ich nicht erst die Datei lokal speichern muss und sie dann in einem anderen Terminal betrachten?
Hast Du es schon einmal mit den Zeilen
...
lcd /tmp
get die.gewuenschte.datei
! cat die.gewuenschte.datei
...
in Deinem Skript probiert?
Freundliche Grüsse,
Vinzenz
Hi Vinzenz,
Hast Du es schon einmal mit den Zeilen
...
lcd /tmp
get die.gewuenschte.datei
! cat die.gewuenschte.datei
...in Deinem Skript probiert?
Geniale Idee *g*. Schon wieder danke! Aber wenn du dich so gut auskennst hab ich natürlich noch eine Frage für dich übrig: Gibt es einen bestimmten Befehl um einen kompletten Ordner hochzuladen oder muss ich das mit den Dateien einzelnd machen?
Schöne Grüße
Julian
Hallo Julian,
Geniale Idee *g*. Schon wieder danke!
*freu* Positive Rückmeldungen gehen immer runter wie ein kühles Bier :-)
Aber wenn du dich so gut auskennst hab ich natürlich noch eine Frage für dich übrig: Gibt es einen bestimmten Befehl um einen kompletten Ordner hochzuladen oder muss ich das mit den Dateien einzelnd machen?
Das ist nicht trivial :-( Ausser die triviale Version.
Trivial:
[1] Im Verzeichnis befinden sich _keine_ Unterverzeichnisse
[2] Alle Dateien können im gleichen Modus hochgeladen werden
Vorgehensweise:
[1] Schalte den interaktiven Modus aus
[a] schon beim Aufruf mit 'ftp -i'
[b] durch das FTP-Kommando 'prompt'
[2] Schalte, falls erforderlich, in den Binärmodus mit 'binary'
[3] Verwende 'mput *'
Die Reihenfolge von [1] und [2] ist beliebig :-)
Nichttrivial:
[1] Dein gewünschtes Verzeichnis kann Unterverzeichnisse enthalten
[2] Manche Dateien müssen im ASCII-Modus, andere im Binärmodus hochgeladen werden.
Lösung nach man-page:
[1] Erstelle ein Archiv mit tar (darf selbstverständlich auch gepackt sein)
[2] Lade das Archiv im Binärmodus hoch
[3] Entpacke das Archiv am Zielort
Problem kann hier Schritt [3] sein.
Weiterer Lösungsansatz:
[1] Erstelle eine Liste der hochzuladenden Dateien und Verzeichnisse
Werkzeug ist die Option -R des ls-Befehls
[2] Lass Dir aus dieser Liste Dein ftp-Skript erstellen.
[3] Führe das FTP-Skript aus
Punkt [2] wäre noch detaillierter zu behandeln.
Probiere mal was aus.
Freundliche Grüsse,
Vinzenz
Hi,
Geniale Idee *g*. Schon wieder danke!
*freu* Positive Rückmeldungen gehen immer runter wie ein kühles Bier :-)
Dann gleich nochmal eine abschließende: Du hast mir sehr geholfen und du wirst mit Ruhe von mir belohnt.
[3] Verwende 'mput *'
Das ist eine ganz nette Lösung. Für komplexere Sachen baue ich das dann halt in mein Skript ein.
Schöne Grüße
Julian