home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-03-02 | 54.2 KB | 1,454 lines |
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- NNAAMMEE
- NcFTP - Internet file transfer program
-
- SSYYNNOOPPSSIISS
- nnccffttpp [_p_r_o_g_r_a_m _o_p_t_i_o_n_s] [[_o_p_e_n _o_p_t_i_o_n_s] _h_o_s_t_-
- _n_a_m_e[::_p_a_t_h_n_a_m_e]]
-
- OOPPTTIIOONNSS
- 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.
-
- DDEESSCCRRIIPPTTIIOONN
- _N_c_F_T_P is a user interface to the Internet standard _F_i_l_e
- _T_r_a_n_s_f_e_r _P_r_o_t_o_c_o_l. 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, _f_t_p.
-
- The program runs in one of three modes: _v_i_s_u_a_l _m_o_d_e, _l_i_n_e
- _m_o_d_e, and _c_o_l_o_n _m_o_d_e.
-
- If your system is somewhat modern, the default mode should
- be _v_i_s_u_a_l _m_o_d_e. This is a full-screen interface that uses
- the _c_u_r_s_e_s 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 _l_i_n_e _m_o_d_e
- for the interactive shell. This mode is a no-frills com-
- mand-line interface that will look like the default _f_t_p
- program's command shell.
-
- The third mode, _c_o_l_o_n _m_o_d_e, 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.
-
- IINNTTRROODDUUCCTTIIOONN TTOO VVIISSUUAALL MMOODDEE
- 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 _I_n_t_e_r_n_e_t _P_r_o_t_o_c_o_l (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 _o_p_e_n command:
-
- open typhoon.unl.edu
- open 129.93.33.24
-
- Both of these try to open the machine called typhoon at
- the _U_n_i_v_e_r_s_i_t_y _o_f _N_e_b_r_a_s_k_a. 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 _F_T_P _P_r_o_t_o_c_o_l'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 _l_s and _d_i_r 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 _c_d 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 _B_o_u_r_n_e
-
-
-
- NCEMRSoft 2.3.0 2
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- and _K_o_r_n shell.
-
- The purpose of the program is to exchange data with other
- systems. You can use the program's _g_e_t 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 _p_u_t 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 _q_u_i_t command to terminate the
- program.
-
- TTHHEE BBOOOOKKMMAARRKKSS FFIILLEE
- 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 _b_o_o_k_m_a_r_k_s file, which is stored in the ._n_c_f_t_p
- 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 _N_e_t_h_a_c_k 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
-
- UUSSIINNGG TTHHEE BBOOOOKKMMAARRKK EEDDIITTOORR
- To manipulate the bookmarks stored in your bookmarks file,
- you use the program's bookmark editor. Run the bookmark
- editor by typing the _b_o_o_k_m_a_r_k_s 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 /_e_d command. Doing that brings up another screen with
- the settings for that bookmark.
-
- In the _B_o_o_k_m_a_r_k _O_p_t_i_o_n_s 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.
-
- BBOOOOKKMMAARRKK OOPPTTIIOONNSS
- Edit the _B_o_o_k_m_a_r_k _n_a_m_e 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
- _U_s_e_r, _P_a_s_s_w_o_r_d, and _A_c_c_o_u_n_t 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 _D_i_r_e_c_t_o_r_y 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 _T_r_a_n_s_f_e_r _T_y_p_e field can be changed to use a different
- translation mode when transferring files. This program is
- usually running on a _U_N_I_X system, and most remote systems
- are also _U_N_I_X variants, so the default transfer type is
- _b_i_n_a_r_y, which does no translation at all.
-
- However, when you need to work with plain text files and
- transfer them between non-_U_N_I_X systems, you can change
- this to _A_S_C_I_I. That will guarantee that the text-only
- files will translate correctly. Most often, you will need
- to use the _b_i_n_a_r_y transfer type.
-
- The _P_o_r_t 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 _H_a_s _S_I_Z_E _C_o_m_m_a_n_d field will probably not need to be
- edited. This field is mostly for your information only.
- The _S_I_Z_E command is an _F_T_P _P_r_o_t_o_c_o_l 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 _H_a_s _M_D_T_M _C_o_m_m_a_n_d 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 _C_a_n _U_s_e _P_a_s_s_i_v_e _F_T_P field specifies whether the remote
- server allows use of the _F_T_P _P_r_o_t_o_c_o_l's _P_A_S_V command.
- There are two ways to set up FTP connections. The default
- way is what I call _P_o_r_t _F_T_P. Unfortunately, _P_o_r_t _F_T_P can-
- not be used when your local host is hiding behind a _F_i_r_e_-
- _w_a_l_l. _P_a_s_s_i_v_e _F_T_P 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 _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m 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 _U_N_I_X, the _l_s command tries to
- use the _-_C_F flags, like you could with ``/bin/ls -CF'' on
- _U_N_I_X. If the OS wasn't _U_N_I_X, 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.
-
- PPRREEFFEERREENNCCEESS
- In addition to remote-host specific options, the program
- has global options that are user-configurable. To change
- the program's preferences, run the _p_r_e_f_s command from
- within the program.
-
- The _D_e_f_a_u_l_t _o_p_e_n _m_o_d_e 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 _a_n_o_n_y_m_o_u_s. You
- might want to set this field to _u_s_e_r _& _p_a_s_s_w_o_r_d 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 _a_n_o_n_y_m_o_u_s FTP mode.
-
-
-
-
- NCEMRSoft 2.3.0 6
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- The _A_n_o_n_y_m_o_u_s _p_a_s_s_w_o_r_d 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 _B_l_a_n_k _l_i_n_e_s _b_e_t_w_e_e_n _c_m_d_s 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
- _~_/_._n_c_f_t_p_/_l_o_g, you can set the _U_s_e_r _l_o_g _s_i_z_e 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 _M_a_x _b_o_o_k_m_a_r_k_s _t_o _s_a_v_e 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 _p_a_g_e_r program to
- view large amounts of text. For example, the _p_a_g_e 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 _p_a_g_e_r field.
-
- When you transfer files between the remote host and your
- local host, the program uses a _p_r_o_g_r_e_s_s _m_e_t_e_r 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 _P_r_o_g_r_e_s_s _m_e_t_e_r field.
-
- You can control how much of the remote server's chatter is
- printed by changing the _R_e_m_o_t_e _m_e_s_s_a_g_e_s 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 _s_t_a_r_t_u_p _m_e_s_s_a_g_e. Typically, when you
- connect to a server it has some important information
- about the server. Some servers have _c_h_d_i_r _m_e_s_s_a_g_e_s, 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 _R_e_m_o_t_e
- _m_e_s_s_a_g_e_s 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 _S_t_a_r_t_u_p _i_n _L_o_c_a_l
- _D_i_r 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 _S_t_a_r_t_u_p
- _m_e_s_s_a_g_e_s field to specify whether the program prints its
- ``splash screen'' and whether it prints a _t_i_p 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 _F_i_l_e _t_i_m_e_s_t_a_m_p_s field.
-
- If you don't like the full-screen graphics, you can use
- the line-oriented mode by changing the _S_c_r_e_e_n _g_r_a_p_h_i_c_s
- field. Once you turn _v_i_s_u_a_l mode off from the _P_r_e_f_e_r_e_n_c_e_s
- screen, you won't be able to get back to the preferences
- screen again when using _l_i_n_e mode. To get back into
- visual mode, you can run the program with the ``-V'' flag,
- like:
-
- ncftp -V
-
- CCOOMMMMAANNDD RREEFFEERREENNCCEE
- I will now describe the commands that the program's com-
- mand shell supports. The first command to know is _h_e_l_p.
- 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 _o_p_e_n 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 _c_d 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 _g_e_t, _p_u_t, and _l_s could be used to
- refer to items in that directory.
-
- Some shells in the _U_N_I_X 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 _c_l_o_s_e 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 _c_r_e_a_t_e 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 _d_e_b_u_g 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 _t_r_a_c_e 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 _~_/_._n_c_f_t_p_/_t_r_a_c_e file, which
- would also have the version information in it.
-
- The _d_i_r command prints a detailed directory listing. It
- tries to behave like _U_N_I_X's ``/bin/ls -l'' command. If
- the remote server seems to be a _U_N_I_X host, you can also
- use the same flags you would with _l_s, for instance
-
- dir -rt
-
- would try to act like
-
- /bin/ls -lrt
-
- would on _U_N_I_X.
-
- The _e_c_h_o 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 _U_N_I_X shell, but
- accepts some extra flags. All ``percent'' flags are fed
- through _s_t_r_f_t_i_m_e(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 _g_e_t 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 _g_e_t command has some powerful features which are
- described below, in ``SPECIAL DOWNLOADING FEATURES.''
-
- The _b_o_o_k_m_a_r_k_s command runs the _B_o_o_k_m_a_r_k _E_d_i_t_o_r. You
- already know how what that does, since you read the sec-
- tion above on it, right?
-
- The _l_c_d 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 _l_c_d
- to change to that directory and then do your downloads.
-
- Another local command that comes in handy is the _l_l_s 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 _l_l_s 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 _l_o_o_k_u_p 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 _I_P addresses, so this would work too:
-
- lookup 129.93.33.24
-
- prints:
-
- typhoon.unl.edu 129.93.33.24
-
- The _l_p_a_g_e 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 _l_p_w_d command is prints the current local directory.
- Use this command when you forget where you are on your
- local machine.
-
- The _l_s command prints a brief directory listing. It tries
- to behave like _U_N_I_X's ``/bin/ls -CF'' command. If the
- remote server seems to be a _U_N_I_X host, you can also use
- the same flags you would with _l_s, for instance
-
- ls -rt
-
- would try to act like
-
- /bin/ls -CFrt
-
- would on _U_N_I_X.
-
- The _m_k_d_i_r 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 _o_p_e_n command connects you to a remote host. Many
- times, you will simply open a host without using any
- flags, but nonetheless the _o_p_e_n command has some flags to
- enable certain features.
-
- To force an anonymous open, use the ``-a'' flag. On the
- _f_t_p_._p_r_o_b_e_._n_e_t machine, which is the official archive site
- for _N_c_F_T_P, I have a need to use both anonymous logins and
- user logins. The _B_o_o_k_m_a_r_k _E_d_i_t_o_r 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 _B_o_o_k_m_a_r_k _E_d_i_t_o_r 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 _w_u_a_r_c_h_i_v_e_._w_u_s_t_l_._e_d_u 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 _o_p_e_n command will run the _B_o_o_k_m_a_r_k _E_d_i_t_o_r if you don't
- supply a hostname to open. You can use the _B_o_o_k_m_a_r_k _E_d_i_-
- _t_o_r to select a host and open it by hitting the _r_e_t_u_r_n
- key.
-
- The _p_a_g_e 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 _p_a_g_e_r field in the _P_r_e_f_-
- _e_r_e_n_c_e_s screen to view the file.
-
- The _p_d_i_r and _p_l_s commands are equivalent to _d_i_r and _l_s
- respectively, only they feed their output to your pager.
- These commands are primarily for _l_i_n_e _m_o_d_e because direc-
- tory listings can scroll offscreen. If you do a normal _l_s
- while in _v_i_s_u_a_l mode, if it would go offscreen, the built-
- in pager kicks in automatically. Therefore I don't recom-
- mend using _p_d_i_r and _p_l_s while in _v_i_s_u_a_l mode.
-
- The _r_e_d_i_r and _p_r_e_d_i_r commands give you a way to re-display
- the last directory listing. The program saves the output
- from the last _d_i_r or _l_s command you did, so if you want to
- see it again you can do this without wasting network band-
- width. The _p_r_e_d_i_r command is the same as _r_e_d_i_r, 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 _p_u_t 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 _p_u_t 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 _g_e_t com-
- mand has, except for the ``-z'' option.
-
- The _p_w_d command prints the current remote working direc-
- tory. In _v_i_s_u_a_l mode, this is in the status bar.
-
- If you need to change the name of a remote file, you can
- use the _r_e_n_a_m_e command, like:
-
- rename SPHYGMTR.TAR sphygmomanometer-2.3.1.tar
-
- Of course, when you finish using the program, type _q_u_i_t to
- end the program (You could also use _b_y_e, _e_x_i_t, or _^_D).
-
- The _q_u_o_t_e command can be used to send a direct _F_T_P _P_r_o_t_o_-
- _c_o_l command to the remote server. Generally this isn't
- too useful to the average user (or me either).
-
- The _r_h_e_l_p command sends a help request to the remote
- server. The list of _F_T_P _P_r_o_t_o_c_o_l 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 _r_m
- 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 _U_N_I_X.
-
- Similarly, the _r_m_d_i_r command removes a directory. Depend-
- ing on the remote server, you may be able to remove a non-
- empty directory, so be careful.
-
- The _s_e_t command is provided for backward compatibility
- with older versions of the program, and is superseded by
- the _p_r_e_f_s 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 _P_r_e_f_e_r_e_n_c_e_s screen. The short names of the
- preferences fields can be found by browsing your
- _~_/_._n_c_f_t_p_/_p_r_e_f_s file. This command is mainly for use with
- _l_i_n_e _m_o_d_e, 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 _s_i_t_e.
- The _F_T_P _P_r_o_t_o_c_o_l allows for ``site specific'' commands.
- These ``site'' commands vary of course, but one common
- sub-command that is useful that some sites support is
- _c_h_m_o_d, 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 _t_y_p_e 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 _v_e_r_s_i_o_n 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
-
-
- SSPPEECCIIAALL DDOOWWNNLLOOAADDIINNGG FFEEAATTUURREESS
- You probably already know that you use the _g_e_t command to
- copy files on the remote host to the local host. But the
- _g_e_t command has a few other tricks that you might find
- useful. First of all, _n_c_f_t_p 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 _m_i_r_r_o_r 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 _n_c_f_t_p 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
- _g_e_t 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 _w_i_l_d_c_a_r_d _m_a_t_c_h_i_n_g with _g_e_t by using
- the ``-G'' flag. Other _F_T_P 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. _N_c_F_T_P differs in that
- respect, and if you used the older programs, you would
- find that the program's _g_e_t behaves more like those other
- program's _m_g_e_t command. This means that in _N_c_F_T_P_,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 _g_e_t 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 _g_e_t
- command. Other FTP programs provided a _r_e_g_e_t 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 _r_e_g_e_t command to continue the
- transfer where it was cut off.
-
- _N_c_F_T_P 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 _g_e_t 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.
-
- MMAACCRROOSS
- 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 _m_a_c_r_o_s
- file in your _._n_c_f_t_p subdirectory of your home directory.
- Your _~_/_._n_c_f_t_p 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 _m_a_c_r_o_s 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 _f_t_p 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 _n_c_f_t_p com-
- mand.
-
- Macros can also have parameters, much like the _K_o_r_n
- _S_h_e_l_l's shell functions and the _C_-_S_h_e_l_l'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 _c_d to /pub, and then try to list its
- contents with _l_s.
-
- Dollar variables are somewhat like those in the _B_o_u_r_n_e and
- _K_o_r_n 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 _e_v_e_n_t _m_a_c_r_o_s.
- The program looks for macros by special names, and if they
- exist, runs the macro when that event happens.
-
- One event macro is the _._s_t_a_r_t_._n_c_f_t_p 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 _._q_u_i_t_._n_c_f_t_p 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 _._o_p_e_n_._t_y_p_h_o_o_n and _._c_l_o_s_e_._t_y_p_h_o_o_n
- which would run each time I opened and closed ``typhoon.''
-
- Another, more generic set of event macros are the
- _._o_p_e_n_._a_n_y and _._c_l_o_s_e_._a_n_y 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 _m_a_c_d_e_f _i_n_i_t hack that
- the traditional _f_t_p program used in its _._n_e_t_r_c file. For
- example:
-
- macro .open.infomac
- echo "Getting recent files list"
- get -z /pub/info-mac/help/recent-files ~/docs/recent
- ls -lrt
- end
-
- UUSSIINNGG CCOOLLOONN MMOODDEE
- The _c_o_l_o_n_-_m_o_d_e feature is used from your shell's command
- line.
-
- In ancient times, way back during the Disco Era, you could
- use a program called _t_f_t_p to fetch a file using the Inter-
- net standard _T_r_i_v_i_a_l _F_i_l_e _T_r_a_n_s_f_e_r _P_r_o_t_o_c_o_l_. 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_-_s_h_e_l_l to run
- _N_c_F_T_P, which would open wuarchive, fetch /graph-
- ics/gif/README and write the file /README in the current
- working directory, and then exits.
-
- The _c_o_l_o_n_-_m_o_d_e 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 _U_n_i_f_o_r_m _R_e_s_o_u_r_c_e _L_o_c_a_t_o_r 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 _c_o_l_o_n_-_m_o_d_e file in the current working directory,
- or perhaps you want to pipe the output of a remote file
- into something else. _C_o_l_o_n_-_m_o_d_e has options to do this.
- It was inspired by the guy who wrote the _f_t_p_c_a_t 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 _m_o_r_e) Of course this won't work
- if the thing you give _c_o_l_o_n_-_m_o_d_e 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
-
- UUSSIINNGG LLIINNEE MMOODDEE
- The only reason I provide _l_i_n_e _m_o_d_e is so that the primi-
- tive operating systems whose _c_u_r_s_e_s library is missing or
- dysfunctional won't render the program completely useless.
-
- exceptions of the functions that require _v_i_s_u_a_l _m_o_d_e, such
- as the _P_r_e_f_e_r_e_n_c_e_s screen and the _B_o_o_k_m_a_r_k _E_d_i_t_o_r. You
-
-
-
- NCEMRSoft 2.3.0 20
-
-
-
-
-
- NcFTP(1) NcFTP(1)
-
-
- will have to edit the _~_/_._n_c_f_t_p_/_p_r_e_f_s and
- _~_/_._n_c_f_t_p_/_b_o_o_k_m_a_r_k_s file manually, with a text editor.
-
- As a small consolation, you get to use the full-powered
- line-editing libraries, like _G_N_U _R_e_a_d_l_i_n_e if they were
- compiled with the program.
-
- SSUUMMMMAARRYY OOFF CCOOMMMMAANNDD LLIINNEE OOPPTTIIOONNSS
- When you invoke the program from your shell, there are
- ``dash flags'' you can use like you can with most other
- _U_N_I_X 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 _t_r_a_c_e in your
- _._n_c_f_t_p subdirectory of your home directory. If you need
- to report a bug, it would be helpful to mail me the _t_r_a_c_e
- file so I can track it down better.
-
- In addition to the program flags, you can also use flags
- from the _o_p_e_n and _g_e_t commands with a _c_o_l_o_n _m_o_d_e 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.
-
- AAUUTTHHOORR
- _N_c_F_T_P was written by Mike Gleason, _N_C_E_M_R_S_o_f_t (mglea-
- son@probe.net). _N_c_F_T_P is copyrighted 1995 by NCEMRSoft.
- All rights reserved.
-
- As of this writing, the most recent version is archived in
- /pub/ncftp, on _f_t_p_._p_r_o_b_e_._n_e_t.
-
- TTHHAANNKKSS
- Ideas and some code contributed by my partner, Phil Dietz,
- _N_C_E_M_R_S_o_f_t (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 _P_r_o_b_e _T_e_c_h_n_o_l_-
- _o_g_y, for giving _n_c_f_t_p a home on _p_r_o_b_e_._n_e_t, 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.
-
- BBUUGGSS
- Due to a limitation in the _c_u_r_s_e_s library, scrolling may
- be slow in visual mode.
-
- Shell escapes, suspending (^Z) and resuming, and interrup-
- ing (^C) still have quirks with _v_i_s_u_a_l _m_o_d_e.
-
- There are no such sites named _b_o_w_s_e_r_._n_i_n_t_e_n_d_o_._c_o_._j_p or
- _s_p_h_y_g_m_o_m_a_n_o_m_e_t_e_r_._u_n_l_._e_d_u.
-
- SSEEEE AALLSSOO
- _f_t_p(1), _f_t_p_d(8), _n_s_l_o_o_k_u_p(1), _a_r_c_h_i_e(1), _r_c_p(1), _t_f_t_p(1).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- NCEMRSoft 2.3.0 22
-
-
-
-