FTP(1) | General Commands Manual | FTP(1) |
ftp
— ARPANET'owy
program do przesyłania plików
ftp
[-v
]
[-d
] [-i
]
[-n
] [-g
]
[-q
] [host]
Uwaga! To tłumaczenie może być nieaktualne!
Ftp
jest interfejsem użytkownika do
ARPANET'owego standardu - Protokołu Przesyłania Plików
(File Transfer Protocol). Ten program pozwala użytkownikom
przesyłać pliki na i z odległego miejsca w sieci.
Opcje mogą być podawane w linii poleceń lub w interpretatorze komend.
-v
ftp
pokazywać
wszystkie odpowiedzi z odległego serwera, a także statystyki
o transferze danych.-n
ftp
od próbowania
“auto-logina” przy pierwszym połączeniu.
Jeśli auto-login jest włączony,
ftp
sprawdzi czy w pliku
.netrc (zobacz niżej) w katalogu
użytkownika istnieje wpis opisujący konto na odległej
maszynie. Jeśli wpis nie istnieje, ftp
spyta o login na odległym serwerze (standardowo jest to nazwa
użytkownika, na komputerze lokalnym) i jeśli będzie
potrzebne o hasło i konto na które się
zalogować.-i
-d
-g
-q
Host, z którym ftp
ma się
komunikować może być podany w linii poleceń.
Jeśli tak się stanie, ftp
od razu
spróbuje się połączyć z serwerem FTP na
tym hoście. W przeciwnym wypadku ftp
wejdzie
do swojego interpretatora poleceń i będzie czekał na
polecenia od użytkownika. Kiedy ftp
czeka na
polecenia od użytkownika,
‘ftp>
’ jest pokazywane na ekranie.
Następujące komendy są rozpoznawane przez
ftp
:
!
[komenda [arg]]$
nazwa-makra [arg]macdef
. Argumenty są
przekazywane do makra bez rozszerzania nazw (unglobbed).konto
[hasło]append
plik-lokalny [plik-zdalny]ntrans
lub nmap
. Transfer
pliku korzysta z ustawień type
,
format
, mode
, i
structure
.ascii
type
) na sieciowy ASCII. Jest to standardowe
ustawienie.bell
binary
type
) na binarny.bye
ftp
. Koniec pliku także zakończy
sesję i skończy działanie.case
mget
.
Kiedy case
jest włączone
(standardowo wyłączone), duże litery w nazwach
plików na odległym komputerze zostaną zmienione na
małe litery podczas zapisywania w katalogu lokalnym.cd
zdalny-katalogcdup
chmod
prawa nazwa-plikuclose
cr
cr
jest włączone (standardowo),
powrót karetki (cr) jest usuwane zgodnie z ogranicznikiem
pojedynczej linii systemu UNIX. Rekordy w
systemach nie-UNIX mogą zawierać
linie. Ta struktura pozostanie tylko wtedy, kiedy
cr
jest wyłączone.delete
plik-zdalnydebug
[wartość-debuga]ftp
pokazuje
każdą linię wysyłaną do serwera,
poprzedzoną ciągiem
‘-->
’dir
[remote-directory]
[local-file]ftp
poprosi użytkownika o
weryfikację ostatniego argumentu, będącego docelowym
plikiem lokalny do którego zostanie zapisany wynik
dir
. Jeśli żaden katalog nie
zostanie podany, używany jest aktualny katalog na odległym
serwerze. Jeśli żaden lokalny plik nie zostanie podany lub
local-file jest -
, wynik
zostanie pokazany na terminalu.disconnect
forma
formatformę
przesyłania na
format. Standardowym formatem jest
“file”.get
plik-zdalny [plik-lokalny]case
, ntrans
,
i nmap
. Aktualne ustawienia
type
, form
,
mode
, i structure
są używane przy przesyłaniu pliku.glob
mdelete
, mget
i
mput
. Jeśli rozszerzanie jest
wyłączone przy pomocy glob
,
argumenty będące nazwami plików nie są
rozszerzane. Rozszerzanie dla mput
jest wykonywane
tak jak w csh(1). Dla mdelete
i
mget
, każdy odległy plik jest
rozszerzany osobno na odległym serwerze i lista plików nie
jest łączona. Rozszerzanie nazw katalogów jest inne
od rozszerzania nazw katalogów: dokładny rezultat
zależy od odległego systemu operacyjnego i serwera ftp.
Można go wcześniej podglądnąć przy
pomocy ‘mls remote-files -
’ Uwaga:
mget
i mput
nie
mają za zadanie przesyłać całe podkatalogi z
plikami. To może być wykonywane przez przesyłanie
archiwów tar(1) tych podkatalogów (w
trybie binarnym).hash
help
[komenda]ftp
pokazuje listę wszystkich
poleceń.idle
[sekundy]lcd
[katalog]ls
[remote-directory]
[local-file]ls -l
’. (Zobacz także
nlist
.) Jeśli nie podano
remote-directory aktualny katalog roboczy jest
używany. Jeśli interaktywne pytania są
włączone, ftp
każe
użytkownikowi potwierdzić, że ostatni argument
rzeczywiście jest docelowym plikiem lokalnym do którego
zostanie zapisany wynik polecenia ls
. Jeśli
nie podano pliku lokalnego lub local-file jest
‘-
’, lista pokazywana jest w oknie
terminala.macdef
nazwa-makraclose
. Przy
wykonywaniu makra, znaki `$' i `\' interpterowane są jako znaki
specjalne. Liczba lub liczby poprzedzone znakiem `$' są zamieniane
na odpowiednie argumenty z linii wywołującej makro. `i'
poprzedzone przez `$' sygnalizuje, że makro ma zostać
zapętlone. Przy pierwszym przejściu `$i' zamieniane jest
przez pierwszy argument w linii wywołania makra, przy drugim
przejściu zamieniany jest przez drugi argument, itd. Dowolny znak
poprzedzony przez `\' zamieniany jest na ten znak. Możesz
użyć `\' aby zapobiec specjalnemu traktowaniu znaku
`$'.mdelete
[zdalne-pliki]mdir
zdalne-pliki plik-lokalnydir
, tylko, że można
podać wiele plików. Jeśli włączone
są interaktywne pytania, ftp
każe
użytkownikowi potwierdzić, że ostatni argument
rzeczywiście jest plikiem lokalnym do którego zostanie
zapisany wynik polecenia mdir
.mget
zdalne-plikiget
dla
każdego pliku otrzymanego w ten sposób. Zobacz także
glob
, gdzie opisane są detale rozszerzania
nazw. Każdy z tych plików zostanie przetworzony zgodnie z
ustawieniami case
, ntrans
,
i nmap
. Pliki są przesyłane do
lokalnego aktualnego katalogu, który może zostać
zmieniony przy pomocy ‘lcd katalog
’;
nowy katalog lokalny może zostać utworzony przez
‘! mkdir katalog
’.mkdir
nazwa-katalogumls
zdalne-pliki plik-lokalnynlist
, poza tym, że może
być podane wiele odległych plików oraz katalog
lokalny plik-lokalny musi zostać podany.
Jeśli włączone są interaktywne pytania,
ftp
każe użytkownikowi
potwierdzić, że ostatni argument rzeczywiście jest
plikiem lokalnym, do którego zostanie zapisany wynik polecenia
mls
.tryb
[nazwa-trybu]tryb
przesyłania na
nazwę-trybu. Standardowo jest to tryb
“stream”.modtime
nazwa-plikumput
pliki-lokalneput
dla każdego
otrzymanego pliku. Zobacz także glob
, gdzie
opisane są detale rozszerzania nazw. Każdy z tych
plików zostanie przetworzony zgodnie z ustawieniami
ntrans
, i nmap
.newer
nazwa-pliku [plik-lokalny]nlist
[zdalny-katalog]
[plik-lokalny]ftp
każe użytkownikowi
potwierdzić, że ostatni argument jest plikiem lokalnym, do
którego zostanie zapisany wynik polecenia
nlist
. Jeśli lokalny plik nie został
podany lub podano -
, wynik pokazywany jest na
terminalu.nmap
[inwzorzec outwzorzec]mput
oraz put
wydanych bez
podanych plików odległych. Jeśli podano argumenty,
pliki lokalne są mapowane podczas komend
mget
oraz get
wydanych bez
podanych plików lokalnych. To polecenie jest przydatne podczas
połączeń z systemami
nie-UNIX z inną
konwencją nazywania plików. Mapowanie robione jest ze
wzorców inwzorzec i
outwzorzec. [Inwzorzec] jest
wzorem dla plików przychodzących (które mogły
już być przetworzone zgodnie z ustawieniami
ntrans
i case
). Zmienne
wzorcowe są robione przez umieszczanie sekwencji `$1', `$2', ...,
`$9' w inwzorzec. Użycie `\' zapobiega
specjalnemu traktowaniu znaku `$'. Wszystkie inne znaki są
traktowane dosłownie i używane do określenia
wartości zmiennych nmap
[inwzorzec]. Np. podanie jako
inwzorzec $1.$2 oraz jako odległą
nazwę pliku "mydata.data", $1 przyjmie
wartość "mydata", a $2 przyjmie
wartość "data". Outwzorzec
określa rezultat po mapowaniu. Sekwencje `$1', `$2', ...., `$9'
są zamieniane przez wartości wynikające ze wzorca
inwzorzec. Ciąg `$0' jest zamieniany przez
oryginalną nazwę pliku. Dodatkowo ciąg
‘[seq1,
seq2]
’ zamieniany jest przez
[seq1] jeśli seq1 nie
jest puste; w przeciwnym wypadku zamieniane jest na
seq2. Np. polecenie
nmap $1.$2.$3 [$1,$2].[$2,file]
da wynik "myfile.data" dla danych nazw "myfile.data" oraz "myfile.data.old", "myfile.file" dla plików wejściowych "myfile" i "myfile.myfile" dla ".myfile". Odstępy mogą być zawarte w outwzorzec, tak jak w przykładzie: `nmap $1 sed "s/ *$//" > $1' . Użycie znaku `\' zapobiega specjalnemu traktowaniu znaków `$','[','[', oraz `,'.
ntrans
[inznaki [outznaki]]mput
i
put
tłumaczeniu. (o ile nie podano jawnie
zdalnej nazwy pliku.) Podobnie ma się sprawa z działaniem
komend mget
i get
.
Komenda ta jest przydatna do podłączania się do
nie-UNIX owego komputera o
innych konwencjach nazywania plików. Znaki nazwy pliku,
odpowiadające znakom w inznaki są
podmieniane na ich odpowiedniki w outznaki.
Jeśli pozycja znaku w inznaki jest dalsza
niż długość outznaki, to
znak jest kasowany z nazwy pliku.open
host [port]ftp
spróbuje
zestawić połączenie z serwerem FTP na
określonym porcie. Jeśli włączona jest opcja
auto-login
(a jest to domyślne),
ftp
spróbuje też automatycznie
zalogować użytkownika na serwer FTP (patrz
niżej).prompt
mget
i
mput
będą przenosić wszystkie
pliki; mdelete
również nie
będzie oszczędzać niczego.proxy
komenda-ftpproxy
powinna być
open
, do zestawienia drugorzędnego
połączenia. Aby zobaczyć listę komend ftp,
dostępnych w drugorzędnym połączeniu, wpisz
"proxy ?". Następujące komendy zachowują
się inaczej po poprzedzeniu przez proxy
:
open
nie definiuje nowych makr podczas procesu
autologowania, close
nie kasuje
istniejących definicji makr, get
i
mget
przesyłają pliki z hosta w
połączeniu pierwszorzędnym na host w
połączeniu drugorzędnym, a
put
, mput
, i
append
przesyłają pliki z hosta w
połączeniu drugorzędnym na host w
połączeniu pierwszorzędnym. Trzeciorzędne
transfery plików zależą od obsługiwania przez
serwer połączenia drugorzędnego komendy
PASV
protokołu ftp.put
plik-lokalny [plik-zdalny]ntrans
lub
nmap
). Transfer plików używa
bieżących ustawień dla type
,
format
, mode
, i
structure
.pwd
quit
bye
.quote
arg1 arg2 ...recv
plik-zdalny [plik-lokalny]reget
plik-zdalny [plik-lokalny]remotehelp
[nazwa-komendy]remotestatus
[nazwa-pliku]rename
[z] [na]reset
restart
markerget
lub
put
pod wskazanym markerem.
Na systemach UNIX marker jest zazwyczaj offsetem
bajtowym w pliku.rmdir
nazwa-katalogurunique
get
i
mget
dopiszą do nowej nazwy pliku
".1". Jeśli i ta nazwa jest nazwą
istniejącego pliku, do nazwy oryginalnej doklejane jest
".2". Proces ten trwa aż do ".99".
Później drukowany jest komunikat o błędzie i
transfer dalej nie zachodzi. Generowanie unikalnej nazwy pliku
będzie raportowane. Zauważ, że
runique
nie wpływa na pliki lokalne,
wygenerowane komendą powłoki (patrz niżej).
Domyślnie jest to wyłączone.send
plik-lokalny [plik-zdalny]sendport
PORT
.
Domyślnie ftp
próbuje
używać komendy PORT
podczas
nawiązywania połączenia dla każdego transferu
danych. Używanie komendy PORT
może
zapobiec opóźnieniom podczas wielokrotnych transferów
plików. Jeśli komenda PORT
zawiedzie, ftp
użyje domyślnego
portu danych. Gdy używanie komendy PORT
jest wyłączone, nie są podejmowane żadne
próby w kierunku używania komend
PORT
podczas transferów plików. Jest
to przydatne dla niektórych implementacji FTP , które
ignorują komendy PORT
, lecz
nieprawidłowo wskazują, że zostały one
przyjęte.site
arg1 arg2 ...SITE
.size
nazwa-plikustatus
ftp
.struct
[nazwa-struktury]sunique
STOU
protokołu FTP. Zdalny serwer będzie zgłaszał
unikalne nazwy. Domyślnie jest to wyłączone.system
tenex
trace
type
[nazwa-typu]typ
transferu plików na
nazwę-typu. Jeśli nie podano typu,
drukowany jest aktualnie ustawiony. Domyślnym typem jest sieciowy
ASCII.umask
[nowamaska]user
nazwa-użytkownika
[hasło] [konto]ftp
zapyta o nie (po wyłączeniu
lokalnego echa). Jeśli nie podano pola konta
, a serwer FTP go wymaga, użytkownik zostanie o nie zapytany.
Jeśli podano pole konta , a zdalny serwer nie
wymagał go podczas logowania, to po zakończeniu sekwencji
logowania serwerowi zostanie przekazana komenda account. O ile
ftp
nie był wywołany z
wyłączonym “auto-login”, proces ten jest
dokonywany automatycznie w początkowym połączeniu z
serwerem FTP .verbose
Zawierające spacje argumenty komend mogą być cytowane znakami cudzysłowów `"'.
Aby przerwać transfer plików, użyj
terminalowego klawisza przerwania (zwykle Ctrl-C). Transfery wysyłane
zostaną zatrzymane natychmiast. Transfery odbierane zostaną
zatrzymane przez wysłanie komendy ftp ABOR
do
zdalnego serwera i przez odrzucenie wszelkich dalszych odebranych danych.
Szybkość dokonania tego zadania, zależy od tego, jak
zdalny serwer obsługuje ABOR
. Jeśli
serwer nie obsługuje komendy ABOR
, znak
zachęty ‘ftp>
’ nie pojawi
się aż serwer nie zakończy wysyłać
żądanego pliku.
Sekwencja terminalowa przerwania będzie ignorowana w
wypadku gdy ftp
zakończył
przetwarzanie lokalne i oczekuje odpowiedzi od zdalnego serwera.
Długie opóźnienie w tym trybie może
wynikać z obsługi ABOR, opisanej powyżej, lub z
nieoczekiwanego zachowania zdalnego serwera, łącznie z
pogwałceniami protokołu ftp. Jeśli
opóźnienia wynikają z nieoczekiwanego zachowania
zdalnego serwera, lokalny program ftp
musi
być ubijany ręcznie.
Pliki, przekazane komendom ftp
jako
argumenty są przetwarzane według następujących
zasad.
-
’ to do odczytu używane
będzie stdin a dla zapisu
stdout .Ftp
wtedy rozwidla (fork) powłokę przy użyciu
popen(3) i odczytuje (zapisuje) ze stdout (stdin).
Jeśli komenda powłoki zawiera spacje, argument musi
być zacytowany; np. “" ls -lt"”.
Szczególnie użytecznym przykładem tego mechanizmu
jest: “dir more”.glob
. Jeśli komenda
ftp
oczekuje pojedynczego pliku lokalnego (np.
put
), to używany jest tylko pierwszy plik
wygenerowany operacją "globowania".mget
i get
bez
podanych lokalnych nazw plików, nazwa lokalna jest identyczna ze
zdalną, choć może być przekształcana
przez ustawienia case
,
ntrans
, lub nmap
.
Ostateczna nazwa pliku może być jeszcze ewentualnie
zmieniona jeśli włączone jest
runique
.mput
i put
bez
podanych zdalnych nazw plików, zdalne nazwy są identyczne z
lokalnymi, choć mogą być przekształcone przez
ustawienia ntrans
lub nmap
. Ostateczna nazwa pliku może być jeszcze ewentualnie
zmieniona jeśli włączone jest
sunique
.Specyfikacja FTP podaje wiele parametrów, które
mogą dotyczyć transferu plików. Parametr
type
może być jednym z
“ascii”, “image” (binary),
“ebcdic” i “local byte size” (przeważnie
dla PDP-10's i PDP-20's ). Ftp
obsługuje typy
ascii oraz image transferu plików plus local byte size 8 dla
transferów w stylu tenex
.
Ftp
obsługuje tylko domyślne
wartości dla pozostałych parametrów transferu
plików: mode
, form
, i
struct
.
Plik .netrc zawiera informacje loginowe i inicjalizacji, używane przez proces autologowania. Znajduje się w katalogu domowym użytkownika. Rozpoznawane są następujące elementy; mogą być one rozdzielone spacjami, tabulacjami lub nowymi liniami:
machine
nazwamachine
, który
odpowiada zdalnej maszynie podanej w linii komend ftp, lub jako argument
komendy open
. Jeśli element zostanie
znaleziony, przetwarzane są dalsze elementy
.netrc , z zatrzymaniem się po
osiągnięciu następnego elementu
machine
lub elementu
default
.default
machine
nazwa lecz default
odpowiada
dowolnej nazwie Zdefiniowany być może tylko jeden element
default
i musi znajdować się on za
wszystkimi innymi elementami machine
. Normalnie
jest używany jako:
default login anonymous password
user@site
dając tak użytkownikowi
automatyczne logowanie anonimowego ftp na maszyny
niewskazane w .netrc. Może to być
przeciążone przez użycie flagi
-n
, która wyłącza
autologowanie.
login
nazwapassword
łańcuchftp
przerwie proces autologowania jeśli .netrc
jest odczytywalne przez kogokolwiek poza użytkownikiem.konto
łańcuchACCT
.macdef
namemacdef
. Makro jest definiowane z podaną
nazwą; jego zawartość rozpoczyna się w
następnej linii .netrc i trwa aż do
spotkania pustej linii (kolejne znaki nowej linii). Jeśli
zdefiniowane jest makro o nazwie init
, to jest
ono wykonywane automatycznie jako pierwszy krok procesu
autologowania.Ftp
korzysta z następujących
zmiennych środowiskowych.
Komenda ftp
pojawiła się w
4.2BSD.
Prawidłowe wykonywanie wielu komend zależy od prawidłowego zachowania się zdalnego serwera.
Błąd w traktowaniu powrotów karetki w kodzie transferu trybu-ascii w 4.2BSD został poprawiony. Poprawka ta może powodować nieprawidłowości w przesyłaniu plików binarnych do i od 4.2BSD w trybie ascii. Sposobem na uniknięcie tego problemu jest używanie typu binarnego.
Powyższe tłumaczenie pochodzi z
nieistniejącego już Projektu Tłumaczenia Manuali i
może nie być aktualne. W razie zauważenia
różnic między powyższym opisem a rzeczywistym
zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie
się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
man --locale=C 1 ftp
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.
July 30, 1991 | BSD 4.2 |