Ebben a fejezetben magát az FTP parancs használatát mutatjuk be. Könnyen lehet, hogy te egy FP-kliensprogramot keresel, ha így van kattints ide, vagy lépj be az alkalmazás raktárba! Egyéb esetben a fogalom megértéséhez ,vagy az FTP szerver telepítéséhez keresd fel a FTP kiszolgáló kialkítása c. cikkünket. Tudd, hogy az FTP átvitel nem biztosít semmilyen titkosítást, ha fontos az adatbiztonság akkor az SFTP lehet a megoldás.
Most akkor maradjunk az FTP parancsnál…
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/.netrcfile-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 ftpmegteremti 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
- Minimális várakozás
ftp-data
- Magas teljesítmény
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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <span style="color: #000000;">$ ftp ural2.hszk.bme.hu</span> <span style="color: #000000;">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. $</span> <span style="color: #000000;">$ 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></span> <span style="color: #000000;">$ 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></span> |
Készítette: Nagy Attila (nagy[kukac]math.bme.hu)
Hozzászólások lezárva