Handbücher für die Kommandozeile

Man » ftp-Handbuch online – Detaillierte Online-Dokumentation für die ftp-Manpage

🌍
tnftp — Internet-Dateiübertragungsprogramm

SYNOPSIS

tnftp [-46AadefginpRtVv?] [-N netrc] [-o Ausgabe] [-P Port] [-q Wartezeit] [-r Wiederholungsversuche] [-s Quelladresse]
[-T Verzeichnis,Maximum[,Inkrement]] [-x Übertragungsgröße] [[Benutzer@]Host [Port]] [[Benutzer@]Host:[Pfad][/]]
[file:///Pfad] [ftp://[Benutzer[:Passwort]@]Host[:Port]/Pfad[/][;type=Typ]]
[http://[Benutzer[:Passwort]@]Host[:Port]/Pfad] [https://[Benutzer[:Passwort]@]Host[:Port]/Pfad]
...
tnftp -u URL Datei ...

BESCHREIBUNG

tnftp ist die Benutzeroberfläche für das Internet-Standard-Dateiübertragungsprotokoll. Das Programm ermöglicht
es einem Benutzer, Dateien zwischen einem lokalen und einem entfernten Netzwerkstandort zu übertragen.

Die letzten fünf Argumente laden eine Datei mit den FTP- oder HTTP-Protokollen oder durch direktes Kopieren in das aktuelle Verzeichnis. Dies ist ideal für Skripte. Weitere Informationen finden Sie unter „AUTOMATISCHES LADEN VON DATEIEN“ weiter unten.

Optionen können über die Befehlszeile oder an den Befehlsinterpreter angegeben werden.

-4 Erzwingt, dass tnftp nur IPv4-Adressen verwendet.

-6 Erzwingt, dass tnftp nur IPv6-Adressen verwendet.

-A Erzwingt den aktiven FTP-Modus. Standardmäßig versucht tnftp, den passiven FTP-Modus zu verwenden, und fällt
auf den aktiven Modus zurück, wenn der passive Modus vom Server nicht unterstützt wird. Diese Option bewirkt,
dass tnftp immer eine aktive Verbindung verwendet. Dies ist nur nützlich, um eine Verbindung zu sehr
alten Servern herzustellen, die den passiven Modus nicht ordnungsgemäß implementieren.

-a Veranlasst tnftp, die normale Anmeldeverfahren zu umgehen und stattdessen eine anonyme Anmeldung zu verwenden.

-d Aktiviert das Debugging.

-e Deaktiviert die Befehlszeilenbearbeitung. Dies ist nützlich für den Emacs-ange-ftp-Modus.

-f Erzwingt ein erneutes Laden des Caches für Übertragungen, die über die FTP- oder HTTP-Proxys erfolgen.

-g Deaktiviert das Dateinamensmuster.

-i Deaktiviert die interaktive Eingabeaufforderung während mehrerer Dateiübertragungen.

-N netrc Verwendet stattdessen ~/.netrc. Weitere Informationen finden Sie unter „DIE .netrc-DATEI“.

-n Verhindert, dass tnftp beim anfänglichen Verbindungsaufbau für nicht automatische Übertragungen versucht, sich
automatisch anzumelden. Wenn die automatische Anmeldung aktiviert ist, überprüft tnftp die Datei .netrc (siehe unten)
im Heimatverzeichnis des Benutzers auf einen Eintrag, der ein Konto auf der entfernten
Maschine beschreibt. Wenn kein Eintrag vorhanden ist, fordert tnftp den Benutzernamen der entfernten
Maschine an (standardmäßig ist dies die lokale Benutzer-ID) und fordert gegebenenfalls ein Passwort
und ein Konto an, mit dem er sich anmelden soll. Um die automatische Anmeldung für automatische Übertragungen zu überschreiben, geben Sie den Benutzernamen (und optional das Passwort) entsprechend an.

-o Ausgabe Wenn Dateien automatisch geladen werden, speichert man den Inhalt in der Datei Ausgabe. Ausgabe wird gemäß
den „DATEINAMENSKONVENTIONEN“ unten analysiert. Wenn Ausgabe nicht „-“ ist oder nicht mit „|“ beginnt,
wird nur die erste angegebene Datei in die Datei Ausgabe abgerufen; alle anderen Dateien werden in den Basisnamen ihres Remote-Namens abgerufen.

-P port     Legt die Portnummer auf Port fest.

-p          Aktiviert den passiven Modus für die Verwendung hinter Firewalls mit Verbindungsfilterung. Diese Option ist veraltet, da tnftp nun standardmäßig versucht, den passiven Modus zu verwenden und bei Bedarf auf den aktiven Modus zurückzugreifen, wenn der Server keine passiven Verbindungen unterstützt.

-q quittime

Beendet die Verbindung, wenn diese für quittime Sekunden lang inaktiv ist.

-R          Startet alle nicht über einen Proxy abgerufenen Dateien neu.

-r wait     Wiederholt den Verbindungsversuch, falls dieser fehlgeschlagen ist, und wartet dabei wait Sekunden.

-s srcaddr  Verwendet srcaddr als lokale IP-Adresse für alle Verbindungen.

-t          Aktiviert die Paketverfolgung.

-T direction,maximum[,increment]

Legt die maximale Übertragungsrate für Richtung auf maximum Bytes/Sekunde fest und optional die Erhöhung um increment Bytes/Sekunde. Weitere Informationen finden Sie unter rate.

-u url file ...

Lädt Dateien von der Befehlszeile in die URL hoch, wobei URL einer der von auto-fetch unterstützten FTP-URL-Typen ist (mit einem optionalen Zieldateinamen für das Hochladen einzelner Dateien), und Datei ist eine oder mehrere lokale Dateien, die hochgeladen werden sollen.

-V          Deaktiviert ausführliche Ausgaben und Fortschrittsanzeigen, wodurch die Standardeinstellung aufgehoben wird, die aktiviert ist, wenn die Ausgabe an ein Terminal erfolgt.

-v          Aktiviert ausführliche Ausgaben und Fortschrittsanzeigen. Dies ist die Standardeinstellung, wenn die Ausgabe an ein Terminal erfolgt (und im Falle von Fortschrittsanzeigen tnftp der Vordergrundprozess ist). Erzwingt, dass tnftp alle Antworten vom Remote-Server anzeigt und Datenübertragungsstatistiken meldet.

-x xfersize

Legt die Größe der Senden- und Empfangspuffer des Sockets auf xfersize fest. Weitere Informationen finden Sie unter xferbuf.

-?          Zeigt die Hilfe auf stdout an und beendet das Programm.

Der Host, mit dem tnftp kommunizieren soll, kann auf der Befehlszeile angegeben werden. In diesem Fall versucht tnftp sofort, eine Verbindung zu einem FTP-Server auf diesem Host herzustellen; andernfalls tritt tnftp in den Befehlsinterpreter ein und wartet auf Anweisungen vom Benutzer. Wenn tnftp auf Befehle vom Benutzer wartet, wird dem Benutzer die Eingabeaufforderung „ftp>“ angezeigt. Die folgenden Befehle werden von tnftp erkannt:

! [Befehl [Argumente]]

Ruft eine interaktive Shell auf dem lokalen Computer auf. Wenn Argumente vorhanden sind, wird das erste als auszuführender Befehl und die übrigen als seine Argumente verwendet.

$ Makroname [Argumente]

Führt das Makro Makroname aus, das mit dem Befehl macdef definiert wurde. Argumente werden ungeändert an das Makro übergeben.

account [Passwort]

Liefert ein zusätzliches Passwort, das von einem Remote-System für den Zugriff auf Ressourcen benötigt wird, nachdem eine Anmeldung erfolgreich abgeschlossen wurde. Wenn kein Argument angegeben wird, wird der Benutzer aufgefordert, ein Konto-Passwort in einem nicht-echodarstellenden Eingabemodus einzugeben.

append lokale_datei [Remote-Datei]

Fügt eine lokale Datei an eine Datei auf dem Remote-Computer an. Wenn Remote-Datei nicht angegeben wird, wird der Name der lokalen Datei verwendet, um die Remote-Datei nach der Änderung durch eine ntrans- oder nmap-Einstellung zu benennen. Die Dateiübertragung verwendet die aktuellen Einstellungen für Typ, Format, Modus und Struktur.


ascii       Stellt den Dateitransfertyp auf Netzwerk-ASCII ein. Dies ist der Standardtyp.

bell        Bewirkt, dass nach jedem Dateitransferbefehl ein Signalton ausgegeben wird.

binary      Stellt den Dateitransfertyp auf binären Bildtransfer ein.

bye         Beendet die FTP-Sitzung mit dem Remote-Server und beendet tnftp. Auch ein Dateiende beendet die Sitzung und beendet das Programm.

case        Schaltet die Groß-/Kleinschreibung von Remote-Dateinamen während der Befehle get, mget und mput ein oder aus. Wenn case aktiviert ist (Standardeinstellung ist deaktiviert), werden Remote-Dateinamen, die ausschließlich in Großbuchstaben vorliegen, im lokalen Verzeichnis in Kleinbuchstaben geschrieben.

cd remote-directory
    Ändert das Arbeitsverzeichnis auf der Remote-Maschine in remote-directory.

cdup        Ändert das Arbeitsverzeichnis der Remote-Maschine in das übergeordnete Verzeichnis des aktuellen Arbeitsverzeichnisses der Remote-Maschine.

chmod mode remote-file
    Ändert die Berechtigungsmodi der Datei remote-file auf dem Remote-System in mode.

close       Beendet die FTP-Sitzung mit dem Remote-Server und kehrt zum Befehlsinterpreter zurück. Alle definierten Makros werden gelöscht.

cr          Schaltet das Entfernen von Wagenrückläufen während des Abrufens von ASCII-Dateien ein oder aus. Datensätze werden während des ASCII-Dateitransfers durch eine Wagenrücklauf-/Zeilenvorschub-Sequenz gekennzeichnet. Wenn cr aktiviert ist (Standardeinstellung), werden Wagenrückläufe aus dieser Sequenz entfernt, um sie an das Unix-Zeilenvorschub-Zeichen für Datensatzbegrenzer anzupassen. Datensätze auf nicht-Unix-Remote-Systemen können einzelne Zeilenvorschübe enthalten; wenn ein ASCII-Transfer durchgeführt wird, können diese Zeilenvorschübe nur dann von einem Datensatzbegrenzer unterschieden werden, wenn cr deaktiviert ist.

debug [debug-value]
    Schaltet den Debug-Modus ein oder aus. Wenn ein optionaler debug-value angegeben wird, wird dieser verwendet, um die Debug-Ebene festzulegen. Wenn der Debug-Modus aktiviert ist, gibt tnftp jeden an die Remote-Maschine gesendeten Befehl aus, dem die Zeichenkette ‘-->’ vorangestellt wird.

delete remote-file
    Löscht die Datei remote-file auf der Remote-Maschine.

dir [remote-path [local-file]]
    Gibt eine Liste des Inhalts eines Verzeichnisses auf der Remote-Maschine aus. Die Liste enthält alle systemabhängigen Informationen, die der Server ausgeben möchte; beispielsweise geben die meisten Unix-Systeme die Ausgabe des Befehls ‘ls -l’ aus. Wenn remote-path nicht angegeben ist, wird das aktuelle Arbeitsverzeichnis verwendet. Wenn die interaktive Abfrage aktiviert ist, fordert tnftp den Benutzer auf, zu bestätigen, dass das letzte Argument tatsächlich die Zieldatei für den Empfang der Verzeichnisausgabe ist. Wenn keine lokale Datei angegeben ist oder local-file ‘-’ ist, wird die Ausgabe an das Terminal gesendet.

disconnect  Ein Synonym für close.

edit        Schaltet die Befehlszeilenbearbeitung und die kontextsensitive Befehls- und Dateivervollständigung ein oder aus. Dies wird automatisch aktiviert, wenn die Eingabe von einem Terminal erfolgt, und deaktiviert, wenn nicht.

epsv, epsv4, epsv6
Aktivieren oder deaktivieren Sie die Verwendung der erweiterten EPSV- und EPRT-Befehle für alle IPv4- und IPv6-Verbindungen bzw. alle IP-Verbindungen. Zuerst wird EPSV/EPRT und dann PASV/PORT versucht. Dies ist standardmäßig aktiviert. Wenn ein erweiterter Befehl fehlschlägt, wird diese Option vorübergehend für die Dauer der aktuellen Verbindung oder bis epsv, epsv4 oder epsv6 erneut ausgeführt wird, deaktiviert.

exit
Ein Synonym für bye.

features
Zeigt die vom Remote-Server unterstützten Funktionen an (mit dem FEAT-Befehl).

fget localfile
Ruft die in localfile aufgeführten Dateien ab, wobei jede Zeile einen Dateinamen enthält.

form format
Setzt das Dateiübertragungsformat auf das angegebene Format. Das Standardformat (und das einzige unterstützte Format) ist ‚non-print‘.

ftp host [port]
Ein Synonym für open.

gate [host [port]]
Schaltet den Gate-FTP-Modus ein oder aus, der verwendet wurde, um eine Verbindung über die TIS FWTK- und Gauntlet-FTP-Proxys herzustellen. Dies ist nicht zulässig, wenn der Gate-FTP-Server nicht festgelegt wurde (entweder explizit durch den Benutzer oder aus der Umgebungsvariable FTPSERVER). Wenn host angegeben ist, wird der Gate-FTP-Modus aktiviert und der Gate-FTP-Server auf host gesetzt. Wenn auch port angegeben wird, wird dieser als Port verwendet, mit dem eine Verbindung zum Gate-FTP-Server hergestellt wird.

get remote-file [local-file]
Ruft die Remote-Datei ab und speichert sie auf dem lokalen Computer. Wenn der lokale Dateiname nicht angegeben ist, erhält er denselben Namen wie auf dem Remote-Computer, wobei die aktuellen Einstellungen für case, ntrans und nmap berücksichtigt werden. Die aktuellen Einstellungen für type, form, mode und structure werden während der Dateiübertragung verwendet.

glob
Schaltet die Dateinamenerweiterung für mdelete, mget, mput und mreget ein oder aus. Wenn die Dateinamenerweiterung mit glob deaktiviert ist, werden die Dateinamen wörtlich übernommen und nicht erweitert. Die Dateinamenerweiterung für mput erfolgt wie in csh(1). Für mdelete, mget und mreget wird jeder Remote-Dateiname separat auf dem Remote-Computer erweitert, und die Listen werden nicht zusammengeführt. Die Erweiterung eines Verzeichnisnamens unterscheidet sich wahrscheinlich von der Erweiterung des Namens einer normalen Datei: das genaue Ergebnis hängt vom Remote-Betriebssystem und dem FTP-Server ab und kann durch Eingabe von ‚mls remote-files -‘ überprüft werden. Hinweis: mget, mput und mreget sind nicht dazu gedacht, ganze Verzeichnisstrukturen von Dateien zu übertragen. Dies kann durch Übertragen eines [tar]({filename}../../tar)(1)-Archivs der Teilbaumstruktur (im Binärmodus) geschehen.

hash [size]
Schaltet die Hash-Kennzeichnung („#“) für jeden übertragenen Datenblock ein oder aus. Die Größe eines Datenblocks beträgt standardmäßig 1024 Byte. Dies kann durch Angabe der Größe in Byte geändert werden. Das Aktivieren von Hash deaktiviert die Fortschrittsanzeige.

help [command]
Gibt eine informative Meldung über die Bedeutung des Befehls aus. Wenn kein Argument angegeben wird, gibt tnftp eine Liste der bekannten Befehle aus.

idle [seconds]
Setzt den Inaktivitäts-Timer auf dem Remote-Server auf die angegebene Anzahl von Sekunden. Wenn Sekunden weggelassen wird, wird der aktuelle Inaktivitäts-Timer ausgegeben.

image
Ein Synonym für binary.

lcd [directory]
Ändert das Arbeitsverzeichnis auf dem lokalen Computer. Wenn kein Verzeichnis angegeben ist, wird das Home-Verzeichnis des Benutzers verwendet.

less file   Ein Synonym für page.

lpage local-file
Zeigt local-file mit dem durch die Option „set pager“ angegebenen Programm an.

lpwd        Gibt das Arbeitsverzeichnis auf der lokalen Maschine aus.

ls [remote-path [local-file]]
Ein Synonym für dir.

macdef macro-name
Definiert ein Makro. Nachfolgende Zeilen werden als das Makro macro-name gespeichert; eine leere Zeile (aufeinanderfolgende neue Zeilen in einer Datei oder Wagenrückläufe vom Terminal) beendet den Makroeingabemodus. Es gibt eine Begrenzung von 16 Makros und 4096 Gesamtzahl von Zeichen in allen definierten Makros. Makronamen können maximal 8 Zeichen lang sein. Makros gelten nur für die aktuelle Sitzung, in der sie definiert wurden (oder wenn sie außerhalb einer Sitzung definiert werden, für die Sitzung, die mit dem nächsten Befehl „open“ aufgerufen wird), und bleiben definiert, bis ein Befehl „close“ ausgeführt wird. Um ein Makro aufzurufen, verwenden Sie den Befehl „$“ (siehe oben).

Der Makroprozessor interpretiert „$“ und „\“ als Sonderzeichen. Ein „$“, gefolgt von einer Zahl (oder Zahlen), wird durch das entsprechende Argument in dem Makroaufruf ersetzt. Ein „$“, gefolgt von einem „i“, signalisiert dem Makroprozessor, dass das ausgeführte Makro in einer Schleife ausgeführt werden soll. Beim ersten Durchlauf wird „$i“ durch das erste Argument in dem Makroaufruf ersetzt, beim zweiten Durchlauf durch das zweite Argument und so weiter. Ein „\“, gefolgt von einem beliebigen Zeichen, wird durch dieses Zeichen ersetzt. Verwenden Sie „\“, um zu verhindern, dass „$“ speziell behandelt wird.

mdelete [remote-files]
Löscht die remote-files auf der Remote-Maschine.

mdir remote-files local-file
Ähnlich wie dir, aber es können mehrere Remote-Dateien angegeben werden. Wenn die interaktive Abfrage aktiviert ist, fordert tnftp den Benutzer auf, zu bestätigen, dass das letzte Argument tatsächlich die Zieldatei für den Empfang der mdir-Ausgabe ist.

mget remote-files
Erweitert die remote-files auf der Remote-Maschine und führt für jeden Dateinamen ein „get“ aus. Weitere Informationen zur Dateinamenerweiterung finden Sie unter „glob“. Die resultierenden Dateinamen werden dann gemäß den Einstellungen „case“, „ntrans“ und „nmap“ verarbeitet. Die Dateien werden in das lokale Arbeitsverzeichnis übertragen, das mit dem Befehl „lcd directory“ geändert werden kann; neue lokale Verzeichnisse können mit dem Befehl „! mkdir directory“ erstellt werden.

mkdir directory-name
Erstellt ein Verzeichnis auf der Remote-Maschine.

mls remote-files local-file
Ähnlich wie ls, aber es können mehrere Remote-Dateien angegeben werden, und die local-file muss angegeben werden. Wenn die interaktive Abfrage aktiviert ist, fordert tnftp den Benutzer auf, zu bestätigen, dass das letzte Argument tatsächlich die Zieldatei für den Empfang der mls-Ausgabe ist.

mlsd [remote-path]
Zeigt den Inhalt von remote-path (das standardmäßig das aktuelle Verzeichnis sein sollte, wenn es nicht angegeben ist) in einem maschinenlesbaren Format mithilfe von MLSD an. Das Format der Anzeige kann mit „remopts mlst ...“ geändert werden.

mlst [remote-path]
Zeigt die Details von remote-path (das standardmäßig das aktuelle Verzeichnis sein sollte, wenn es nicht angegeben ist) in einem maschinenlesbaren Format mithilfe von MLST an. Das Format der Anzeige kann mit „remopts mlst ...“ geändert werden.

mode mode-name

Setzt den Dateitransfermodus auf den angegebenen Modus. Der Standardmodus (und der einzige unterstützte Modus) ist ‚stream‘.

modtime remote-file

Zeigt die letzte Änderungszeit der Datei auf der Remote-Maschine im RFC 2822-Format an.

more file

Ein Synonym für page.

mput local-files

Erweitert Wildcards in der Liste der lokalen Dateien, die als Argumente angegeben werden, und führt für jede Datei in der resultierenden Liste einen put-Befehl aus. Siehe glob für Details zur Dateinamenerweiterung. Die resultierenden Dateinamen werden dann gemäß den Einstellungen ntrans und nmap verarbeitet.

mreget remote-files

Wie mget, führt aber einen reget anstelle eines get aus.

msend local-files

Ein Synonym für mput.

newer remote-file [local-file]

Ruft die Datei nur ab, wenn die Änderungszeit der Remote-Datei neuer ist als die Datei auf dem aktuellen System. Wenn die Datei nicht auf dem aktuellen System vorhanden ist, wird die Remote-Datei als neuer betrachtet. Andernfalls ist dieser Befehl identisch mit get.

nlist [remote-path [local-file]]

Ein Synonym für ls.

nmap [inpattern outpattern]

Setzt oder deaktiviert den Mechanismus zur Dateinamenzuordnung. Wenn keine Argumente angegeben werden, wird der Mechanismus zur Dateinamenzuordnung deaktiviert. Wenn Argumente angegeben werden, werden Remote-Dateinamen während mput-Befehlen und put-Befehlen, die ohne Angabe eines Remote-Zieldateinamens ausgegeben werden, zugeordnet. Wenn Argumente angegeben werden, werden lokale Dateinamen während mget-Befehlen und get-Befehlen, die ohne Angabe eines lokalen Zieldateinamens ausgegeben werden, zugeordnet. Dieser Befehl ist nützlich, wenn eine Verbindung zu einem nicht-Unix-Remote-Computer mit unterschiedlichen Dateibenennungskonventionen oder -praktiken hergestellt wird. Die Zuordnung erfolgt gemäß dem durch inpattern und outpattern festgelegten Muster.

inpattern ist eine Vorlage für eingehende Dateinamen (die möglicherweise bereits gemäß den Einstellungen ntrans und case verarbeitet wurden). Die Variablenersetzung erfolgt durch die Verwendung der Sequenzen ‚$1‘, ‚$2‘, ..., ‚$9‘ in inpattern. Verwenden Sie ‚\‘, um die spezielle Behandlung des Zeichens ‚$‘ zu verhindern. Alle anderen Zeichen werden literal behandelt und zur Bestimmung der nmap-[inpattern]-Variablenwerte verwendet. Wenn beispielsweise inpattern ‚$1.$2‘ und der Remote-Dateiname ‚mydata.data‘ lauten, hätte ‚$1‘ den Wert ‚mydata‘ und ‚$2‘ den Wert ‚data‘.

outpattern bestimmt den resultierenden zugeordneten Dateinamen. Die Sequenzen ‚$1‘, ‚$2‘,
..., ‚$9‘ werden durch jeden Wert ersetzt, der aus der inpattern-Vorlage resultiert. Die Sequenz ‚$0‘ wird durch den ursprünglichen Dateinamen ersetzt. Darüber hinaus wird die Sequenz
[seq1,seq2] durch seq1 ersetzt, wenn seq1 keine Nullzeichenkette ist; andernfalls wird sie durch seq2 ersetzt. Beispielsweise würde der Befehl

nmap $1.$2.$3 [$1,$2].[$2,file]

die folgende Ausgabe erzeugen: ‚myfile.data‘ für Eingabedateinamen ‚myfile.data‘ und
‚myfile.data.old‘, ‚myfile.file‘ für den Eingabedateinamen ‚myfile‘ und ‚myfile.myfile‘
für den Eingabedateinamen ‚.myfile‘. Leerzeichen können in outpattern enthalten sein, wie im
Folgenden:

nmap $1 sed s/ *$// > $1

Verwenden Sie das Zeichen '\', um zu verhindern, dass die Zeichen '$', '[', ']' und ',' speziell behandelt werden.

ntrans [inchars [outchars]]

Setzt oder hebt den Mechanismus zur Dateinamenübersetzung ein oder aus. Wenn keine Argumente angegeben werden, wird der Mechanismus zur Dateinamenübersetzung deaktiviert. Wenn Argumente angegeben werden, werden Zeichen in Remote-Dateinamen während der Befehle mput und put übersetzt, die ohne Angabe eines Remote-Zieldateinamens ausgegeben werden. Wenn Argumente angegeben werden, werden Zeichen in lokalen Dateinamen während der Befehle mget und get übersetzt, die ohne Angabe eines lokalen Zieldateinamens ausgegeben werden. Dieser Befehl ist nützlich, wenn Sie eine Verbindung zu einem nicht-Unix-Remotecomputer mit anderen Dateinamenkonventionen oder -praktiken herstellen. Zeichen in einem Dateinamen, die mit einem Zeichen in inchars übereinstimmen, werden durch das entsprechende Zeichen in outchars ersetzt. Wenn die Position des Zeichens in inchars länger ist als die Länge von outchars, wird das Zeichen aus dem Dateinamen gelöscht.

open host [port]

Stellt eine Verbindung zum angegebenen FTP-Server des Hosts her. Optional kann eine Portnummer angegeben werden, in diesem Fall versucht tnftp, eine Verbindung zu einem FTP-Server an diesem Port herzustellen. Wenn die Option für die automatische Anmeldung aktiviert ist (Standard), versucht tnftp auch, den Benutzer automatisch beim FTP-Server anzumelden (siehe unten).

page file Ruft die Datei ab und zeigt sie mit dem Programm an, das mit der Option `set pager` angegeben wurde.

passive [auto]

Schaltet den passiven Modus ein oder aus (wenn keine Argumente angegeben werden). Wenn auto angegeben wird, verhält es sich so, als ob FTPMODE auf auto gesetzt wäre. Wenn der passive Modus aktiviert ist (Standard), sendet tnftp für alle Datenverbindungen einen PASV-Befehl anstelle eines PORT-Befehls. Der PASV-Befehl fordert den Remote-Server auf, einen Port für die Datenverbindung zu öffnen und die Adresse dieses Ports zurückzugeben. Der Remote-Server hört auf diesem Port und der Client stellt eine Verbindung dazu her. Bei Verwendung des traditionelleren PORT-Befehls hört der Client auf einem Port und sendet diese Adresse an den Remote-Server, der sich mit ihm verbindet. Der passive Modus ist nützlich, wenn tnftp über ein Gateway-Router oder einen Host verwendet wird, der die Richtung des Datenverkehrs steuert. (Beachten Sie, dass FTP-Server zwar gemäß RFC 1123 den PASV-Befehl unterstützen müssen, dies jedoch nicht immer der Fall ist.)

pdir [remote-path]

Führt dir [remote-path] aus und zeigt das Ergebnis mit dem Programm an, das mit der Option set pager angegeben wurde.

pls [remote-path]

Führt ls [remote-path] aus und zeigt das Ergebnis mit dem Programm an, das mit der Option set pager angegeben wurde.

pmlsd [remote-path]

Führt mlsd [remote-path] aus und zeigt das Ergebnis mit dem Programm an, das mit der Option set pager angegeben wurde.

preserve Schaltet die Beibehaltung der Änderungszeiten bei abgerufenen Dateien ein oder aus.

progress Schaltet die Anzeige der Fortschrittsanzeige für die Übertragung ein oder aus. Die Fortschrittsanzeige wird für eine Übertragung deaktiviert, die `local-file` als '-' hat oder ein Befehl, der mit '|' beginnt. Weitere Informationen finden Sie unter "DATEINAMENSKONVENTIONEN". Das Aktivieren des Fortschritts deaktiviert die Anzeige der Hashwerte.

prompt Toggle interaktive Aufforderung. Die interaktive Aufforderung erfolgt während mehrerer Dateiübertragungen, um dem Benutzer die Möglichkeit zu geben, Dateien selektiv abzurufen oder zu speichern. Wenn die Aufforderung deaktiviert ist (standardmäßig aktiviert), werden bei allen `mget`- oder `mput`-Befehlen alle Dateien übertragen, und bei allen `mdelete`-Befehlen werden alle Dateien gelöscht.

Wenn die Aufforderung aktiviert ist, stehen am Prompt die folgenden Befehle zur Verfügung:

a   Antworten Sie mit „Ja“ auf die aktuelle Datei und antworten Sie automatisch mit „Ja“ auf alle verbleibenden Dateien für den aktuellen Befehl.

n   Antworten Sie mit „Nein“ und übertragen Sie die Datei nicht.

p   Antworten Sie mit „Ja“ auf die aktuelle Datei und deaktivieren Sie den Prompt-Modus (als ob `prompt off` eingegeben worden wäre).

q   Beenden Sie den aktuellen Vorgang.

y   Antworten Sie mit „Ja“ und übertragen Sie die Datei.

?   Zeigen Sie eine Hilfemeldung an.

Jede andere Antwort gilt als „Ja“ für die aktuelle Datei.

proxy ftp-Befehl
Führen Sie einen FTP-Befehl auf einer sekundären Steuerverbindung aus. Dieser Befehl ermöglicht eine gleichzeitige Verbindung zu zwei Remote-FTP-Servern, um Dateien zwischen den beiden Servern zu übertragen. Der erste `proxy`-Befehl sollte `open` sein, um die sekundäre Steuerverbindung herzustellen. Geben Sie den Befehl `proxy ?` ein, um die anderen FTP-Befehle anzuzeigen, die auf der sekundären Verbindung ausgeführt werden können. Die folgenden Befehle verhalten sich anders, wenn sie mit `proxy` versehen sind: `open` definiert während des automatischen Anmeldevorgangs keine neuen Makros, `close` löscht keine vorhandenen Makrodefinitionen, `get` und `mget` übertragen Dateien vom Host auf der primären Steuerverbindung zum Host auf der sekundären Steuerverbindung, und `put`, `mput` und `append` übertragen Dateien vom Host auf der sekundären Steuerverbindung zum Host auf der primären Steuerverbindung. Dateiübertragungen von Drittanbietern hängen von der Unterstützung des FTP-Protokolls `PASV`-Befehl durch den Server auf der sekundären Steuerverbindung ab.

put lokale_datei [remote_datei]
Speichern Sie eine lokale Datei auf der Remote-Maschine. Wenn `remote_datei` nicht angegeben ist, wird der Name der lokalen Datei verwendet, nachdem er gemäß allen `ntrans`- oder `nmap`-Einstellungen bei der Benennung der Remote-Datei verarbeitet wurde. Die Dateiübertragung verwendet die aktuellen Einstellungen für Typ, Format, Modus und Struktur.

pwd Drucken Sie den Namen des aktuellen Arbeitsverzeichnisses auf der Remote-Maschine.

quit Ein Synonym für `bye`.

quote [arg ...]
Die angegebenen Argumente werden unverändert an den Remote-FTP-Server gesendet.

rate richtung [maximum [inkrement]]
Drosseln Sie die maximale Übertragungsrate auf `maximum` Bytes pro Sekunde. Wenn `maximum` 0 ist, wird die Drosselung deaktiviert.

richtung kann einer der folgenden Werte sein:
all Beide Richtungen.
get Eingehende Übertragungen.
put Ausgehende Übertragungen.

maximum kann dynamisch geändert werden, indem `inkrement` Bytes (Standard: 1024) jedes Mal hinzugefügt werden, wenn ein bestimmtes Signal empfangen wird:

SIGUSR1 Erhöhen Sie `maximum` um `inkrement` Bytes.

SIGUSR2 Verringert das Maximum um die Anzahl der zu erhöhenden Bytes. Das Ergebnis muss eine positive Zahl sein.

Wenn kein Maximum angegeben ist, werden die aktuellen Drosselraten angezeigt.

Hinweis: Die Ratenregelung ist noch nicht für ASCII-Übertragungen implementiert.

rcvbuf Größe
Setzt die Größe des Socket-Empfangspuffers auf die angegebene Größe.

recv remote-Datei [lokale-Datei]
Ein Synonym für get.

reget remote-Datei [lokale-Datei]
reget verhält sich wie get, jedoch wird, wenn die lokale-Datei vorhanden ist und kleiner als die remote-Datei ist, davon ausgegangen, dass die lokale-Datei eine teilweise übertragene Kopie der remote-Datei ist, und die Übertragung wird ab dem scheinbaren Ausfallpunkt fortgesetzt. Dieser Befehl ist nützlich beim Übertragen sehr großer Dateien über Netzwerke, die anfällig für Verbindungsabbrüche sind.

remopts Befehl [Befehlsoptionen]
Setzt Optionen auf dem Remote-FTP-Server für den Befehl mit den Befehlsoptionen (deren Fehlen auf befehlsbasierter Basis behandelt wird). Zu den Remote-FTP-Befehlen, die Optionen unterstützen, gehören: MLST (wird für MLSD und MLST verwendet).

rename [von [nach]]
Benennt die Datei von auf der Remote-Maschine in die Datei nach um.

reset Löscht die Antwortwarteschlange. Dieser Befehl synchronisiert die Befehls-/Antwortsequenzierung mit dem Remote-FTP-Server neu. Die erneute Synchronisierung kann erforderlich sein, nachdem das FTP-Protokoll vom Remote-Server verletzt wurde.

restart Marker
Setzt den unmittelbar folgenden get- oder put-Befehl am angegebenen Marker fort. Unter Unix-Systemen ist der Marker normalerweise ein Byte-Offset in der Datei.

rhelp [Befehlsname]
Fordert Hilfe vom Remote-FTP-Server an. Wenn ein Befehlsname angegeben ist, wird dieser ebenfalls an den Server übergeben.

rmdir Verzeichnisname
Löscht ein Verzeichnis auf der Remote-Maschine.

rstatus [Remote-Datei]
Ohne Argumente wird der Status der Remote-Maschine angezeigt. Wenn eine Remote-Datei angegeben ist, wird der Status der Remote-Datei auf der Remote-Maschine angezeigt.

runique Schaltet die Speicherung von Dateien auf dem lokalen System mit eindeutigen Dateinamen ein. Wenn eine Datei bereits vorhanden ist, die den gleichen Namen wie der Ziel-lokale Dateiname für einen get- oder mget-Befehl hat, wird an den Namen „.1“ angehängt. Wenn der resultierende Name mit einer anderen vorhandenen Datei übereinstimmt, wird an den ursprünglichen Namen „.2“ angehängt. Wenn dieser Vorgang bis „.99“ fortgesetzt wird, wird eine Fehlermeldung ausgegeben, und die Übertragung findet nicht statt. Der generierte eindeutige Dateiname wird gemeldet. Beachten Sie, dass runique lokale Dateien, die von einem Shell-Befehl generiert wurden, nicht beeinflusst (siehe unten). Der Standardwert ist „aus“.

send lokale-Datei [Remote-Datei]
Ein Synonym für put.

sendport Schaltet die Verwendung von PORT-Befehlen ein. Standardmäßig versucht tnftp, einen PORT-Befehl zum Aufbau einer Verbindung für jede Datenübertragung zu verwenden. Die Verwendung von PORT-Befehlen kann Verzögerungen bei mehreren Dateiübertragungen verhindern. Wenn der PORT-Befehl fehlschlägt, verwendet tnftp den Standard-Datenport. Wenn die Verwendung von PORT-Befehlen deaktiviert ist, wird kein Versuch unternommen, PORT-Befehle für jede Datenübertragung zu verwenden. Dies ist nützlich für bestimmte FTP-Implementierungen, die PORT-Befehle ignorieren, aber fälschlicherweise angeben, dass sie akzeptiert wurden.

set [Option Wert]

Setzt die Option auf den Wert. Wenn Option und Wert nicht angegeben sind, werden alle Optionen und ihre Werte angezeigt. Die aktuell unterstützten Optionen sind:

anonpass Standardmäßig $FTPANONPASS

ftp_proxy Standardmäßig $ftp_proxy.

http_proxy Standardmäßig $http_proxy.

https_proxy Standardmäßig $https_proxy.

no_proxy Standardmäßig $no_proxy.

pager Standardmäßig $PAGER.

prompt Standardmäßig $FTPPROMPT.

rprompt Standardmäßig $FTPRPROMPT.

sslnoverify Standardmäßig $FTPSSLNOVERIFY.

site [Arg ...]

Die angegebenen Argumente werden unverändert als SITE-Befehl an den Remote-FTP-Server gesendet.

size remote-file

Gibt die Größe von remote-file auf dem Remote-Rechner zurück.

sndbuf Größe

Setzt die Größe des Socket-Sende-Puffers auf die Größe.

status Zeigt den aktuellen Status von tnftp an.

struct struktur-name

Setzt die Dateiübertragungsstruktur auf struktur-name. Die Standardeinstellung (und die einzige unterstützte) ist „file“.

sunique Schaltet das Speichern von Dateien auf dem Remote-Rechner unter eindeutigen Dateinamen ein/aus. Der Remote-FTP-Server muss das FTP-Protokoll STOU unterstützen, damit dies erfolgreich funktioniert. Der Remote-Server meldet den eindeutigen Namen. Der Standardwert ist „aus“.

system Zeigt den Typ des Betriebssystems an, das auf dem Remote-Rechner ausgeführt wird.

tenex Setzt den Dateiübertragungstyp auf den Typ, der für die Kommunikation mit TENEX-Maschinen erforderlich ist.

throttle Ein Synonym für rate.

trace Schaltet die Paketverfolgung ein/aus.

type [Typname]

Setzt den Dateiübertragungstyp auf typname. Wenn kein Typ angegeben ist, wird der aktuelle Typ ausgegeben. Der Standardtyp ist Network ASCII.

umask [neueMaske]

Setzt die Standard-Umask auf dem Remote-Server auf neueMaske. Wenn neueMaske weggelassen wird, wird die aktuelle Umask ausgegeben.

unset Option

Setzt die Option zurück. Weitere Informationen finden Sie unter „set“.

usage Befehl

Gibt die Hilfemeldung für den Befehl aus.

user Benutzername [Passwort [Konto]]

Identifiziert Sie beim Remote-FTP-Server. Wenn das Passwort nicht angegeben ist und der Server es benötigt, fordert tnftp den Benutzer dazu auf (nachdem das lokale Echo deaktiviert wurde). Wenn kein Kontofeld angegeben ist und der FTP-Server dies erfordert, wird der Benutzer dazu aufgefordert. Wenn ein Kontofeld angegeben ist, wird ein Konto-Befehl an den Remote-Server weitergeleitet, nachdem die Anmeldesequenz abgeschlossen ist, falls der Remote-Server dies nicht für die Anmeldung benötigt hat. Es sei denn, tnftp wird mit deaktiviertem „Auto-Login“ aufgerufen, wird dieser Vorgang automatisch bei der ersten Verbindung zum FTP-Server ausgeführt.

verbose Schaltet den ausführlichen Modus ein/aus. Im ausführlichen Modus werden alle Antworten vom FTP-Server dem Benutzer angezeigt. Darüber hinaus werden, wenn ausführlich aktiviert ist, bei Abschluss einer Dateiübertragung Statistiken über die Effizienz der Übertragung angezeigt. Standardmäßig ist ausführlich aktiviert.

xferbuf Größe

Setzt die Größe der Socket-Sende- und -Empfangspuffer auf die Größe.

? [Befehl]

Ein Synonym für help.

Befehlsargumente, die eingebettete Leerzeichen enthalten, können mit doppelten Anführungszeichen "" versehen werden.


Befehle, die Einstellungen ein- oder ausschalten, können ein explizites on- oder off-Argument akzeptieren, um die Einstellung entsprechend zu erzwingen.

Befehle, die eine Byte-Anzahl als Argument akzeptieren (z. B. hash, rate und xferbuf), unterstützen ein optionales Suffix am Argument, das die Interpretation des Arguments ändert. Die unterstützten Suffixe sind: b Führt keine Änderung durch. (Optional) k Kilo; multipliziert das Argument mit 1024 m Mega; multipliziert das Argument mit 1048576 g Giga; multipliziert das Argument mit 1073741824

Wenn tnftp ein SIGINFO (siehe das Argument status von stty(1)) oder SIGQUIT-Signal empfängt, während ein Transfer läuft, werden die aktuellen Transferratenstatistiken in das Standardausgabeformat geschrieben, wie in der Standard-Abschlussmeldung.

AUTOMATISCHES HERUNTERLADEN VON DATEIEN

Zusätzlich zu den Standardbefehlen unterstützt diese Version von tnftp eine automatische Herunterladungsfunktion. Um das automatische Herunterladen zu aktivieren, übergeben Sie einfach die Liste der Hostnamen/Dateien über die Befehlszeile.

Die folgenden Formate sind gültige Syntax für ein automatisches Herunterladungselement:

[user@]host:[path][/]
„Klassisches“ FTP-Format.

Wenn path ein Glob-Zeichen enthält und das Globen aktiviert ist (siehe glob), wird das Äquivalent von mget path ausgeführt.

Wenn die Verzeichnis-Komponente von path keine Glob-Zeichen enthält, wird sie lokal mit dem Namen basename (siehe basename(1)) von path im aktuellen Verzeichnis gespeichert. Andernfalls wird der vollständige Remote-Name als lokaler Name relativ zum lokalen Stammverzeichnis verwendet.

ftp://[user[:password]@]host[:port]/path[/][;type=type]

Eine FTP-URL, die mit dem FTP-Protokoll abgerufen wird, wenn ftp_proxy nicht definiert ist. Andernfalls wird die URL über HTTP unter Verwendung des in set ftp_proxy definierten Proxys übertragen. Wenn ftp_proxy nicht definiert ist und user angegeben wird, wird als user angemeldet. Verwenden Sie in diesem Fall password, falls angegeben, andernfalls fordern Sie den Benutzer dazu auf.

Wenn ein Suffix von ';type=A' oder ';type=I' angegeben wird, erfolgt die Übertragung als ASCII bzw. binär. Der Standard-Übertragungs-Typ ist binär.

Um RFC 3986 zu entsprechen, interpretiert tnftp den Pfadteil einer ftp://-Auto-Fetch-URL wie folgt:

Das / unmittelbar nach host[:port] wird als Trennzeichen vor dem Pfad und nicht als Teil des Pfads selbst interpretiert.

Der Pfad wird als durch /-Zeichen getrennte Liste von Namenskomponenten interpretiert. Für alle Komponenten außer der letzten führt tnftp das Äquivalent eines cd-Befehls aus. Für die letzte Pfadkomponente führt tnftp das Äquivalent eines get-Befehls aus.

Leere Namenskomponenten, die durch // im Pfad oder durch ein zusätzliches / am Anfang des Pfads entstehen, führen das Äquivalent eines cd-Befehls ohne Verzeichnisnamen aus. Dies ist wahrscheinlich nicht nützlich.

Alle %XX-Codes (gemäß RFC 3986) innerhalb der Pfadkomponenten werden decodiert, wobei XX einen Zeichencode in hexadezimaler Form darstellt. Diese Decodierung findet statt, nachdem der Pfad in Komponenten aufgeteilt wurde, aber bevor jede Komponente in den Äquivalenten eines cd- oder get-Befehls verwendet wird. Einige häufig verwendete Codes sind %2F (was / darstellt) und %7E (was ~ darstellt).


Die obige Interpretation hat die folgenden Konsequenzen:

Der Pfad wird relativ zum Standard-Anmeldeverzeichnis des angegebenen Benutzers oder des „anonymen“ Benutzers interpretiert. Wenn das Verzeichnis / erforderlich ist, verwenden Sie ein führendes Pfadpräfix von %2F. Wenn das Home-Verzeichnis eines Benutzers erforderlich ist (und der Remote-Server die Syntax unterstützt), verwenden Sie ein führendes Pfadpräfix von %7Euser/. Um beispielsweise /etc/motd von localhost als Benutzer myname mit dem Passwort mypass abzurufen, verwenden Sie ftp://myname:mypass@localhost/%2fetc/motd.

Die genauen cd- und get-Befehle können durch sorgfältige Wahl, wo \ und wo %2F (oder %2f) verwendet wird, gesteuert werden. Beispielsweise entsprechen die folgenden URLs den entsprechenden Befehlen:

^ tp://host/dir1/dir2/file ^ d dir1, cd dir2, get file.

^ tp://host/%2Fdir1/dir2/file ^ d /dir1, cd dir2, get file.

^ tp://host/dir1%2Fdir2/file ^ d dir1/dir2, get file.

Sie müssen die entsprechenden Zugriffsberechtigungen für jedes der Zwischenverzeichnisse haben, die in der Entsprechung eines cd-Befehls verwendet werden.

^ ttp://[user[:password]@]host[:port]/path Eine HTTP-URL, abgerufen mit dem HTTP-Protokoll. Wenn http_proxy definiert ist, wird es als URL zu einem HTTP-Proxy-Server verwendet. Wenn für den Abruf von path eine HTTP-Authentifizierung erforderlich ist und user (und optional password) in der URL enthalten ist, werden diese für den ersten Authentifizierungsversuch verwendet.

^ ttps://[user[:password]@]host[:port]/path Eine HTTPS-URL, abgerufen mit dem HTTPS-Protokoll. Wenn https_proxy definiert ist, wird es als URL zu einem HTTPS-Proxy-Server verwendet. Wenn für den Abruf von path eine HTTPS-Authentifizierung erforderlich ist und user (und optional password) in der URL enthalten ist, werden diese für den ersten Authentifizierungsversuch verwendet. Derzeit gibt es keine Zertifikatsvalidierung und -verifizierung.

^ ile:///path Eine lokale URL, kopiert von /path auf dem lokalen Host.

^ bout:topic Zeigt Informationen zu topic an; es wird keine Datei für dieses automatisch abgerufene Element abgerufen. Unterstützte Werte sind:

^ bout:ftp Informationen zu tnftp.

^ bout:version Die Version von tnftp. Nützlich, um sie bei der Meldung von Problemen anzugeben.

Sofern nicht anders angegeben, wird die Datei (und -o output ist nicht angegeben) im aktuellen Verzeichnis als basename(1) von path gespeichert. Beachten Sie, dass, wenn eine HTTP-Weiterleitung empfangen wird, die Abfrage erneut mit der neuen Ziel-URL, die vom Server bereitgestellt wird, versucht wird, wobei ein entsprechend neuer Pfad verwendet wird. Die Verwendung eines expliziten -o output wird empfohlen, um das Schreiben in unerwartete Dateinamen zu vermeiden.

Wenn ein klassisches Format oder ein FTP-URL-Format ein abschließendes / oder eine leere Pfadkomponente hat, verbindet sich tnftp mit der Site und wechselt in das Verzeichnis, das als Pfad angegeben ist, und lässt den Benutzer im interaktiven Modus für weitere Eingaben. Dies funktioniert nicht, wenn ftp_proxy verwendet wird.


Direkte HTTP-Übertragungen verwenden HTTP 1.1. Für proxierte FTP- und HTTP-Übertragungen wird HTTP 1.0 verwendet.

Wenn die Option -R angegeben wird, werden alle automatischen Abrufversuche, die nicht über die FTP- oder HTTP-Proxys erfolgen, neu gestartet. Für FTP wird dies durch die Verwendung von reget anstelle von get implementiert. Für HTTP wird dies durch die Verwendung der HTTP/1.1-Direktive Range: bytes= implementiert.

Wenn eine WWW- oder Proxy-WWW-Authentifizierung erforderlich ist, werden Sie aufgefordert, einen Benutzernamen und ein Passwort einzugeben, um sich zu authentifizieren.

Beim Angeben von IPv6-numerischen Adressen in einer URL müssen Sie die Adresse in eckige Klammern setzen. Z. B. ftp://[::1]:21/. Dies liegt daran, dass Doppelpunkte sowohl in IPv6-numerischen Adressen als auch als Trennzeichen für die Portnummer verwendet werden.

ABBRECHEN EINER DATEIÜBERTRAGUNG

Um eine Dateiübertragung abzubrechen, verwenden Sie die Terminal-Interrupt-Taste (normalerweise Strg+C). Ausgehende Übertragungen werden sofort gestoppt. Bei eingehenden Übertragungen wird der FTP-Befehl ABOR an den Remote-Server gesendet, um alle weiteren empfangenen Daten zu verwerfen. Die Geschwindigkeit, mit der dies geschieht, hängt von der Unterstützung des Remote-Servers für die ABOR-Verarbeitung ab. Wenn der Remote-Server den ABOR-Befehl nicht unterstützt, erscheint die Eingabeaufforderung erst, wenn der Remote-Server mit dem Senden der angeforderten Datei fertig ist.

Wenn die Terminal-Interrupt-Tastenkombination verwendet wird, während tnftp auf eine Antwort vom Remote-Server für die ABOR-Verarbeitung wartet, wird die Verbindung geschlossen. Dies unterscheidet sich vom traditionellen Verhalten (das den Terminal-Interrupt während dieser Phase ignoriert), wird aber als nützlicher angesehen.

DATEINAMENSKONVENTIONEN

Dateien, die als Argumente für tnftp-Befehle angegeben werden, werden gemäß den folgenden Regeln verarbeitet.

      Wenn der Dateiname `-` angegeben wird, wird die Standardeingabe (zum Lesen) oder die Standardausgabe (zum Schreiben) verwendet.

      Wenn das erste Zeichen des Dateinamens `|` ist, wird der Rest des Arguments als Shell-Befehl interpretiert. tnftp startet dann eine Shell und verwendet `popen(3)` mit dem angegebenen Argument und liest (schreibt) von der Standardausgabe (Standardeingabe). Wenn der Shell-Befehl Leerzeichen enthält, muss das Argument in Anführungszeichen gesetzt werden; z. B. `| ls -lt`. Ein besonders nützliches Beispiel für diesen Mechanismus ist: `dir "" |more`.

      Wenn die obigen Prüfungen fehlschlagen und die Globbing-Funktion aktiviert ist, werden lokale Dateinamen gemäß den in csh(1) verwendeten Regeln erweitert; siehe den Befehl `glob`. Wenn der tnftp-Befehl eine einzelne lokale Datei erwartet (z. B. `put`), wird nur der erste durch die Globbing-Operation generierte Dateiname verwendet.

      Für `mget`-Befehle und `get`-Befehle mit nicht angegebenen lokalen Dateinamen ist der lokale Dateiname der Remote-Dateiname, der durch eine `case`, `ntrans`- oder `nmap`-Einstellung geändert werden kann. Der resultierende Dateiname kann dann geändert werden, wenn `runique` aktiviert ist.

      Für `mput`-Befehle und `put`-Befehle mit nicht angegebenen Remote-Dateinamen ist der Remote-Dateiname der lokale Dateiname, der durch eine `ntrans`- oder `nmap`-Einstellung geändert werden kann. Der resultierende Dateiname kann dann vom Remote-Server geändert werden, wenn `sunique` aktiviert ist.

DATEIÜBERTRAGUNGSPARAMETER

Die FTP-Spezifikation legt viele Parameter fest, die eine Dateiübertragung beeinflussen können. Der Typ kann einer von „ascii“, „image“ (binär), „ebcdic“ und „lokale Bytegröße“ sein (hauptsächlich für PDP-10 und PDP-20). tnftp unterstützt die Dateitypen „ascii“ und „image“ sowie die lokale Bytegröße 8 für Tenex-Modus-Übertragungen.

tnftp unterstützt nur die Standardwerte für die restlichen Dateiübertragungsparameter: Modus, Form und Struktur.

DIE .netrc-DATEI

Die .netrc-Datei enthält Anmelde- und Initialisierungsinformationen, die vom automatischen Anmeldeverfahren verwendet werden. Sie befindet sich im Home-Verzeichnis des Benutzers, es sei denn, dies wird mit der Option -N netrc überschrieben oder in der Umgebungsvariablen NETRC angegeben. Die folgenden Token werden erkannt; sie können durch Leerzeichen, Tabulatoren oder Zeilenumbrüche getrennt werden:

maschinenname

Identifiziert einen Remote-Maschinennamen. Das automatische Anmeldeverfahren durchsucht die .netrc-Datei nach einem Maschinen-Token, das mit der Remote-Maschine übereinstimmt, die in der tnftp-Befehlszeile oder als Argument für den Befehl „open“ angegeben ist. Sobald eine Übereinstimmung gefunden wurde, werden die nachfolgenden Token in der .netrc-Datei verarbeitet, bis das Ende der Datei erreicht ist oder ein weiteres Maschinen- oder Default-Token gefunden wird.

standard

Dies ist dasselbe wie Maschinenname, außer dass „standard“ mit jedem Namen übereinstimmt. Es kann nur ein Standard-Token geben, und es muss nach allen Maschinen-Token stehen. Dies wird normalerweise wie folgt verwendet:

standard login anonymous password user@site

Dadurch erhält der Benutzer eine automatische anonyme FTP-Anmeldung bei Maschinen, die nicht in .netrc angegeben sind. Dies kann durch die Verwendung des Flags -n überschrieben werden, um die automatische Anmeldung zu deaktivieren.

login name

Identifiziert einen Benutzer auf der Remote-Maschine. Wenn dieses Token vorhanden ist, initiiert das automatische Anmeldeverfahren eine Anmeldung mit dem angegebenen Namen.

password string

Liefert ein Passwort. Wenn dieses Token vorhanden ist, liefert das automatische Anmeldeverfahren die angegebene Zeichenkette, wenn der Remote-Server ein Passwort als Teil des Anmeldeverfahrens benötigt. Beachten Sie, dass tnftp das automatische Anmeldeverfahren abbricht, wenn dieses Token in der .netrc-Datei für einen anderen Benutzer als „anonymous“ vorhanden ist und die .netrc-Datei für andere als den Benutzer lesbar ist.

account string

Liefert ein zusätzliches Account-Passwort. Wenn dieses Token vorhanden ist, liefert das automatische Anmeldeverfahren die angegebene Zeichenkette, wenn der Remote-Server ein zusätzliches Account-Passwort benötigt, oder das automatische Anmeldeverfahren initiiert einen ACCT-Befehl, wenn dies nicht der Fall ist.

macdef name

Definiert ein Makro. Dieses Token funktioniert wie der tnftp-Befehl macdef. Ein Makro wird mit dem angegebenen Namen definiert; sein Inhalt beginnt mit der nächsten Zeile in der .netrc-Datei und setzt sich fort, bis eine leere Zeile (aufeinanderfolgende Zeilenumbruchzeichen) gefunden wird. Wie bei den anderen Token in der .netrc-Datei gilt ein macdef nur für die vorhergehende Maschinen-Definition. Ein Macdef-Eintrag kann nicht von mehreren Maschinen-Definitionen verwendet werden; er muss vielmehr nach jeder Maschine definiert werden, mit der er verwendet werden soll. Wenn ein Makro namens „init“ definiert ist, wird es automatisch als letzter Schritt im automatischen Anmeldeverfahren ausgeführt. Zum Beispiel:


    default
    macdef init
    epsv4 off

    gefolgt von einer Leerzeile.

BEFEHLSZEILEN-BEARBEITUNG

    tnftp unterstützt die interaktive Befehlszeilen-Bearbeitung über die Bibliothek `editline(3)`. Sie wird mit dem
    Befehl `edit` aktiviert und ist standardmäßig aktiviert, wenn die Eingabe von einem TTY stammt. Vorherige Zeilen können mit den Pfeiltasten abgerufen und bearbeitet werden, und es können auch andere

GNU Emacs-ähnliche Bearbeitungstasten verwendet werden.

Die Bibliothek editline(3) wird mit einer Datei .editrc konfiguriert – weitere Informationen finden Sie in editrc(5).

Für tnftp ist eine zusätzliche Tastenbelegung verfügbar, um eine kontextsensitive Befehls- und Dateinamenergänzung (einschließlich der Vervollständigung von Remote-Dateien) bereitzustellen. Um dies zu verwenden, binden Sie eine Taste an den Befehl editline(3) ftp-complete. Standardmäßig ist dies an die TAB-Taste gebunden.

BEFEHLSZEILEN-AUFFORDERUNG

Standardmäßig zeigt tnftp dem Benutzer eine Befehlszeilen-Aufforderung von ftp> an. Dies kann mit dem Befehl set prompt geändert werden.

    Eine Aufforderung kann mit dem Befehl `set rprompt` auf der rechten Seite des Bildschirms (nach der Befehlseingabe) angezeigt werden.

Die folgenden Formatierungssequenzen werden durch die angegebenen Informationen ersetzt:

    %/   Das aktuelle Remote-Arbeitsverzeichnis.

    %c[[0]n], %.[[0]n]

Die letzte Komponente des aktuellen Remote-Arbeitsverzeichnisses oder n letzte Komponenten, wenn eine Ziffer n angegeben wird. Wenn n mit 0 beginnt, wird die Anzahl der übersprungenen Komponenten vor der letzten Komponente (oder den letzten Komponenten) in folgendem Format angezeigt: /<Anzahl>letzte (für %c) oder ...letzte (für %.).

    %M   Der Remote-Hostname.

    %m   Der Remote-Hostname bis zum ersten Punkt `.`.

    %n   Der Remote-Benutzername.

    %%   Ein einzelnes Prozentzeichen `%`.

UMGEBUNG

    tnftp verwendet die folgenden Umgebungsvariablen.

    FTPANONPASS    Passwort, das bei einer anonymen FTP-Übertragung gesendet wird. Standardmäßig ist dies `\`whoami\`@`.

    FTPMODE        Überschreibt den Standard-Betriebsmodus. Unterstützte Werte sind:

    active   Nur aktiver FTP-Modus

    auto     Automatische Bestimmung von passivem oder aktivem Modus (dies ist die Standardeinstellung)

    gate     Gate-FTP-Modus

    passive  Nur passiver FTP-Modus

    FTPPROMPT      Befehlszeilen-Aufforderung, die verwendet werden soll. Standardmäßig ist dies `ftp> `. Weitere Informationen finden Sie unter „BEFEHLSZEILEN-AUFFORDERUNG“.

    FTPRPROMPT     Befehlszeilen-Aufforderung auf der rechten Seite, die verwendet werden soll. Standardmäßig ist dies eine leere Zeichenkette. Weitere Informationen finden Sie unter

„BEFEHLSZEILEN-AUFFORDERUNG“.

    FTPSERVER      Host, der als Gate-FTP-Server verwendet werden soll, wenn Gate aktiviert ist.

    FTPSERVERPORT  Port, der bei der Verbindung zum Gate-FTP-Server verwendet werden soll, wenn Gate aktiviert ist. Standardmäßig ist dies
    der Port, der von einer `getservbyname(3)`-Abfrage von „ftpgate/tcp“ zurückgegeben wird.

    FTPUSERAGENT   Der Wert, der für den HTTP-User-Agent-Header gesendet werden soll.

    FTPSSLNOVERIFY

Auf 1 gesetzt, um SSL-Zertifikate nicht zu überprüfen.

    HOME           Für den Standardspeicherort einer Datei `.netrc`, falls diese vorhanden ist.

NETRC          Ein alternativer Speicherort für die .netrc-Datei.

PAGER          Wird von verschiedenen Befehlen zum Anzeigen von Dateien verwendet. Standardmäßig `more(1)`, wenn leer oder nicht gesetzt.

SHELL          Für die Standardshell.

ftp_proxy      URL eines FTP-Proxys, der bei FTP-URL-Anforderungen verwendet werden soll (wenn nicht definiert, wird das Standard-FTP-Protokoll verwendet).

Siehe `http_proxy` für weitere Hinweise zur Proxy-Nutzung.

http_proxy     URL eines HTTP-Proxys, der bei HTTP-URL-Anforderungen verwendet werden soll. Wenn eine Proxy-Authentifizierung erforderlich ist und ein Benutzername und ein Passwort in dieser URL enthalten sind, werden diese automatisch beim ersten Authentifizierungsversuch am Proxy verwendet.

Wenn „unsichere“ URL-Zeichen in dem Benutzernamen oder Passwort erforderlich sind (z. B. „@“ oder „/“), codieren Sie diese mit der RFC 3986-Codierung „%XX“.

Beachten Sie, dass die Verwendung eines Benutzernamens und eines Passworts in `ftp_proxy` und `http_proxy` möglicherweise nicht mit anderen Programmen kompatibel ist, die diese verwenden (z. B. `lynx(1)`).

HINWEIS: Dies wird nicht für interaktive Sitzungen verwendet, sondern nur für Befehlszeilenabrufe.

https_proxy    URL eines HTTPS-Proxys, der bei HTTPS-URL-Anforderungen verwendet werden soll.

Siehe `http_proxy` für weitere Hinweise zur Proxy-Nutzung.

no_proxy       Eine durch Leerzeichen oder Kommas getrennte Liste von Hosts (oder Domänen), für die keine Proxy-Verwendung erfolgen soll. Jeder Eintrag kann optional ein nachgestelltes „:port“ haben, wodurch die Übereinstimmung auf Verbindungen zu diesem Port beschränkt wird.

ERWEITERTER PASSIVER MODUS UND FIREWALLS

Einige Firewall-Konfigurationen erlauben es tnftp nicht, den erweiterten passiven Modus zu verwenden. Wenn Sie feststellen, dass selbst ein einfaches ls hängen bleibt, nachdem eine Nachricht wie diese ausgegeben wurde:

229Entering Extended Passive Mode (|||58551|)

dann müssen Sie den erweiterten passiven Modus mit `epsv4 off` deaktivieren. Siehe den obigen Abschnitt „Die .netrc-Datei“ für ein Beispiel, wie dies automatisch erfolgen kann.

SIEHE AUCH

getservbyname(3), editrc(5), services(5), ftpd(8)

STANDARDS

`tnftp` versucht, den folgenden Standards zu entsprechen:

RFC 959   File Transfer Protocol

RFC 1123  Requirements for Internet Hosts - Application and Support

RFC 1635  How to Use Anonymous FTP

RFC 2389  Feature negotiation mechanism for the File Transfer Protocol

RFC 2428  FTP Extensions for IPv6 and NATs

RFC 2616  Hypertext Transfer Protocol -- HTTP/1.1

RFC 2822  Internet Message Format

RFC 3659  Extensions to FTP

RFC 3986  Uniform Resource Identifier (URI)

HISTORIE

Der Befehl tnftp wurde in 4.2BSD eingeführt.

Verschiedene Funktionen wie Befehlszeilenbearbeitung, kontextsensitive Befehls- und Dateivervollständigung, dynamische Fortschrittsanzeige, automatisches Abrufen von Dateien und URLs, Erhaltung der Änderungszeit, Übertragungsratenbegrenzung, konfigurierbare Befehlszeilenaufforderung und andere Verbesserungen gegenüber dem Standard-BSD-tnftp wurden in NetBSD 1.3 und späteren Versionen von Luke Mewburn ⟨_\⟩ implementiert.

Die IPv6-Unterstützung wurde vom WIDE/KAME-Projekt hinzugefügt (ist aber möglicherweise nicht in allen Nicht-NetBSD-Versionen dieses Programms vorhanden, je nachdem, ob das Betriebssystem IPv6 auf ähnliche Weise wie KAME unterstützt).

FEHLER

Die korrekte Ausführung vieler Befehle hängt von der korrekten Funktion des Remote-Servers ab.

Ein Fehler in der Behandlung von Wagenrückläufen im 4.2BSD-ASCII-Modus-Übertragungscode wurde behoben. Diese Korrektur kann dazu führen, dass binäre Dateien, die an 4.2BSD-Server im ASCII-Typ übertragen werden, nicht korrekt übertragen werden. Vermeiden Sie dieses Problem, indem Sie den Binärbildtyp verwenden.

tnftp geht davon aus, dass alle IPv4-zugeordneten Adressen (IPv6-Adressen in der Form ::ffff:10.1.1.1) IPv4-Ziele angeben, die von AF_INET-Sockets verarbeitet werden können. In bestimmten IPv6-Netzwerkkonfigurationen ist diese Annahme jedoch nicht korrekt. In einer solchen Umgebung müssen IPv4-zugeordnete Adressen direkt an AF_INET6-Sockets übergeben werden. Wenn Ihr Standort beispielsweise einen SIIT-Translator für die IPv6-zu-IPv4-Übersetzung verwendet, kann tnftp Ihre Konfiguration nicht unterstützen.