A File Transfer
Protocoll (FTP)
Szintaxis
ftp [kapcsolók] [host]
Kapcsolók
-d
Engedélyezi a debuggolást úgy, hogy bekapcsolja a `logging` jellemzot.
-g
kikapcsolja a metakarakter kiterjesztést a file-nevekben
-i
kikapcsolja az interaktív közlésmódot miközben több file-t másolunk.
-n
megakadályozza az autómatikus bejelentkezést a kezdeti kapcsolatteremtéskor.
Egyébként az ftp megkeresi a $HOME/.netrc file-t, amely leírja a
bejelentkezési- és az inicializációs processzeket a távoli host részére.
-t
felfüggeszti a csomagok nyomkövetését.
-v
Kiírja a távoli server-rol érkezo összes választ, és statisztikát készít az
adatátvitelrol. Ez az alapbeállítás mikor az ftp output-ja egy consol, vagy
egy monitor.
Használata
Az ftp protokollt arra az esetre tervezték, ha adatot szeretnénk mozgatni
két olyan gép között, melyek különböző file-rendszert használnak. Így, bár a
protokoll nagyon rugalmas az adatátvitel tekintetében, nem képes átadni a
file-attributumokat. Ezenfelül az ftp protokoll feltételez néhány dolgot a
file-rendszer felépítésével kapcsolatban, és nem képes, vagy nem enged olyan
dolgokat csinálni, mint például rekurzívan másolni alkönyvtárakat.
Megjegyezzük, hogyha OSF/1 rendszerek között dolgozunk (vagy egyéb rendszerek
között, melyek kompatibilisak a UNIX operációs rendszerrel) és szükségünk lenne a
file attributumok átvitelére, vagy szükségünk lenne alkönyvtárrendszerek rekurzív
másolására, akkor használjuk az rcp parancsot.
Az ftp parancs rendelkezik belső parancsokkal, melyekkel például
listázhatjuk a távoli könyvtárakat, mozoghatunk a helyi vagy a távoli
könytárrendszerben, másolhatunk több file-t egyszerre egy parancs kiadásával,
létrehozhatunk, vagy éppen törölhetünk könyvtárakat, és kiléphetünk a helyi
shell-be, és kiadhatunk shell parancsokat. Az ftp ezenkívül a biztonságra is
ügyel, lehetőseget ad a távoli géphez jelszó küldésére, és engedélyezi az automatikus
belépést, adatmozgatást, illetve kilépést.
Ha az ftp parancsot úgy indítjuk el, hogy nem adjuk meg a távoli gép
nevét, akkor az ftp> promptot adja, és vár egy parancs begépelésére. Ha
egy távoli géphez szeretnénk csatlakozni, akkor az open parancsot adjuk ki.
Amikor az ftp megteremti a kapcsolatot a távoli géphez kéri a bejelentkezési
nevet és a jelszót, mielott visszaadná az ftp> promptot. Az ftp
hibát jelez, ha nincs jelszó definiálva a távoli gépen a bejelentkezési névhez.
Ha az ftp sikeresen megteremtette a kapcsolatot a távoli géppel, megkeresi a
helyi $HOME/.netrc file-t az aktuális vagy a home könyvtárban. Ha megtalálta,
lefuttatja a a file-ban található bejelentkezési és inicializációs processzeket,
makró definíciókat beállítja.
Az ftp parancsértelmezője, amely kezeli az összes ftp>
promptnál begépelt parancsot, biztosít olyan lehetőségeket is, amelyekre más file
mozgató program nem képes, mint például a file nevek paraméterként kezelése,
makrók készítése, betöltése a $HOME/.netrc file-ból.
A parancsértelmező a következo szabályok szerint képes a file neveket
argumentumként kezelni:
- Ha a - (mínusz) jel szerepel az argumentumban, a standard inputot használja
olvasásra, a standard outputot pedig az írásra.
- Ha a file-névben az első karakter | (függőleges vonal), akkor az argumentum
fennmaradó részét úgy értelmezi, mint shell-parancsot.
- A get és az mget parancsok esetén, ha nem adjuk meg a helyi file
nevet, akkor az meg fog egyezni a távol file nevével, mely módosulhat, ha a case,
ntrans, nmap parancsokat használtuk előtte.
- A put és az mput parancsok esetén, ha nincs meghatározva a távoli
file neve, akkor az meg fog egyezni a helyi file nevével.
Megjegyezzük, hogy az ftp parancsértelmezője nem támogatja a csöveket.
Kilépéshez a bye, quit parancsok használatosak. Ha az adatátvitelt
szeretnénk megszakítani, azt a Ctrl-c-vel tehetjük meg.
Az ftp parancs alapesetben a Type-of-Service értékeit használja, melyek
szükségesek az RFC1060-hoz. Ezek a következőek:
ftp-control
ftp-data
Ezeket a /etc/iptos file-ban tudjuk beállítani.
Parancsok
- Az alábbi ftp parancsokat az ftp> promptnál gépelhetjük be. Ha
az argumentumban szóközök szerepelnek, akkor az argumentumot idézőjelek közé kell
zárni.
- ![parancs[argumentumok ...]]
- Meghív egy interaktív shell-t a helyi gépen. Egy opcionális parancs egy vagy több
argumentummal megadható.
- $ macro [argumentumok ...]
- Meghívja a megadott makrót, amelyet elozoleg definiáltunk a macdef
paranccsal.
- ? [parancs]
- Segítséget ad a megadott parancs használatáról. Ha nem adtunk meg argumentunként
parancsot, akkor kilistázza az összes ftp-ben használható parancsot.
- account [jelszó]
- Küld egy kiegészítő jelszót, amelyet a távoli gép kérhet, ha hozzá szeretnénk
férni az erőforrásaihoz. Ha nem adtunk meg jelszót, akkor azt promptnál kell
begépelni, mely így nem jelenik meg a képernyőn.
- append helyi_file [távoli_file]
- Hozzácsatolja a helyi file-t egy távoli gépen lévő file-hoz. Ha a távoli file
nevét nem adtuk meg, akkor az meg fog egyezni a helyi file nevével, módosítva az ntrans,
nmap által kiadott beállításokkal.
- ascii
- Az átvitel módját ASCII típusúra állítja. Ez az alapbeállítás, ha a távoli
gép nem UNIX rendszerű. Az átvitel hatékonyabb lehet, ha a bináris átviteli módot
használjuk.
- bell
- Minden egyes file-művelet végrehajtása után csippant egyet a gép.
- binary/bin
- Az átvitel módját binárisra állítja. Ez az alapbeállítás, ha a távoli gép
UNIX rendszerű.
- bye
- Megszakítja a kapcsolatot a távoli géppel, és kilép az ftp-bol. Megegyezik
a quit paranccsal.
- case
- Átállítja a nagybetű kisbetű megkülönböztetést. Amikor a case be van
kapcsolva, akkor ha a távoli gépen lévő file-ok neveiben nagybetű szerepel kisbetűre
cseréli, mikor a helyi gépre másolja a file-t. Alapbeállításként ki van kapcsolva.
- cd távoli_könyvtár
- A távoli gépen megváltoztatja a munkakönyvtárat a megadott könyvtárra.
- cdup
- A távoli gépen a munkakönyvtárat a jelenlegi szülőkönyvtárára állítja.
- close
- Megszünteti a kapcsolatot a távoli géppel, de nem lép ki az ftp-bol. A
definiált makrókat törli. Megegyezik a disconnect paranccsal.
- cr
- Levágja a kocsi-vissza karaktert a kocsi-vissza/soremelés sorozatból, mikor ASCII
módban másolunk file-okat. Ez a UNIX és OSF/1 alapú rendszerek miatt szükséges,
mivel ott a recordok végét csak a soremelés karakter jelzi. A cr parancs ezt a
lehetőséget ki/be kapcsolja.
- delete távoli_file
- Törli a megadott távoli file-t.
- debug [on|off]
- Kiír minden parancsot, melyet a távoli gépnek küld, a --> jel után, ha
a debug on parancsot adtuk ki.
- dir [távoli_könyvtár][helyi_file]
- A távoli könyvtár tartalmát a megadott helyi file-ba írja ki. Ha távoli
könyvtárnevet nem adtunk meg, akkor az aktuális munkakönyvtárat listázza ki, illetve
ha nem adtuk meg a helyi file nevét, akkor a helyi terminálra ír ki.
- disconnect
- Lásd close utasítás.
- form formátum
- Meghatározza az átvitel formátumát. Az egyetlen lehetséges a non-print
formátum.
- get távoli_file [helyi_file]
- A távoli file-t a helyi gépre másolja. Ha a helyi file neve nincs megadva, akkor az
meg fog egyezni a távoli file nevével, módosítva a case, ntrans, nmap
parancsok beállításaival.
- hash
- Mikor a hash be van kapcsolva, az ftp minden egyes átmozgatott
adatblokk után (1024 byte) egy # jelet tesz.
- help [parancs]
- Lásd ? parancsot.
- lcd [könyvtárnév]
- Megváltoztatja a munkakönyvtárat a helyi gépen. Ha nem adtunk meg könyvtárnevet,
akkor a home-könyvtárunkat állítja be munkakönyvtárnak.
- ls [távoli_könyvtár] [helyi_file]
- Lásd a dir parancsot.
- macdef makró
- Makró definiálása. A rákövetkező sorok az üres sorig (két egymásutáni
soremelés karakter) a makró szövegeként lesz elmentve. Összesen 16 makrót
definiálhatunk, melyek legfeljebb 4096 byte hosszúak lehetnek. A makrók addig
érvényesek, míg újra nem definiáljuk őket, vagy ki nem adunk egy close parancsot.
- A speciális karaktereknek ($ (dollár jel) és a \ (backslash jel)) speciális
jelentésük van. A $ jel utáni szám(ok) a makró argumentumait jelölik. A \ jelet
akkor használjuk, ha speciális jelet szeretnénk használni, annak speciális jelentése
nélkül.
- mdelete távoli_file-ok
- Távoli file-ok törlése.
- mdir [távoli_könyvtár ... helyi_file]
- A távoli könyvtár tartalmát a helyi file-ba írja. Ha a távoli könyvtár nevébe
joker-karaktereket adtunk meg, akkor szükséges a helyi file megadása. Ha a távoli
könyvtár argumentum könyvtárak listája, szóközökkel elválasztva, az utolsó
argumentumnak a helyi file-nak kell lennie, vagy a - (mínusz) karakternek.
- mget távoli_file ...
- A távoli file(okat) a helyi munkakönyvtárba másolja, módosítva azok neveit a case,
ntrans, nmap beállításainak megfelelően. A másolást a type, form, mode,
structure beállításainak megfelelően végzi.
- mkdir [távoli_könyvtár]
- Létrehoz egy könyvtárat a távoli gépen, az argumentumban megadott névvel.
- mls [távoli_könyvtár ... helyi_file]
- A távoli könyvtár tartalmát rövidített formában kilistázza a helyi file-ba. Ha a
távoli könyvtár nevében joker-karakterek szerepelnek, illetve ha több távoli könyvtárat
is megadtunk, szükséges a helyi file megadása.
- mode [mód]
- Az átvitel módját állítja be. Az egyetlen lehetséges mód a stream mód.
- modtime [távoli_file]
- Megmutatja a távoli file utolsó módosításának idejét.
- mput [helyi_file ...]
- A helyi file-t a távoli gépre másolja. A fileneveket az ntrans, nmap
parancsoknak megfeleloen módosítja. Az adatátvitel a type, form, mode
beállításainak megfelelően történik.
- nlist [távoli könyvtár] [helyi_file]
- Kilistázza a távoli könyvtár tartalmát. Ha ezt argumentumban nem adtuk meg, akkor a
munkakönyvtárat listázza ki. Ha nincs helyi file megadva, akkor a monitorra listáz.
- nmap [bemeneti_minta kimeneti_minta]
- Beállítja vagy kikapcsolja a file-nevek módosítását. Ha nem adunk meg
argumentumot, akkor kikapcsolja. Ha adtunk meg argumentumot, akkor az mget, mput
utasítások használatakor és a get utasítás esetén ha nem adtunk meg cél
file-nevet, akkor a forrás file nevét a beállításoknak megfelelően módosítja.
- A bemeneti mintában megadott változók a forrás file alapján veszik fel
értéküket. Ezek a változók: $1 ... $9. Például ha a bemenő minta mydata.dat,
akkor $1 értéke mydata, míg $2 értéke dat lesz.
- A kimeneti minta változói határozzák meg a cél file nevét. Itt a $0 az
eredeti file nevet jelenti. Például a következo parancs a myfile.data néven
el a myfile.data vagy myfile.data.old nevu file-okat, illetve myfile.file
néven a myfile file-t, illetve myfile.myfile néven a .myfile
file-t:
- nmap $1.$2.$3 [$1,$2].[$2,file]
- ntrans [bemneti_karakterek [kimeneti_karakterek]]
- Beállítja vagy kikapcsolja a file nevekben történő karaktercseréket. Ha nem adtunk
meg argumentumot, akkor kikapcsolja a cserét. Ha adtunk meg argumentumot, akkor az mget,
mput, get, put parancsok esetén a cél file neve a beállításoknak megfelelően
módosul. Ha a file nevében szereplő karakter megegyezik a bemeneti karakterekkel, akkor
azt az ftp kicseréli a kimeneti karakterekre.
- open host [port]
- Kapcsolatot létesít a host-on található FTP szerverrel. Ha a port számát megadtuk,
akkor a kapcsolat azon a porton keresztül veszi fel. Ha az automatikus bejelentkezést
beállítottuk (a -n kapcsolóval), akkor az ftp automatikusan
bejelentkezik az adott szerverre.
- prompt
- Ki/bekapcsolja az interaktív promptot. Ha ez be van kapcsolva (ez az alapállapot),
akkor az ftp visszakérdez, ha több file-t mozgatunk egyszerre, máskülönben
végrehajtja az utasítást kérdés nélkül.
- proxy [parancs]
- Végrehajtja a parancsot ehu másodlagos kapcsolaton. A proxy segítségével
mozgathatunk file-okat két távoli server között. Használata előtt egy távoli
serverre már be kell jelentkeznünk az open paranccsal. A következő parancsok
másként muködnek proxy használatával:
- az open parancs nem definiálja az új makrókat.
- a close parancs nem törli a már definiált makrókat.
- get, mget, put, mput, append parancsok az elsődleges és a másodlagos
kapcsolat között mozgatják a file-okat.
- put helyi_file [távoli_file]
- Átmásolja a helyi file-t a távoli gépre. Ha nem adjuk meg a távoli file
argumentumot, akkor annak neve meg fog egyezni a helyijével, módosítva az ntrans,
nmap által beállítotakkal. Az átvitel módját a form, mode, type, structurebeállításainak
megfelelően történik.
- quit
- Lásd bye parancsot.
- quote szöveg
- Elküldi a szöveget szó szerint a távoli gépnek.
- recv távoli_file [helyi_file]
- Lásd get parancs.
- reget távoli_file [helyi_file]
- Ugyanúgy működik, mint a get parancs kivéve, ha a helyi file már létezik,
és kisebb méretű, mint a távoli file, akkor megpróbálja a helyi file-hoz hozzáfűzni
a hiányzó részt. Ez akkor lehet hasznos, ha az adatátvitel megszakadt, és azt
folytatni szeretnénk.
- remotehelp [parancs]
- Segítség kérése a távoli FTP servertől.
- rename mit mire
- File átnevezése a távoli gépen.
- reset
- Törli a válaszvonalat, újraszinkronizálja a kapcsolatot.
- rmdir távoli_könyvtár
- Törli a távoli gépen a megadott könyvtárat.
- runique
- Be/kikapcsolja a file-név módosítást, ha a get, mget paranccsal olyan
file-t szeretnénk áthozni, mellyel azonos nevű már létezik a munkakönyvtárban. Ha
kikapcsoljuk (ez az alapállapot), akkor ilyen esetekben felülírja a helyi file-t. Ha
bekapcsoljuk, az ftp azonos file-nevek esetén a cél file nevét kiegészíti.1
, .2 ,.... jelekkel.
- send helyi_file [távoli_file]
- Lásd get parancs.
- sendport
- Ki/bekapcsolja az FTP PORT utasítások használatát. Alapállapotan ez be van
kapcsolva.
- size távoli_file
- Megadja a távoli file méretét byte-okban.
- status
- Kiírja az ftp jelenlegi státuszát.
- struct [szerkezet]
- Beálltja az átvitel szerkezetét. Az egyetlen szerkezettípus a file tipus.
- sunique
- Ha a put, mput utasítással olyan file-t másolunk a távoli szerverre,
melynek nevén már létezik ott file, akkor a sunique kiadása után a file nevet
módosítja az ftp, míg alapállapotban felülírja azt.
- system
- Megmutatja milyen operációs rendszer fut a távoli gépen.
- tenex
- Az adatátvitel tipusát olyanra átállítja, mely megfelel a TENEX tipusú gépeknek.
- trace
- Be/kikapcsolja a csomagok nyomkövetését.
- type [tipus]
- Az adatátvitel tipusát állítja be. Ha argumentum nélkül adjuk ki, kiírja a
jelenlegi típust.
- user [jelszó] [account]
- Azonosítja a helyi felhasználót a távoli gép számára. Ha a jelszót vagy az
account-ot nem adtuk meg, és szükség van rá, akkor az ftp megkérdezi azt.
- Ha az automatikus bejelentkezés be van kapcsolva, akkor ez automatikusan megtörtének.
- verbose
- Ki-bekapcsolja a verbose módot. Ez alapállapotban be van kapcsolva, ekkor az ftp
kiírja a távoli szerver válaszait, illetve statisztikát készít az adatátvitelről.
Példák
$ ftp ural2.hszk.bme.hu
Connected to ural2.hszk.bme.hu
220 host2 FTP server (Version SunOS 5.6 on 14:40:27) ready.
Name (ural2.hszk.bme.hu:nagy): na218
331 Password required for na218
Password:
230 User na218 logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/a/stu/na218" is current directory.
ftp> ls
200 PORT command successful.
150 ASCII data connection for /bin/ls (152.66.83.28,1680) (0 bytes).
total 4904
drwx--x--x 4 na218 students 512 Dec
15 17:06 .
drwxr-xr-x 1100 root root
17920 Sep 15 14:17 ..
-rw-r--r-- 1 na218 students
0 Dec 4 15:06 .addressbook
-rw-r--r-- 1 na218 students 2285 Dec
4 15:06 .addressbook.lu
-rw-r--r-- 1 na218 students 939 Dec
19 10:04 .bash_history
-rw------- 1 na218 students
0 Dec 4 15:09 .mc.hot
-rw-r--r-- 1 na218 students
0 Dec 4 15:09 .mc.ini
226 ASCII Transfer complete.
ftp> get .mc.hot testfile.tmp
local: testfile.tmp remote: .mc.hot
200 PORT command successful.
150 Binary data connection for .mc.hot (152.66.83.28,1709) (0 bytes).
226 Binary Transfer complete.
ftp> quit
221 Goodbye.
$
$ ftp test
Connected to test.abc.org
220 test FTP server (Version ...) ready.
Name (test:fred): msith
530 User msith unknown
ftp> user smith
331 Passwd required for smith
Password:
230 User smith logged in
ftp>
$ ftp
ftp> open host1
Connected to host1.abc.org
220 host1 FTP server (Version ...) ready.
Name (host1:fred):
331 Passwd required for fred
Password:
230 User fred logged in
ftp>
Készítette: Nagy Attila (nagy[kukac]math.bme.hu)
|

|