You are on page 1of 10

Linux / UNIX FTP Commands Tutorial

by NI XCRAFT on AUGUST 8, 2010 3 COMMENTS LAST UPDATED AUGUST 8, 2010


in UNI X

Iswitched from MS-Windows to Mac computer running OS X
UNIX systems. I need to transfer and download file using ftp
for my personal website. Can you provide me a list of FTP
commands that may be sent to an FTP server, to upload and
download files using UNIX / Linux ftp command line client?

File Transfer Protocol (FTP) is a network protocol used to
copy a file from one computer to another over the Internet or
LAN. FTP follows a client-server architecture which utilizes
separate control and data connections between the ftp client
and server. The default port for ftp is 21.
WARNING! These examples uses outdated insecure ftp
protocol / client and if executed you are open to various
attacks including password snooping. I strongly recommend
that you use sftp, the secure version of FTP. Just type sftp
instead of ftp and all of the following commands should work
with sftp client too.
ftp: Internet File Transfer Program
Use the following syntax to connect to transfer files to and
from a remote network ftp site:
ftp ftp.example.com
ftp 1.2.3.4
ftp user@ftp.example.com
You must know ftp username and password for user-based
password authentication or with anonymous user access use
ftp as both username and password. In this example, you are
connecting to ftp.freebsd.org with anonymous user access
(open the terminal and type the following command):
$ ftp ftp.freebsd.org
Sample session:
Trying 87.51.34.132...
Connected to ftp.freebsd.org.
220 ftp.beastie.tdk.net FTP server (Version 6.00LS) ready.
Name (ftp.freebsd.org:vivek): ftp
331 Guest login ok, send your email address as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
When you enter your own loginname and password for the
ftp.example.com server, it returns the prompt
ftp>
You need to type all commands in front of the ftp> prompt.
Task: List Current File
Type the ls command at ftp> prompt:
ftp> ls
Sample outputs:
229 Entering Extended Passive Mode (|||60692|)
150 Opening ASCII mode data connection for '/bin/ls'.
total 10
drwxrwxr-x 2 0 5 512 Jul 19 2007 .snap
drwx------ 2 0 0 2048 Jul 19 2007 lost+found
drwxr-xr-x 3 1006 1006 512 Sep 21 2009 pub
drwxr-xr-x 3 1006 1006 512 Jun 5 2007 sup
drwxr-xr-x 4 1006 0 512 Sep 18 2009 www
226 Transfer complete.
ftp>
The above will list the names of the files in the current remote
directory (the last name is file or dir name).
Task: Change Directory
To change directory on the remote machine use cd command:
ftp> cd dirName
To change to pub directory, enter:
ftp> cd pub
Sample outputs:
250 CWD command successful.
Task: Download / Copy file
To copy one file at a time from the remote ftp server to the
local system use get command:
get fileName
get fileName newFileName
In this example, download file resume.pdf in the current
remote directory to (or on top of) a file with the same name,
resume.pdf, in your current local directory:
ftp> get resume.pdf
Sample outputs:
local: resume.pdf remote: resume.pdf
229 Entering Extended Passive Mode (|||55093|)
150 Opening BINARY mode data connection for 'resume.pdf'
(53077 bytes).
100%
|*********************************************************
************| 53077 12.58 KiB/s 00:00 ETA
226 Transfer complete.
53077 bytes received in 00:04 (12.57 KiB/s)
In this example, copies file data.tar.gz in the current remote
directory to (or on top of) a file named backup.tar.gz in your
current local directory:
ftp> get data.tar.gz backup.tar.gz
Change Local Directory
To change directory on your local system, enter:
ftp> lcd /path/to/new/dir
ftp> lcd /tmp
Sample outputs:
Local directory now: /tmp
Print local directory:
ftp> lpwd
Sample outputs:
/tmp
The lpwd command prints current download directory for local
systems. However, to find out the pathname of the current
directory on the remote ftp server, enter:
ftp> pwd
Sample outputs:
Remote directory: /pub/FreeBSD
Task: Download Multiple Files
You need to use mget command as follows to copy multiple
files from the remote ftp server to the local system. You may
be prompted for a yes/no (Y/N) answer before transferring
each file (you can disable prompt by passing the -i option to
ftp client). To download all files, enter:
ftp> mget *
To download all perl files (ending with .pl extension), enter:
ftp> mget *.pl
Task: Turn On / Off Interactive Prompting
The ftp command prompt sets interactive prompting; "on"
which enables prompting so that you can verify of each step
of the multiple commands, "off" allows the commands to act
unimpeded:
ftp> prompt on
ftp> mput *.php
ftp> prompt off
ftp> mget *.py
Task: Delete File
To delete a file in the current remote directory use delete
command:
ftp> delete fileName
ftp> delete output.jpg
Task: Upload One File
To copy one file at a time from the local systems to the
remote ftp server, enter:
ftp> put fileName
In this example, upload logo.jpg, enter:
ftp> put logo.jpg
Task: Upload Multiple Files
To copy multiple files from the local system to the remote ftp
server use mput command. Again, you may be prompted for a
yes/no (y/n) answer before transferring each file. In this
example, upload all files from the current system:
ftp> mput *
ftp> mput *.pl
Task: Create a Directory
To make a new directory, enter:
ftp> mkdir dirName
ftp> mkdir scripts
ftp> cd scripts
ftp> pwd
Task: Delete a Directory
To remove or delete a directory, enter:
ftp> rmdir dirName
ftp> rmdir images
ftp> ls
Task: Set The Mode Of File Transfer
To set the mode of file transfer to ASCII, enter:
ftp> ascii
Please note that ascii is the default and good for text files. To
set the mode of file transfer to binary, enter:
ftp> binary
The binary mode is recommended for almost all sort of files
including images, zip files and much more. The binary mode
provides less chance of a transmission error.
Task: Connect To Another FTP Server
To open a connection with another ftp server, enter:
ftp> open ftp.nixcraft.net.in
The above command opens a new FTP connection with
ftp.nixcraft.net.in. You must provide a username and
password for a ftp.nixcraft.net.in account. However, a
username and password can be skipped for an anonymous
FTP connection.
Task: Exit the FTP Session
Type quit or bye, enter:
ftp> quit
OR
ftp> bye
Sample outputs:
221 Goodbye.
How Do I Find Out More Information About
The FTP Commands?
Type ? or help to get more information about the FTP
commands:
ftp> ?
ftp> help
Sample outputs:
Commands may be abbreviated. Commands are:
! delete idle mode pmlsd reset system
$ dir image modtime
preserve restart tenex
account disconnect lcd more
progress rhelp throttle
append edit less mput prompt rmdir trace
ascii epsv4 lpage mreget proxy rstatus type
bell exit lpwd msend put
runique umask
binary features ls newer pwd send unset
bye fget macdef nlist quit sendport usage
case form mdelete nmap quote set user
cd ftp mdir ntrans rate site verbose
cdup gate mget open rcvbuf size xferbuf
chmod get mkdir page recv
sndbuf ?
close glob mls passive reget status
cr hash mlsd pdir remopts struct
debug help mlst pls rename sunique
To get a short description about each command, enter:
ftp> help commandName
ftp> help chmod
Sample outputs:
chmod change file permissions of remote file
ftp> help ls
Sample outputs:
ls list contents of remote path
FTP Through A Browser
If you do not want to type the commands, than use a browser
such as Safari, Firefox and type the following:
ftp://ftpUserName@ftp.nixcraft.net.in
ftp://ftp.freebsd.org/
ftp://ftp@ftp.freebsd.org/
ftp://userName:Password@ftp.nixcraft.net.in/
ftp://ftp:ftp@ftp.freebsd.org/

You might also like