Quick ?s
Cheat Sheets
Man Pages
The Lynx
ncftp(1)							      ncftp(1)

       ncftp - Browser program for the File Transfer Protocol

       ncftp [host]

       ncftp [ftp://host.name/directory/]

       The purpose of ncftp is to provide a powerful and flexible interface to
       the Internet standard  File  Transfer  Protocol.   It  is  intended  to
       replace the stock ftp program that comes with the system.

       Although  the  program  appears	to be rather spartan, youll find that
       ncftp has a wealth of valuable performance  and	usage  features.   The
       program was designed with an emphasis on usability, and it does as much
       as it can for you automatically so you can do what  you	expect	to  do
       with  a	file  transfer	program,  which  is transfer files between two
       interconnected systems.

       Some of the cooler features include progress meters,  filename  comple
       tion,  command-line  editing,  background processing, auto-resume down
       loads, bookmarking, cached directory listings, host redialing,  working
       with  firewalls	and proxies, downloading entire directory trees, etc.,

       The  ncftp  distribution  comes	with  the  useful   utility   programs
       ncftpget(1) and ncftpput(1) which were designed to do command-line FTP.
       In particular, they are very handy for shell scripts.  This version  of
       ncftp  no longer does command-line FTP, since the main ncftp program is
       more of a browser-type program.

       The program allows you to specify a host or directory URL on  the  com
       mand line.  This is a synonym for running ncftp and then using the open
       command.  A few command-line flags are allowed with this mode:

       -u XX   Use username XX instead of anonymous.

       -p XX   Use password XX with the username.

       -j XX   Use account XX in supplement to the username and password (dep

       -P XX   Use  port  number  XX  instead  of the default FTP service port

       Upon running the program you are presented a command prompt  where  you
       type  commands to the programs shell.  Usually you will want to open a
       remote filesystem to transfer files to and from	your  local  machines
       filesystem.   To  do  that,  you  need to know the symbolic name of the
       remote system, or its Internet Protocol (IP) address.  For  example,  a
       symbolic name might be typhoon.unl.edu, and its IP address could be  To open a connection to that  system,  you  use  the
       programs open command:

	    open typhoon.unl.edu

       Both  of these try to open the machine called typhoon at the University
       of Nebraska.  Using the symbolic name is the preferred way, because  IP
       addresses  may  change without notice, while the symbolic names usually
       stay the same.

       When you open a remote filesystem, you need to  have  permission.   The
       FTP Protocols authentication system is very similar to that of logging
       in to your account.  You have to give an account name, and its password
       for  access to that accounts files.  However, most remote systems that
       have anything you might be interested in dont require an account  name
       for use.  You can often get anonymous access to a remote filesystem and
       exchange files that have been made publicly  accessible.   The  program
       attempts  to  get  anonymous  permission to a remote system by default.
       What actually happens is that the program tries to use anonymous as
       the  account  name,  and when prompted for a password, uses your E-mail
       address as a courtesy to the remote systems maintainer.	You can  have
       the program try to use a specific account also.	That will be explained

       After the open command completes successfully, you are connected to the
       remote  system  and  logged  in.  You should now see the command prompt
       change to reflect the name of the current  remote  directory.   To  see
       whats  in  the  current remote directory, you can use the programs ls
       and dir commands.  The former is terse, preferring more remote files in
       less  screen  space,  and  the  latter is more verbose, giving detailed
       information about each item in the directory.

       You can use the programs cd command to move to  other  directories  on
       the  remote  system.  The cd command behaves very much like the command
       of the same name in the Bourne and Korn shell.

       The purpose of the program is to exchange data with other systems.  You
       can use the programs get command to copy a file from the remote system
       to your local system:

	    get README.txt

       The program will display the progress of the transfer on the screen, so
       you  can  tell  how much needs to be done before the transfer finishes.
       When the transfer does finish, then you can enter more commands to  the
       programs command shell.

       You  can  use the programs put command to copy a file from your system
       to the remote system:

	    put something.tar

       When you are finished using the remote system, you can open another one
       or use the quit

       Before  quitting,  you  may want to save the current FTP sessions set
       tings for later.  You can use the bookmark command  to  save  an  entry
       into  your $HOME/.ncftp/bookmarks file.	When you use the bookmark com
       mand, you also specify a bookmark name, so the  next  time  instead  of
       opening	the  full  hostname  you  can use the name of the bookmark.  A
       bookmark acts just like one for your  web  browser,  so	it  saves  the
       remote  directory  you  were  in,  the account name you used, etc., and
       other information it learned so that the next time you use the bookmark
       it should require as little effort from you as possible.

       help   The first command to know is help.  If you just type


	      from  the  command shell, the program prints the names of all of
	      the supported commands.  From there, you can get	specific  help
	      for a command by typing the command after, for example:

		   help open

	      prints information about the open command.

       ascii  This command sets the transfer type to ASCII text.  This is use
	      ful for text-only transfers because the concept  of  text  files
	      differs  between operating systems.  For example on UNIX, a text
	      file denotes line breaks with the linefeed character,  while  on
	      MS-DOS a line break is denoted by both a carriage return charac
	      ter and a line feed character.  Therefore,  for  data  transfers
	      that  you  consider the data as text you can use ascii to ensure
	      that both the remote system and local system  translate  accord
	      ingly.   The default transfer type that ncftp uses is not ASCII,
	      but straight binary.

       bgget and bgput
	      These commands correspond to the get and put commands  explained
	      below,  except that they do the job in the background.  Normally
	      when you do a get then the program  does	the  download  immedi
	      ately,  and  does  not  return control to you until the download
	      completes.  The background transfers are nice  because  you  can
	      continue browsing the remote filesystem and even open other sys
	      tems.  In fact, they are done by a daemon process,  so  even  if
	      you  log	off  your  UNIX  host  the daemon should still do your
	      transfers.  The daemon will also automatically continue to retry
	      the  transfers  until they finish.  To tell when background jobs
	      have finished, you have to  examine  the	$HOME/.ncftp/spool/log
	      file, or run the jobs command from within NcFTP.

	      Both  the bgget and bgput commands allow you to schedule when to
	      do the transfers.  They take a -@ parameter, whose  argument
	      is  a  date  of the form YYYYMMDDhhmmss (four digit year, month,
	      day, hour, minute, second).  For example, to schedule a download
	      at 3 AM on November 6, you could try:

		   bgget -@ 19971106030000 /pub/idstuff/quake/q2_100.zip

	      This  command  tells  ncftp  to immediately start the background
	      transfers youve requested, which simply  runs  a	copy  of  the
	      ncftpbatch program which is responsible for the background jobs.
	      Normally the program will start the background job  as  soon  as
	      you  close  the  current site, open a new site, or quit the pro
	      gram.  The reason for this is because since so many users  still
	      use  slow  dialup  links	that starting the transfers would slow
	      things to a crawl, making it difficult to browse the remote sys
	      tem.   An  added	bonus  of starting the background job when you
	      close the site is that ncftp can pass off that  open  connection
	      to the ncftpbatch program.  That is nice when the site is always
	      busy, so that the background job doesnt have to  wait  and  get
	      re-logged on to do its job.

       binary Sets  the transfer type to raw binary, so that no translation is
	      done on the data transferred.  This is the default anyway, since
	      most files are in binary.

	      Saves  the current session settings for later use.  This is use
	      ful to save the remote system and remote	working  directory  so
	      you  can quickly resume where you left off some other time.  The
	      bookmark data is stored in your $HOME/.ncftp/bookmarks file.

	      Lists the contents of  your  $HOME/.ncftp/bookmarks  file  in  a
	      human-readable  format.	You can use this command to recall the
	      bookmark name of a previously saved bookmark, so	that  you  can
	      use the open command with it.

       cat    Acts  like the /bin/cat UNIX command, only for remote files.
	      This downloads the file you specify and dumps it directly to the
	      screen.	You  will  probably find the page command more useful,
	      since that lets you view the file one screen at a  time  instead
	      of printing the entire file at once.

       cd     Changes the working directory on the remote host.  Use this com
	      mand to move to different areas on the remote  server.   If  you
	      just  opened  a  new  site,  you might be in the root directory.
	      Perhaps	   there      was	a	directory	called
	      /pub/news/comp.sources.d	that someone told you about.  From
	      the root directory, you could:

		   cd pub
		   cd news
		   cd comp.sources.d

	      or, more concisely,

		   cd /pub/news/comp.sources.d

	      Then, commands such as get, put, and ls could be used  to  refer
	      to items in that directory.

	      Some shells in the UNIX environment have a feature I like, which
	      is switching to the previous directory.  Like those shells,  you
	      can do:

		   cd -

	      to change to the last directory you were in.

       chmod  Acts  like  the  /bin/chmod  UNIX  command,  only for remote
	      files.  However, this is not a standard command, so  remote  FTP
	      servers may not support it.

       close  Disconnects  you	from the remote server.  The program does this
	      for you automatically when needed, so you can simply open  other
	      sites  or  quit  the  program without worrying about closing the
	      connection by hand.

       debug  This command is mostly for internal testing.  You could type

		   debug 1

	      to turn debugging mode on.  Then	you  could  see  all  messages
	      between  the  program and the remote server, and things that are
	      only printed in debugging mode.  However,  this  information  is
	      also  available in the $HOME/.ncftp/trace file, which is created
	      each time you run ncftp.	If you need to report a  bug,  send  a
	      trace file if you can.

       dir    Prints  a  detailed  directory listing.  It tries to behave like
	      UNIXs /bin/ls -l command.  If the remote server seems to be
	      a  UNIX host, you can also use the same flags you would with ls,
	      for instance

		   dir -rt

	      would try to act like

		   /bin/ls -lrt

	      would on UNIX.

       edit   Downloads into a temporary file for editing on the  local  host,
	      then uploads the changed file back to the remote host.

       get    Copies  files  from  the current working directory on the remote
	      host to your machines current working directory.	 To  place  a
	      copy  of	README and README.too in your local directory,
	      you could try:

		   get README README.too

	      You could also accomplish that by using a  wildcard  expression,
	      such as:

		   get README*

	      This  command  is similar to the behavior of other FTP programs
	      mget command.  To retrieve a remote file but give it a different
	      name  on	your  host, you can use the -z flag.  This example
	      shows how to download a  file  called  ReadMe.txt  but  name  it
	      locally as README:

		   get -z ReadMe.txt README

	      The  program  tries  to  resume  downloads by default.  This
	      means that if the remote FTP server lost the connection and  was
	      only  able  to  send  490  kilobytes of a 500 kilobyte file, you
	      could reconnect to the FTP server and do another get on the same
	      file  name  and  it  would get the last 10 kilobytes, instead of
	      retrieving the entire file  again.   There  are  some  occasions
	      where  you  may  not want that behavior.	To turn it off you can
	      use the -f flag.

	      There are also times where you want to  append  to  an  existing
	      file.  You can do this by using the -A flag, for example

		   get -A log.11

	      would append to a file named log.11 if it existed locally.

	      Another thing you can do is delete a remote file after you down
	      load it.	This can be useful when a remote host expects  a  file
	      to  be  removed  when  it  has been retrieved.  Use the double-D
	      flag, such as get -DD to do this.

	      The get command lets you retrieve entire directory  trees,  too.
	      Although	it  may not work with some remote systems, you can try
	      get -R with a directory to download the  directory  and  its

	      When  using the -R flag, you can also use the -T flag to
	      disable automatic on-the-fly  TAR  mode  for  downloading  whole
	      directory  trees.   The program uses TAR whenever possible since
	      this usually preserves symbolic links and file permissions.  TAR
	      mode  can  also  result in faster transfers for directories con
	      taining many small files, since a single data connection can  be
	      used rather than an FTP data connection for each small file. The
	      downside to using TAR is that it forces downloading of the whole
	      directory, even if you had previously downloaded a portion of it
	      earlier, so you may want to use  this  option  if  you  want  to
	      resume downloading of a directory.

       jobs   Views  the  list	of currently executing NcFTP background tasks.
	      This actually just runs ncftpbatch -l for you.

       lcd    The lcd command is the first of a few l commands	that  work
	      with the local host.  This changes the current working directory
	      on the local host.  If you want to download files into a differ
	      ent  local directory, you could use lcd to change to that direc
	      tory and then do your downloads.

       lchmod Runs /bin/chmod on the local host.

       lls    Another local command that comes in handy is  the  lls  command,
	      which  runs  /bin/ls  on	the  local  host  and displays the
	      results in the programs window.  You can	use  the  same	flags
	      with  lls  as  you  would  in  your command shell, so you can do
	      things like:

		   lcd ~/doc
		   lls -lrt p*.txt

       lmkdir Runs /bin/mkdir on the local host.

       lookup The program also has a built-in interface to  the  name  service
	      via  the	lookup command.  This means you can lookup entries for
	      remote hosts, like:

		   lookup cse.unl.edu ftp.cs.unl.edu sphygmomanometer.unl.edu



	      There is also a more detailed option, enabled with -v, i.e.:

		   lookup -v cse.unl.edu ftp.cs.unl.edu


		       Name:	 cse.unl.edu

		       Name:	 typhoon.unl.edu
		       Alias:	 ftp.cs.unl.edu

	      You can also give IP addresses, so this would work too:




       lpage  Views  a	local  file  one  page	at a time, with your preferred
	      $PAGER program.

       lpwd   Prints the current local directory.  Use this command  when  you
	      forget where you are on your local machine.

	      Runs /bin/mv on the local host.

       lrm    Runs /bin/rm on the local host.

       lrmdir Runs /bin/rmdir on the local host.

       ls     Prints  a directory listing from the remote system.  It tries to
	      behave like  UNIXs  /bin/ls -CF  command.   If  the  remote
	      server  seems to be a UNIX host, you can also use the same flags
	      you would with ls, for instance

		   ls -rt

	      would try to act like

		   /bin/ls -CFrt

	      would on UNIX.

	      ncftp has a powerful built-in system for dealing with  directory
	      listings.   It  tries to cache each one, so if you list the same
	      directory, odds are  it  will  display  instantly.   Behind  the
	      scenes, ncftp always tries a long listing, and then reformats it
	      as it needs to.  So even if your first listing  of  a  directory
	      was  a regular ls which displayed the files in columns, your
	      next listing could be ls -lrt and ncftp would still use  the
	      cached  directory listing to quickly display the information for

       mkdir  Creates a new directory on the remote  host.   For  many	public
	      archives,  you  wont  have  the proper access permissions to do

       open   Establishes an FTP control connection  to  a  remote  host.   By
	      default,	ncftp logs in anonymously to the remote host.  You may
	      want to use a specific user account when you log in, so you  can
	      use  the	-u flag to specify which user.	This example shows
	      how to open the host bowser.nintendo.co.jp using	the  user
	      name mario:

		   open -u mario bowser.nintendo.co.jp

	      Here  is	a list of options available for use with the open com

	      -u XX Use username XX instead of anonymous.

	      -p XX Use password XX with the username.

	      -j XX Use account XX in supplement to the username and  password

	      -P XX Use port number XX instead of the default FTP service port

       page   Browses a remote file one page at a time, using your $PAGER pro
	      gram.   This  is	useful for reading READMEs on the remote host
	      without downloading them first.

       pdir and pls
	      These commands are equivalent to dir and ls  respectively,  only
	      they feed their output to your pager.  These commands are useful
	      if the directory listing scrolls off your screen.

       put    Copies files from the local host to the remote machines current
	      working directory.  To place a copy of xx.zip and yy.zip
	      in the remote directory, you could try:

		   put xx.zip yy.zip

	      You could also accomplish that by using a  wildcard  expression,
	      such as:

		   put *.zip

	      This  command  is similar to the behavior of other FTP programs
	      mput command.  To send a remote file but	give  it  a  different
	      name  on	your  host, you can use the -z flag.  This example
	      shows how to upload a file  called  ncftpd-2.0.6.tar.gz  but
	      name it remotely as NFTPD206.TGZ:

		   put -z ncftpd-2.0.6.tar.gz NFTPD206.TGZ

	      The  program  does not try to resume uploads by default.	If
	      you do want to resume an upload, use the -z flag.

	      There are also times where you want to  append  to  an  existing
	      remote  file.   You  can	do  this by using the -A flag, for

		   put -A log11.txt

	      would append to a file named log11.txt if it existed on  the
	      remote server.

	      Another thing you can do is delete a local file after you upload
	      it.  Use the double-D flag, such as put -DD to do this.

	      The put command lets you send entire directory trees,  too.   It
	      should  work  on	all  remote systems, so you can try put -R
	      with a directory to upload the directory and its contents.

       pwd    Prints the current remote working directory.  A portion  of  the
	      pathname is also displayed in the shells prompt.

       quit   Of  course,  when you finish using the program, type quit to end
	      the program (You could also use bye, exit, or ^D).

       quote  This can be used to send a direct FTP Protocol  command  to  the
	      remote  server.	Generally this isnt too useful to the average

       rename If you need to change the name of a remote file, you can use the
	      rename command, like:

		   rename SPHYGMTR.TAR sphygmomanometer-2.3.1.tar

       rhelp  Sends a help request to the remote server.  The list of FTP Pro
	      tocol commands is often printed, and sometimes some other infor
	      mation  that  is	actually  useful,  like  how to reach the site

	      Depending on the remote server, you may be able to give a param
	      eter to the server also, like:

		   rhelp NLST

	      One server responded:

		   Syntax: NLST [  path-name ]

       rm     If  you need to delete a remote file you can try the rm command.
	      Much of the time this wont work  because	you  wont  have  the
	      proper  access  permissions.   This  command  doesnt accept any
	      flags, so you cant nuke a whole tree  by	using  -rf  flags
	      like you can on UNIX.

       rmdir  Similarly,  the rmdir command removes a directory.  Depending on
	      the remote server, you may be able to remove a non-empty	direc
	      tory, so be careful.

       set    This  lets you configure some program variables, which are saved
	      between runs in the $HOME/.ncftp/prefs file.  The  basic	syntax


Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:20 2009