5.3. ftp

Til at hente og sende filer over TCP/IP bruges programmet ftp.

Hvis du skal bruge en fil fra sunsite.dk, skriver du sådan her:


[tyge@hven ~]$  ftp sunsite.dk

Når forbindelsen er klar, spørger computeren om brugernavn og adgangskode. Du kan logge på som 'anonymous' (anonym) og give din e-post-adresse som adgangskode. Bemærk, at e-postadressen ikke er synlig, når den tastes ind.


Connected to sunsite.dk.
220 sunsite.dk FTP server (NcFTPd 2.2.2) ready.
Name (sunsite.dk:tyge): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:
230-You are user #57 of 300 simultaneous users allowed.
230-
230-                 Welcome to SunSITE Denmark
230-                 ==========================
230-
230-SunSITE Denmark is located at Aalborg University, Institute of
230-Electronic Systems, Denmark, and is running on a SPARCserver 1000 with
230-4 CPUs, 416 MB Memory and approximately 110 GB storage.
230-

[lang velkomsthilsen klippet ud]

230-
230 Logged in anonymously.
Remote system type is UNIX.
Using binary mode to transfer files.

Så står du ved en ftp>-prompt, hvor du kan bevæge dig rundt i katalogerne med cd og se indholdet med ls - ganske som med en almindelig kommandolinje.


ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
drwxrwxr-x  60 ftpuser  ftpusers      8192 Oct 10 16:23 disk1
drwxrwxr-x   9 ftpuser  ftpusers      2048 Oct 10 15:45 disk2
drwxr-xr-x   3 ftpuser  ftpusers        96 Jun  2 17:02 disk3
drwxr-xr-x   4 ftpuser  ftpusers        96 Sep  1 09:15 disk4
... [mange kataloger klippet væk]
226 Listing completed.

Hvis du nu ved hjælp af cd navigerer ned i /pub/os/linux/Red Hat og kører ls, vil du se, at der ligger en fil ved navn README, som du gerne vil hente hjem på din egen maskine med kommandoen get README.

Nu er filen ikke særlig stor, så den er hentet ned på et øjeblik. Hvis du henter større ting, er det som regel rart at kunne se, om der er "flow" i overførslen. Med kommandoen hash kan du få skrevet et #-tegn ("hash mark"), hver gang en blok er blevet overført.


ftp> hash
Hash mark printing on (1024 bytes/hash mark).

Så henter du filen:


ftp> get README
local: README remote: README
200 PORT command successful.
150 Opening BINARY mode data connection for README (1155 bytes).
#
226 Transfer completed.
1155 bytes received in 0.227 secs (5 Kbytes/sec)

README er en ganske lille fil, så det vil kun blive til et enkelt #-tegn. Læg i øvrigt mærke til, at den er overført som binær fil (BINARY) i modsætning til ren tekst (ASCII). Hvis du bruger ASCII til overførslen, vil ftp konvertere linjeskift i tekstfiler til det korrekte format for den maskine, der modtager filen. Det er udmærket til tekstfiler, men kan smadre f.eks. grafik og komprimerede filer fuldstændigt. Til at skifte mellem binær og ASCII bruges ftp-kommandoerne bin og ascii.

Nu er du færdig med at hente, hvad du skal bruge, og du logger ud igen med kommandoen quit. Derefter er du tilbage på kommandolinjen på din egen maskine.

Hvis du har brug for at tilbyde anonym ftp på din Linux-maskine, kan du i Red Hat Linux og nogle andre distributioner installere pakken "anonftp". Pakken foretager hele opsætningen for dig. Filer, der skal kunne hentes via anonym ftp, lægges så blot i /var/ftp/pub.

Alt det ovenstående handler om anonymt ftp. Hvis du er oprettet som bruger på den maskine, du skal i kontakt med, kan du logge på med dit rigtige brugernavn og adgangskode. På den måde får du så rettigheder til at hente og sende filer i forhold til, hvad du er blevet tildelt af administratoren.

Man kan også bruge Midnight Commander til at hente filer fra en FTP-server. Du åbner Midnight Commander med kommandoen mc. Med funktionstasten F9 får du fat i menuen og trækker ned med pil-ned. Vælg så "FTP link...".

Indtast evt. brugernavn og adgangskode adskilt med et kolon (:), så et snabel-a (@), hvorefter navnet på selve FTP-serveren angives. Hvis det drejer sig om en anonym FTP-server kan man udelade alt andet end serverens navn. Det kan se sådan ud:


brugernavn:adgangskode@ftp.server.net

En hurtig og grafisk metode til at overføre filer via FTP.