home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-03-02 | 49.9 KB | 1,454 lines |
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- NAME
- NcFTP - Internet file transfer program
-
- SYNOPSIS
- ncftp [program options] [[open options] host-
- name[:pathname]]
-
- OPTIONS
- Program options:
- -D : Turn debug mode and trace mode on.
- -L : Don't use visual mode (use line mode).
- -V : Use visual mode.
- -H : Dump the version information.
-
- Command-line open options:
- -a : Open anonymously.
- -u : Open with username and password prompt.
- -p X : Use port number X when opening.
- -r : Redial until connected.
- -d X : Redial, delaying X seconds between tries.
- -g X : Give up after X redials without connection.
-
- Command-line retrieve options:
- -C : Force continuation (reget).
- -f : Force overwrite.
- -G : Don't use wildcard matching.
- -R : Recursive. Useful for fetching whole directo-
- ries.
- -n X : Get selected files only if X days old or newer.
-
- DESCRIPTION
- NcFTP is a user interface to the Internet standard File
- Transfer Protocol. This program allows a user to transfer
- files to and from a remote network site, and offers addi-
- tional features that are not found in the standard inter-
- face, ftp.
-
- The program runs in one of three modes: visual mode, line
- mode, and colon mode.
-
- If your system is somewhat modern, the default mode should
- be visual mode. This is a full-screen interface that uses
- the curses library. With visual mode, you edit the pro-
- gram's settings with a nice screen interface instead of
- typing arcane commands.
-
- If you are not in visual mode, you will be using line mode
- for the interactive shell. This mode is a no-frills com-
- mand-line interface that will look like the default ftp
- program's command shell.
-
- The third mode, colon mode, refers to the program's abil-
- ity to do a quick retrieve of a file directly from your
- shell command line, without going into the program's own
-
-
-
- NCEMRSoft 2.3.0 1
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- shell. This mode is useful for shell scripts.
-
- INTRODUCTION TO VISUAL MODE
- When entering visual mode, the screen clears and is
- rewritten with the splash screen. You should see the
- black status bar occupying the second to last row on the
- screen. Beneath the status bar is the input line, where
- you type commands to the program's shell.
-
- The program then waits for you to do something. Usually
- this means you want to open a remote filesystem to trans-
- fer files to and from your local machine's filesystem. To
- do that, you need to know the symbolic name of the remote
- system, or its Internet Protocol (IP) address. For exam-
- ple, a symbolic name might be ``typhoon.unl.edu,'' and its
- IP address could be ``129.93.33.24.'' To open a connec-
- tion to that system, you use the program's open command:
-
- open typhoon.unl.edu
- open 129.93.33.24
-
- 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 per-
- mission. The FTP Protocol's 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 account's files. However, most remote systems that
- have anything you might be interested in don't 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 ``anony-
- mous'' as the account name, and when prompted for a pass-
- word, uses your E-mail address as a courtesy to the remote
- system's maintainer. You can have the program try to use
- a specific account also. That will be explained later.
-
- If the connection succeeded, you should see the status bar
- change to hold the remote system's name on one side, and
- the current remote directory on the other side. To see
- what's in the current remote directory, you can use the
- program's ls and dir commands. The former is terse, pre-
- ferring 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 program's 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
-
-
-
- NCEMRSoft 2.3.0 2
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- and Korn shell.
-
- The purpose of the program is to exchange data with other
- systems. You can use the program's 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 fin-
- ish, then you can enter more commands to the program's
- command shell.
-
- You can use the program's 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 command to terminate the
- program.
-
- THE BOOKMARKS FILE
- One of the program's goals is to minimize typing and maxi-
- mize convenience. The program automatically saves infor-
- mation about the sites you call on in a special file
- called the bookmarks file, which is stored in the .ncftp
- subdirectory of your home directory. Each bookmark saves
- the host name along with other settings, including the
- remote directory you were in, the account information, and
- more. This makes it easy to call back a site later and
- have everything be like it was when you left the last
- time.
-
- A big advantage of saving this information is that you can
- refer to a site by a shorter, more meaningful name,
- instead of using the full symbolic host name for a site.
- For example, if you called a site named
- ``typhoon.unl.edu'' frequently, its bookmark name might be
- just ``typhoon.'' Then, instead of:
-
- open typhoon.unl.edu
-
- you could use:
-
- open typhoon
-
- You could also abbreviate the bookmark name further, as
- long as the program will know which site you are referring
- to. If no other bookmark's name starts with the letters
- ``ty,'' you could do just:
-
- open ty
-
-
-
- NCEMRSoft 2.3.0 3
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- Use the bookmarking feature to assign mnemonic names to
- hosts whose real names don't give much hint to what you
- call there for. A popular game called Nethack is archived
- at linc.cis.upenn.edu, in the /pub/NH3.1 directory. You
- could assign ``nethack'' as the bookmark name for this
- site. Then you could try:
-
- open nethack
-
- instead of:
-
- open linc.cis.upenn.edu
-
- USING THE BOOKMARK EDITOR
- To manipulate the bookmarks stored in your bookmarks file,
- you use the program's bookmark editor. Run the bookmark
- editor by typing the bookmarks command from within the
- program. This brings up a new screen of information.
-
- On the right side is the list of remote systems the pro-
- gram has saved for you already. Each time you open a con-
- nection to a remote system, the program saves an entry in
- your bookmark file for you automatically. If you have not
- opened any sites successfully yet, this list would be
- empty.
-
- On the left side is some instructions saying what you can
- do with the list. The bookmark editor is waiting for you
- to do something, like select a bookmark whose settings you
- want to edit.
-
- Some bookmark editor ``hot key'' commands are one key
- only. You do not need to hit enter after the hot key com-
- mands. To exit the bookmark editor for example, you would
- just type the ``x'' key only. The multi-key commands
- require a slash first and do require the enter key. To
- delete the selected site, for example, you would type the
- ``/'' key, then ``del,'' and then the enter key.
-
- You can use the ``d'' key to move down one line in the
- list, and the ``u'' key to move up one line. If you have
- many entries in the bookmark list, you won't be able to
- see them all at once. The bookmark list scrolls as appro-
- priate to bring the other sites into view. Use the ``p''
- and ``n'' keys to move pages at a time.
-
- Another way to select a site in the bookmark list is to
- use the capital letters. If I had many entries in my
- bookmark list, but wanted to select a site whose bookmark
- name was ``nethack,'' I could type ``N'' and the list
- would zoom to the first site with bookmark starting with
- the letter ``n.''
-
- After you have hilited a bookmark you want to edit, use
-
-
-
- NCEMRSoft 2.3.0 4
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- the /ed command. Doing that brings up another screen with
- the settings for that bookmark.
-
- In the Bookmark Options screen, you use hot keys to select
- a setting to edit. To edit the bookmark name, for exam-
- ple, you would type ``a.'' When you are finished editing
- this bookmark, hit the ``x'' key to return to the bookmark
- editor's screen.
-
- BOOKMARK OPTIONS
- Edit the Bookmark name field to change the name you use to
- open this site with. Remember, when you change the book-
- mark name , you must use this name to refer to this par-
- ticular bookmark, so if you change it to ``foobar,'' you
- need to use ``open foobar.'' This is required because you
- can have multiple entries for a remote host. For example,
- you could have two bookmarks for wuarchive.wustl.edu,
- named ``wumac'' and ``wuwindows.'' If you were to say
- ``open wuarchive.wustl.edu,'' it would not be clear to the
- program which host entry to use.
-
- Change the login information for the site by editing the
- User, Password, and Account fields. Normally you would
- want to leave these as is for anonymous logins. Depending
- on your situation, you might want to use a specific
- account on the remote system. This is one way to get the
- program to use a non-anonymous login.
-
- The Directory field specifies the directory to move to
- upon successful connection to the remote host for this
- bookmark. When you close the site, this field is updated
- for you automatically to be the directory you were in when
- you closed the site.
-
- The Transfer Type field can be changed to use a different
- translation mode when transferring files. This program is
- usually running on a UNIX system, and most remote systems
- are also UNIX variants, so the default transfer type is
- binary, which does no translation at all.
-
- However, when you need to work with plain text files and
- transfer them between non-UNIX systems, you can change
- this to ASCII. That will guarantee that the text-only
- files will translate correctly. Most often, you will need
- to use the binary transfer type.
-
- The Port field can be changed so that the program tries to
- use a non-standard port number. I have yet to ever need a
- different port number, but this capability is here in case
- it's needed.
-
- The Has SIZE Command field will probably not need to be
- edited. This field is mostly for your information only.
- The SIZE command is an FTP Protocol command that the
-
-
-
- NCEMRSoft 2.3.0 5
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- program would like the remote server to support. If it is
- supported, the program can get an exact number of bytes of
- remote files before transferring. That is nice to know so
- the progress reports work better.
-
- The Has MDTM Command field will probably not need to be
- edited either. If the remote server supports it, the pro-
- gram can get the exact modification date of the remote
- file, and set the local file to the same date.
-
- The Can Use Passive FTP field specifies whether the remote
- server allows use of the FTP Protocol's PASV command.
- There are two ways to set up FTP connections. The default
- way is what I call Port FTP. Unfortunately, Port FTP can-
- not be used when your local host is hiding behind a Fire-
- wall. Passive FTP can be used with a firewall, and that's
- why I would like to use that method if possible. You
- probably will not need to edit this field, since this can
- be detected automatically most of the time.
-
- The Operating System field is used by the program to tell
- if it can rely on certain dependencies to specific operat-
- ing systems. If the OS is a UNIX variant, the program can
- make some assumptions about the remote server's responses.
- For example, if the OS is UNIX, the ls command tries to
- use the -CF flags, like you could with ``/bin/ls -CF'' on
- UNIX. If the OS wasn't UNIX, the ``-CF'' might not make
- sense to the remote server and it might complain. You
- probably will not need to edit this field, since this can
- be detected automatically most of the time.
-
- The comment field can be used to store a brief description
- about the site. For example, for my ``nethack'' entry, I
- could use this field to hold ``Archive site for latest
- version of Nethack.'' When you are in the bookmark edi-
- tor's window, if you hilite a site that has a comment, it
- is printed at the bottom of the screen so you do not have
- to edit the site to look at it.
-
- PREFERENCES
- In addition to remote-host specific options, the program
- has global options that are user-configurable. To change
- the program's preferences, run the prefs command from
- within the program.
-
- The Default open mode field specifies how the program
- should try to open connections. If you do a lot of anony-
- mous FTPing, you should leave this set to anonymous. You
- might want to set this field to user & password if the
- hosts you FTP to most often don't allow anonymous logins.
- For example, if you are using the program on your company
- network to copy things from different company machines,
- you would not want to use anonymous FTP mode.
-
-
-
-
- NCEMRSoft 2.3.0 6
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- The Anonymous password field lets you change the value
- given to the remote host when you use an anonymous login.
- It is customary (and sometimes required) to use your e-
- mail address as the password for anonymous FTP, so the
- remote host's administrator knows who is using the ser-
- vice. If the program didn't get your e-mail address
- right, or you want to use something different, you can
- change it here.
-
- The program now uses more whitespace than before to reduce
- eyestrain. If you prefer, you can turn off that feature
- by changing the Blank lines between cmds field.
-
- The program can log the transfers you do to a file so you
- can refer to the log if you can't remember where you got
- something. To turn on the log, which is saved as
- ~/.ncftp/log, you can set the User log size field to a
- number greater than zero. You probably do not want to let
- this file grow forever, so you set the maximum size of the
- log by setting that field.
-
- Although the program is perfectly happy saving every site
- you ever open in the bookmarks file, you may want to put
- an upper bound on the number of sites saved. If you have
- a slow machine, which might cause the program to take
- awhile to load and save the bookmarks, or if disk space is
- at a premium, you can set the Max bookmarks to save field
- to limit the number of bookmarks saved. Once that limit
- is reached, the program will discard sites whose time
- since the last connection is the longest. In other words,
- a site you only called once a long time ago and forgot
- about will be the first to go.
-
- A few program functions need to use a pager program to
- view large amounts of text. For example, the page command
- retrieves a remote file and uses the pager to view it.
- You can specify the program to use (and its command line
- flags, if any) by setting the pager field.
-
- When you transfer files between the remote host and your
- local host, the program uses a progress meter to show you
- the status of the transfer. The program has a few differ-
- ent progress meters to choose from, and you can try out
- the other ones by changing the Progress meter field.
-
- You can control how much of the remote server's chatter is
- printed by changing the Remote messages field. The pro-
- gram always prints error messages, but most of the time
- the remote server doesn't have anything useful to say.
- There are a couple of messages that may be worth printing.
- The first is the startup message. Typically, when you
- connect to a server it has some important information
- about the server. Some servers have chdir messages, which
- are sent when you enter a special directory. You specify
-
-
-
- NCEMRSoft 2.3.0 7
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- whether to print these messages by toggling the Remote
- messages field.
-
- By default, the program stays in the same directory you
- were in when you ran the program, so that downloads will
- go in that directory. I like to use a ``download direc-
- tory'' so that all of my downloads go to a specific direc-
- tory. This prevents me from exceeding my quota, and over-
- writing my other files. You can set the Startup in Local
- Dir field to have the program change the local directory
- each time when the program starts up. Then you know where
- to expect your downloads to end up.
-
- The program itself has some messages which you may get
- tired of and want to turn off. You can change the Startup
- messages field to specify whether the program prints its
- ``splash screen'' and whether it prints a tip on how to
- maximize use of the program.
-
- When you retrieve a remote file, by default the program
- tries to also set the exact modification time of the local
- file as the remote file. You can turn that off by chang-
- ing the File timestamps field.
-
- If you don't like the full-screen graphics, you can use
- the line-oriented mode by changing the Screen graphics
- field. Once you turn visual mode off from the Preferences
- screen, you won't be able to get back to the preferences
- screen again when using line mode. To get back into
- visual mode, you can run the program with the ``-V'' flag,
- like:
-
- ncftp -V
-
- COMMAND REFERENCE
- I will now describe the commands that the program's com-
- mand shell supports. The first command to know is help.
- If you just type
-
- help
-
- 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.
-
- The shell escape command is simply the exclamation point,
- ! To spawn a shell, just do:
-
- !
-
-
-
- NCEMRSoft 2.3.0 8
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- You can also use this to do one command only, like:
-
- !date +%H:%M:%S
-
-
- The cd command changes the working directory on the remote
- host. Use this command 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.
-
- The close command 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.
-
- Sometimes it may be necessary to use the create command.
- This makes an empty file on the remote host. This can be
- useful when you are unable to contact the remote server's
- administrator, but hope someone in the know will spot your
- file. For example,
-
- create readline2.0.tar_is_corrupt
-
- might persuade someone to repost that file.
-
- The debug command is mostly for use by me and the testers.
- You could type
-
- debug 1
-
- to turn debugging mode on. Then you could see all mes-
- sages between the program and the remote server, and
- things I print only in debugging mode. If you report a
-
-
-
- NCEMRSoft 2.3.0 9
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- bug, I might ask you to send me a trace file. To do that,
- you would run the program, and then type
-
- debug trace 1
-
- And so I could see how the program was compiled, you would
- type
-
- version
-
- After you quit the program, you could then send me an
- email with the contents of the ~/.ncftp/trace file, which
- would also have the version information in it.
-
- The dir command prints a detailed directory listing. It
- tries to behave like UNIX's ``/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.
-
- The echo command wouldn't seem very useful, but it can be
- nice for use with the program's macros. It behaves like
- the equivalent command does under a UNIX shell, but
- accepts some extra flags. All ``percent'' flags are fed
- through strftime(4). So you could type
-
- echo It is now %H:%M on %B %d.
-
- and you should get something like this printed on your
- screen:
-
- It is now 19:00 on January 22.
-
- There are also ``at'' flags, which the program expands:
-
- @H : Name of connected host
- @D : Full pathname of remote current working directory
- @J : Short name of remote current working directory
- @N : Newline.
- @n : Bookmark name of connected host
-
- Example:
-
- echo "Connected to @H at %H:%M." >> junk
-
- If you later looked at the contents of ``junk,'' it might
- say:
-
-
-
- NCEMRSoft 2.3.0 10
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- Connected to sphygmomanometer.unl.edu at 20:37.
-
- The get command copies files from the current working
- directory on the remote host to your machine's current
- working directory. To place a copy of ``README'' in your
- local directory, you could try:
-
- get README
-
- The get command has some powerful features which are
- described below, in ``SPECIAL DOWNLOADING FEATURES.''
-
- The bookmarks command runs the Bookmark Editor. You
- already know how what that does, since you read the sec-
- tion above on it, right?
-
- The lcd command is the first of a few ``l'' commands that
- work with the local host. This changes the current work-
- ing directory on the local host. If you want to download
- files into a different local directory, you could use lcd
- to change to that directory and then do your downloads.
-
- Another local command that comes in handy is the lls com-
- mand, which runs ``/bin/ls'' on the local host and dis-
- plays the results in the program's 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
-
- The program also has a built-in interface to the name ser-
- vice 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
-
- prints:
-
- cse.unl.edu 129.93.33.1
- typhoon.unl.edu 129.93.33.24
- sphygmomanometer.unl.edu 129.93.33.126
-
- There is also a more detailed option, enabled with ``-v,''
- i.e.:
-
- lookup -v cse.unl.edu ftp.cs.unl.edu
-
- prints:
-
- cse.unl.edu:
- Name: cse.unl.edu
- Address: 129.93.33.1
-
-
-
-
- NCEMRSoft 2.3.0 11
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- ftp.cs.unl.edu:
- Name: typhoon.unl.edu
- Alias: ftp.cs.unl.edu
- Address: 129.93.33.24
-
- You can also give IP addresses, so this would work too:
-
- lookup 129.93.33.24
-
- prints:
-
- typhoon.unl.edu 129.93.33.24
-
- The lpage command views a local file one page at a time.
- By default, the program uses your pager program to view
- the files. You can choose to use the built-in pager by
- using the ``-b'' flag. Example:
-
- lpage -b ~/.ncftp/bookmarks
-
- The lpwd command is prints the current local directory.
- Use this command when you forget where you are on your
- local machine.
-
- The ls command prints a brief directory listing. It tries
- to behave like UNIX's ``/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.
-
- The mkdir command tries to create a new directory on the
- remote host. For many public archives, you won't have the
- proper access permissions to do that.
-
- The open command connects you to a remote host. Many
- times, you will simply open a host without using any
- flags, but nonetheless the open command has some flags to
- enable certain features.
-
- To force an anonymous open, use the ``-a'' flag. On the
- ftp.probe.net machine, which is the official archive site
- for NcFTP, I have a need to use both anonymous logins and
- user logins. The Bookmark Editor remembers type of login
- I used last, so if the last time was a user login, I could
- use the ``-a'' flag to switch back to the anonymous login
- type without having to use the Bookmark Editor to change
- that.
-
-
-
- NCEMRSoft 2.3.0 12
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- Likewise, I could use the ``-u'' flag to force a user
- open. Then I could give my account name and password to
- access that account.
-
- Many of the big archive sites like wuarchive.wustl.edu are
- busy, so you aren't guaranteed a connection to them. The
- program lets you ``redial'' sites periodically, until a
- connection succeeds. Use the ``-r' flag to turn on auto-
- matic redial.
-
- Redial itself has a few parameters. You can set the
- delay, in seconds, of the time spent waiting between redi-
- als. You can also have the program give up after a maxi-
- mum number of redials is reached. Here's an example that
- fully utilizes redial mode:
-
- open -r -d 75 -g 10 bowser.nintendo.co.jp
-
- The ``-r'' turns on redialing, the ``-d'' sets the redial
- delay to 75 seconds, and the ``-g'' flag limits redialing
- to 10 tries. If you like, you can just trust the default
- redial settings and only use ``-r.''
-
- The open command will run the Bookmark Editor if you don't
- supply a hostname to open. You can use the Bookmark Edi-
- tor to select a host and open it by hitting the return
- key.
-
- The page command lets you browse a remote file one page at
- a time. This is useful for reading README's on the remote
- host without downloading them first. This command uses
- whatever program you have set the pager field in the Pref-
- erences screen to view the file.
-
- The pdir and pls commands are equivalent to dir and ls
- respectively, only they feed their output to your pager.
- These commands are primarily for line mode because direc-
- tory listings can scroll offscreen. If you do a normal ls
- while in visual mode, if it would go offscreen, the built-
- in pager kicks in automatically. Therefore I don't recom-
- mend using pdir and pls while in visual mode.
-
- The redir and predir commands give you a way to re-display
- the last directory listing. The program saves the output
- from the last dir or ls command you did, so if you want to
- see it again you can do this without wasting network band-
- width. The predir command is the same as redir, except
- that the output is fed to your pager.
-
- I have found that I mostly download, and have next to no
- need at all to upload. But the put command is there in
- case you need to upload files to remote hosts. For exam-
- ple, if I wanted to send some files to a remote host, I
- could do:
-
-
-
- NCEMRSoft 2.3.0 13
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- lcd ~/docs/files
- put 02.txt 03.txt 05.txt 07.txt 11.txt
-
- The put command won't work if you don't have the proper
- access permissions on the remote host. Also, this command
- doesn't have any of the special features that the get com-
- mand has, except for the ``-z'' option.
-
- The pwd command prints the current remote working direc-
- tory. In visual mode, this is in the status bar.
-
- 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
-
- Of course, when you finish using the program, type quit to
- end the program (You could also use bye, exit, or ^D).
-
- The quote command can be used to send a direct FTP Proto-
- col command to the remote server. Generally this isn't
- too useful to the average user (or me either).
-
- The rhelp command sends a help request to the remote
- server. The list of FTP Protocol commands is often
- printed, and sometimes some other information that is
- actually useful, like how to reach the site administrator.
-
- Depending on the remote server, you may be able to give a
- parameter to the server also, like:
-
- rhelp NLST
-
- One server responded:
-
- Syntax: NLST [ <sp> path-name ]
-
- If you need to delete a remote file you can try the rm
- command. Much of the time this won't work because you
- won't have the proper access permissions. This command
- doesn't accept any flags, so you can't nuke a whole tree
- by using ``-rf'' flags like you can on UNIX.
-
- Similarly, the rmdir command removes a directory. Depend-
- ing on the remote server, you may be able to remove a non-
- empty directory, so be careful.
-
- The set command is provided for backward compatibility
- with older versions of the program, and is superseded by
- the prefs command. The basic syntax is:
-
- set option value
-
- Where the option is the short name of the corresponding
-
-
-
- NCEMRSoft 2.3.0 14
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- field in the Preferences screen. The short names of the
- preferences fields can be found by browsing your
- ~/.ncftp/prefs file. This command is mainly for use with
- line mode, but since that mode is no longer officially
- supported by me, I want to discourage the use of this com-
- mand.
-
- One obscure command you may have to use someday is site.
- The FTP Protocol allows for ``site specific'' commands.
- These ``site'' commands vary of course, but one common
- sub-command that is useful that some sites support is
- chmod, i.e.:
-
- site chmod 644 README
-
- Try doing one of these to see what the remote server sup-
- ports, if any:
-
- rhelp SITE
- site help
-
- You may need to change transfer types during the course of
- a session with a server. You can use the type command to
- do this. Try one of these:
-
- type ascii
- type binary
- type image
-
- If you ever need to contact me about the program, please
- familiarize yourself with the version command. This com-
- mand dumps a lot of information that tells me which edi-
- tion of the program you are using, and how it was
- installed on your system. Here's a way to save the output
- of this command to a file, so you can send it to me:
-
- version > version.txt
-
-
- SPECIAL DOWNLOADING FEATURES
- You probably already know that you use the get command to
- copy files on the remote host to the local host. But the
- get command has a few other tricks that you might find
- useful. First of all, ncftp skips files you already have.
- If you try to
-
- get file24
-
- and there is a file named ``file24'' in the current local
- directory already, the program uses some additional
- heuristics to determine if it should actually waste net-
- work bandwidth to download it again.
-
- The program tries to get the date and size of the remote
-
-
-
- NCEMRSoft 2.3.0 15
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- file ``file24.'' If that file has the exact same date and
- size as the local file ``file24,'' the program will skip
- over that file. If the program could not get the date or
- size of the remote file, or the size differs, the program
- will go ahead and fetch the file.
-
- In addition, if the local file's date is newer than the
- remote file's date, the program skips the download because
- it concludes you already have a more recent version.
-
- What all this means for you is that you can use the pro-
- gram to mirror another archive. For example, you might
- have a task that requires you keep a mirror of all the
- files of a remote directory called ``files.'' In that
- directory, there might be dozens of files, some of which
- are updated occasionally. You could use ncftp to help you
- out by setting the appropriate local and remote directo-
- ries, then simply doing:
-
- get *
-
- The program will skip over the old files, and only down-
- load the files that you don't have or have been updated
- since the last time.
-
- Nonetheless, you may want to ignore the program's advice
- and download a file anyway, despite the program's thinking
- that you don't need to. You can use the ``-f'' flag with
- get to force a download:
-
- get -f README
-
- You may also need to use the ``-C'' flag to force the pro-
- gram to continue downloading where it left off. I some-
- times call that feature ``forced reget'' for historical
- reasons.
-
- You can also turn off wildcard matching with get by using
- the ``-G'' flag. Other FTP programs used the syntax
-
- get remote-file [local-file]
-
- which allowed you to specify a local pathname for the file
- you were trying to download. NcFTP differs in that
- respect, and if you used the older programs, you would
- find that the program's get behaves more like those other
- program's mget command. This means that in NcFTP,that
-
- get file01 file02
-
- tries to download remote files named ``file01'' and
- ``file02.'' If you like, you can get that older behavior
- by using the ``-z'' flag, so:
-
-
-
-
- NCEMRSoft 2.3.0 16
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- get -z file01 ../junk/files/01.txt
-
- would get ``file01'' and use the local name
- ``../junk/files/01.txt.''
-
- Another thing that get does is that you can use the ``-n''
- flag to fetch files that are a certain number of days old
- or newer. If you just want to get the newest files at an
- archive, you don't have to use a full mirror. You can
- just say ``download all files that are 3 days old or
- newer.'' Do that by going to a directory, and trying:
-
- get -n 3 *
-
- The program also has ``reget'' mode built into the get
- command. Other FTP programs provided a reget command,
- which was useful when you lost a connection during a down-
- load. Instead of the remote host resending the entire
- file, you could use the reget command to continue the
- transfer where it was cut off.
-
- NcFTP has this capability built-in, and it examines the
- date and size of the remote file and local file to deter-
- mine if the program should continue where it left off last
- time. If the dates are the same, but the local file is
- smaller, the program attempts to ``reget.''
-
- The last, and most wasteful feature of get is recursive
- mode, which is turned on with the ``-R'' flag. This fea-
- ture lets you download an entire directory's contents,
- i.e.:
-
- get -R /pub/info/help
-
- That creates a directory called ``./help'' in the current
- local directory, and copies all files and subdirectories
- into it.
-
- Please use some discretion with this feature. If you get
- a large directory, you could really bog down the remote
- host. Archive administrators are providing a public ser-
- vice, so don't abuse the archive so much that they have to
- shut down public access because the real users of that
- archive can't get their work done.
-
- MACROS
- The program has a simple macro/alias facility. You can
- use macros to roll your own commands, or do things when
- certain events happen.
-
- To use macros, you will need to create and edit the macros
- file in your .ncftp subdirectory of your home directory.
- Your ~/.ncftp directory is created for you automatically
- the first time you run the program, but you have to make
-
-
-
- NCEMRSoft 2.3.0 17
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- the macros file yourself since most users won't have a
- need for them.
-
- You can have any number of macros. The syntax is:
-
- macro macro-name
- macro-body...
- end
-
- Here's a simple macro that users of the old ftp program
- might appreciate:
-
- macro binary
- type i
- end
-
- You could run that macro simply by running the program and
- typing the macro name as if it were a regular ncftp com-
- mand.
-
- Macros can also have parameters, much like the Korn
- Shell's shell functions and the C-Shell's aliases. These
- parameters are sent to your macro, and if your macro uses
- the appropriate ``dollar'' variables, they are expanded.
- To illustrate, try this macro:
-
- macro cdls
- cd $1
- ls
- end
-
- To run that macro, open a connection and try:
-
- cdls /pub
-
- That would try to cd to /pub, and then try to list its
- contents with ls.
-
- Dollar variables are somewhat like those in the Bourne and
- Korn shells. Example syntax:
-
- $4 : Argument 4
- $* : All arguments.
- $@ : All arguments, each of them surrounded by double quotes.
- $(2-5) : Arguments 2, 3, 4, and 5.
- $(2,5) : Arguments 2 and 5.
- $(3+) : Arguments 3, 4, 5, ..., N.
-
- A better way to code the ``cdls'' macro might be:
-
- macro cdls
- cd $1
- ls $(2+)
- end
-
-
-
- NCEMRSoft 2.3.0 18
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- There are some special macros, which I call event macros.
- The program looks for macros by special names, and if they
- exist, runs the macro when that event happens.
-
- One event macro is the .start.ncftp macro. If you have a
- macro by that name defined in your macros file, the pro-
- gram will run that macro each time you run the program.
-
- Similarly, there is also a .quit.ncftp macro that is run
- each time you quit the program.
-
- Another set of event macros are site-specific. For exam-
- ple, if I have a site bookmarked as ``typhoon'' I could
- then define macros named .open.typhoon and .close.typhoon
- which would run each time I opened and closed ``typhoon.''
-
- Another, more generic set of event macros are the
- .open.any and .close.any macros which run when I open or
- close any site. One possible use for these macros is to
- run separate shell scripts to do some processing after you
- finish using a site. I could have a macro like this:
-
- macro .quit.ncftp
- echo "Started post-processing downloads at %H:%M:%S"
- !sh ~/scripts/download-decoder
- echo "Finished post-processing downloads at %H:%M:%S"
- end
-
- Another use is to duplicate the old macdef init hack that
- the traditional ftp program used in its .netrc file. For
- example:
-
- macro .open.infomac
- echo "Getting recent files list"
- get -z /pub/info-mac/help/recent-files ~/docs/recent
- ls -lrt
- end
-
- USING COLON MODE
- The colon-mode feature is used from your shell's command
- line.
-
- In ancient times, way back during the Disco Era, you could
- use a program called tftp to fetch a file using the Inter-
- net standard Trivial File Transfer Protocol. You could
- use that program to do something like this from within its
- shell:
-
- get wuarchive.wustl.edu:/graphics/gif/README
-
- and that would call wuarchive and fetch the README file.
-
- You can use this program to do the same thing from your
- shell's command line:
-
-
-
- NCEMRSoft 2.3.0 19
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- csh> ncftp wuarchive.wustl.edu:/graphics/gif/README
- csh> head README
-
- This tells your shell, in this case the C-shell to run
- NcFTP, which would open wuarchive, fetch /graph-
- ics/gif/README and write the file /README in the current
- working directory, and then exits.
-
- The colon-mode feature is nice if you don't want to browse
- around the remote site, and you know exactly want you
- want. It also comes in handy in shell scripts, where you
- don't want to enter the command shell, and might not want
- the program to spew output.
-
- You can use the Uniform Resource Locator standard also.
- For example, this would work:
-
- csh> ncftp ftp://wuarchive.wustl.edu/graphics/gif/README
-
- There are times where you might not want the program to
- write a colon-mode file in the current working directory,
- or perhaps you want to pipe the output of a remote file
- into something else. Colon-mode has options to do this.
- It was inspired by the guy who wrote the ftpcat perl
- script. The ``-c'' option tells the program to write on
- the standard output stream. The ``-m'' option pipes the
- file into your pager (like more) Of course this won't work
- if the thing you give colon-mode is a directory! This
- example just dumps a remote file to stdout:
-
- csh> ncftp -c wuarc:/graphics/gif/README
-
- This example redirects a remote file into a different
- location:
-
- csh> ncftp -c wu:/README > ~pdietz/thesis.tex
-
- This one shows how to use a pipeline:
-
- csh> ncftp -c wuarc:/README | tail | wc -l
- 10
- csh>
-
- This shows how to page a remote file:
-
- csh> ncftp -m wuarc:/graphics/gif/README
-
- USING LINE MODE
- The only reason I provide line mode is so that the primi-
- tive operating systems whose curses library is missing or
- dysfunctional won't render the program completely useless.
-
- exceptions of the functions that require visual mode, such
- as the Preferences screen and the Bookmark Editor. You
-
-
-
- NCEMRSoft 2.3.0 20
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- will have to edit the ~/.ncftp/prefs and
- ~/.ncftp/bookmarks file manually, with a text editor.
-
- As a small consolation, you get to use the full-powered
- line-editing libraries, like GNU Readline if they were
- compiled with the program.
-
- SUMMARY OF COMMAND LINE OPTIONS
- When you invoke the program from your shell, there are
- ``dash flags'' you can use like you can with most other
- UNIX programs.
-
- Here's a list of options you can use from the command
- line:
-
-
- -D : Turns on debugging mode and tracing.
- -V : Uses ``visual'' mode for this session.
- -L : Uses ``line mode'' for this session.
- -H : Prints the information from the ``version'' command and exits.
-
- When you turn on tracing, the program writes a log with
- debugging information to a file called trace in your
- .ncftp subdirectory of your home directory. If you need
- to report a bug, it would be helpful to mail me the trace
- file so I can track it down better.
-
- In addition to the program flags, you can also use flags
- from the open and get commands with a colon mode path.
- Here's a really complex example:
-
- csh> ncftp -r -d 120 -n 3 sphygmomanometer.unl.edu:/pub/stuff/*
-
- This tries redialing that host every two minutes, and
- fetching all files from the ``/pub/stuff'' directory that
- are 3 days old or newer.
-
- AUTHOR
- NcFTP was written by Mike Gleason, NCEMRSoft (mglea-
- son@probe.net). NcFTP is copyrighted 1995 by NCEMRSoft.
- All rights reserved.
-
- As of this writing, the most recent version is archived in
- /pub/ncftp, on ftp.probe.net.
-
- THANKS
- Ideas and some code contributed by my partner, Phil Dietz,
- NCEMRSoft (dietz@wtc.com).
-
- Thanks to everyone who has helped test the program, and
- sent in feedback over the years. Your support is what
- drives me to improve the program!
-
- I'd like to thank my former system administrators, most
-
-
-
- NCEMRSoft 2.3.0 21
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- notably Charles Daniel, for making testing on a variety of
- platforms possible, letting me have some extra disk space,
- and for maintaining the UNL FTP site.
-
- I also thank Dale Botkin and Tim Russell at Probe Technol-
- ogy, for giving ncftp a home on probe.net, the midwest's
- best connection to the internet.
-
- For testing above and beyond the call of duty, I am espe-
- cially grateful to: Phil Dietz, Kok Hon Yin
- (hkok@cse.unl.edu), Andrey A. Chernov
- (ache@astral.msk.su).
-
- Thanks to Tim MacKenzie (t.mackenzie@trl.oz.au) for the
- filename completion code.
-
- Thanks to DaviD W. Sanderson (dws@ssec.wisc.edu), for
- helping me out with the man page.
-
- BUGS
- Due to a limitation in the curses library, scrolling may
- be slow in visual mode.
-
- Shell escapes, suspending (^Z) and resuming, and interrup-
- ing (^C) still have quirks with visual mode.
-
- There are no such sites named bowser.nintendo.co.jp or
- sphygmomanometer.unl.edu.
-
- SEE ALSO
- ftp(1), ftpd(8), nslookup(1), archie(1), rcp(1), tftp(1).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- NCEMRSoft 2.3.0 22
-
-
-
-