packages icon



 uftp(1)                                                             uftp(1)




 Name
      uftp - universal file transfer program

 Syntax
      uftp

      uftp alias_or_command [args]

      uftp hostname


 Description
      The uftp is user interactive and non-interactive program to the
      ARPANET File Transfer Protocol (RFC959).  The uftp allows user to
      transfer files, group of files, threes of directories in foreground
      and background modes. uftp runs on the client host.



 Basic features
      Auto retrying of connection to remote node until it is succeeded.

      Automatic reconnection with continue to transfer if the connection was
      broken.

      Several sessions (frames) simulteniously. Dynamically switching
      between them.

      Setup commands, which are executed after "open" and "cd" commands.
      (aliases autologin & autocd )

      Cleaning timeout on the remote server (by default switched off).

      The user can setup a lot of system parameters, like timeouts,
      reconnect delays, default port number, automatic binary mode,
      automatic "hash" mode and interval to clean timeouts on FTP server.
      (by default it is turned off)

      User can setup the prompt with the descriptions of local and remote
      directories, full or short site name, time, frame number, remote
      user's name, port number, timeout, process identification.

      Several commands in one line (separated by ';').

      Aliases with arguments, which may contain few commands separated by
      ';'.

      Redirection input/output irrespective of context or/and command.

      The local files are libftp-files, which split on local filesand pipes.
      This particular file specification can be used in any context,



                                    - 1 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




      including for file names of redirection input/output streams.

      Any command may be executed in background mode, though the current
      frame is not dropped out and user can continue his work.

      Creation of alias described the current frame, and save all exist
      aliases to personal automatic startup file, which is differ from
      startup file. This file user can make himself.

      Completion mechanism which predefined to apply existing commands
      aliases and known hosts and can be modified by user (using command
      compctl).

      Automatic file-search using archie-server that.

      Receiving files thru HTTP-proxyserver.


 Environment description
      Command line mode supports all edit key bindings and completion
      mechanism. (uftp using public domain getline library). Before each
      command user have the prompt with description of current frame.  If
      debug mode is enabled user see the protocol between uftp and ftp-
      daemon (ftpd).




 Commands
      compctl   [arg1] [arg2] [arg3]

                This function gives possibility to manage completion of
                commands typed by user in command line. Without any argument
                last one prints list of already existed command in compctl-
                cache. Otherwise you push new one to stack. For example you
                push to lines in your startup files such as "compctl set
                login albert" and "compctl set login manager", if later you
                press <TAB> after typing "login" you got list with two
                words, and after pressing "a" or "m" and <TAB> you will
                complete one from them.



      connect   [host-name]

                Connect to remote site.


      open      [host-name] [user-name] [password] [directory]

                Makes connection to remote site, sent login, password and



                                    - 2 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




                change directory. If the "try" option is set an attempt to
                connect will be forced until success.


      ftp       [hostname] [directory]

                Anonymous connection to ftp-site.


      reopen     Reopen broken frame.


      preconnect
                [host-name] [user-name] [password] [directory]

                Makes data for future connection in the cache. If after that
                you will do some transfer operation like get or put ....
                connection will be maded just before transfer, it can be
                usable if you don't have access to server right now and want
                to keep task for execution at time when it will be possible.


      close      Close the current connection.


      quit

      exit       Quit from uftp (You can press Control-D)


      list       Description list of all frames.


      user      [user-name] [password]

                Send user's name to site, automatically require password if
                needed.


      pass      [password]

                Specify user's password.


      bin        Set binary transfer mode.


      ascii      Set ASCII transfer mode.






                                    - 3 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




      cd        directory_name

                Change the current directory on remote site.


      acd       [directory_name]

                Archie searching by specified pattern with subsequent
                connection to desired point. Maximum number of possible
                points is 20.  Afterwards user can select any point. If user
                don't specify "directory_name", last search buffer is
                displayed for selection, if this buffer is not empty.


      lcd       directory_name

                Local change directory. User can use meta-characters.


      abort      Abort execute of last procedure with server.


      mkdir     directory_name

                Create new directory on the server.


      rm        filename_or_pattern

                Remove specified file(s) on the server.


      mv        old_filename new_filename

                Move file on the server.


      dir       [keys] [filename_spec] ....

                Make long list of specified file(s) with date, size, etc...


      ls        [keys] [filename_spec] ....

                Make short list of specified file(s).


      get       remote_filename [local_filename_or_directory]

                Receive the file from the server to local file system (only
                one file!).  If option "rest" is turn on then transfer



                                    - 4 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




                starts from the end of local file.


      pget      HTTP-file-specification

                Receive the file using HTTPD as gateway for transferring.
                Using that you can transfer files (ftp://hostname/path/file)
                or other objects (for example: http://www.cern.ch). For
                setting http-server and his port will use "set wwwgateway"
                and "set wwwport"


      mget      [remote_filename] [local_directory]

                Receive many files from the server to local file system. If
                you run this command without arguments you will transfer all
                files in that directory including subdirectories and his
                files.


      aget      [pattern_for_archie]

                Getting the file, which need to find via archie service. See
                also "acd" description.


      aaget     [pattern_for_archie]

                Getting the file, which need to find via archie service and
                retrieving it from any host which accessible. If connection
                to server will broke then reconnect to another server or
                some if only one and continue to transfer from last point.


      put       local_filename [remote_filename]

                Put one file to server.


      mput      local_filename(s)

                Put specified file(s) to server.


      copy      [frame/]filename [frame/]filename

                Copy one file from first frame to second. If the frame
                number is not specified then use current frame number.
                Transfer operation executes via libftp cache.





                                    - 5 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




      ccopy     [frame/]filename [frame/]filename

                Copy one file from first frame to second. If the frame
                number is not specified then used current frame number.
                Transfer operation executes via leased line between two
                servers cache.



      cat       filename

                Display context of specified file on screen. For display
                file with page-scrolling you can define once command for
                example "less" as "alias less get $1 |less".


      page       The same as cat, but with using of pager. Name of pager
                specified in environment variable PAGER or "more" by
                default. (It's just predefined possibility described bellow)


      bg        any_command

                any_command &

                Run any command in background mode. Default output is
                redirected to /tmp/uftp-<user_name>/XXXXXX file.


      archie    [pattern]

                Archie search. In case if argument are omitted, reprint last
                search. (same for acd and aget)


      dup        Create new frame as current.


      quote      Send raw command to server. If option "glassmode" is set
                then all non-recognized commands send to server as raw also.


      help      [command]

                Print brief help or help for specified command.


      setenv    variable_name value

                Setup system's environment variable.




                                    - 6 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




      unsetenv  variable_name

                Remove system's environment variable.


      env        Print system's environment variables.


      alias     alias_name alias_string

                Makes new alias, if the alias string uftp contains string
                like $1, $2, $* then it will be replaced by argument to
                alias. If this sequences in alias is not found, then all
                existing alias's arguments will append to end of alias call
                string. User can insert to alias string like \> \< for
                future redirect input/output. Quotes ' and " can be used
                also.


      unalias   alias_name

                Remove specified alias.


      mkalias   alias_name

                Makes new alias, which user can use in future for login to
                this point again. See also "savealiases"


      savealiases

                Save all aliases in startup file.



 Libftp file specification
      All local files interpret as libftp's files. Libftp responds to two
      types of files such
       as local file and program pipes. All files can be described as next
      syntax:

         |string - interprets string as shell command, which must be
      executed with appropriate input/output for file. It depends where
         this file is specified.

         *STDIN*, *STDOUT*, *STDERR* or char '-' - opened streams.

         anything - local file name.





                                    - 7 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




 String syntax
      The strings starting from char '!' interpret as shell command.  The
      strings or aliases containing one or few char ';' will be executed as
      a chain commands.  The chains of characters between  " or ' interpret
      as one set without syntax resolving.  In any command string user can
      redirect input or/and output using char > and < . For the complex file
      name it must quoted by ' or ".

      Examples:

           dir >filename

           cat filename >'|mail -s "my files" fiend@hostname.domain'

           dir -R etc bin >"|gzip >result.gz"

           put - < "|finger @hostname" newfile.finger



 Options (command set)
      set

           Show all current settings.


      set  frame <frame_number>

           Switch to another frame. You can also switch by insert on frame
           number to the begin of command line.


      set  timeout <seconds>

           Set timeout for send/receive operations.


      set  noop <secs>

           Set interval for send NOOP command to each connected server for
           cleaning timeouts.


      set  nooptimeout <seconds>

           Set timeout for NOOP operation.


      set  sleep <secs>

           Set pause interval between transfer attempts.



                                    - 8 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




      set  debug <y|n>

           Enable or disable protocol debug output


      set  try <y|n>

           Enable or disable retrys after lost peer.


      set  hash <y|n>

           Enable or disable trace for the transfer operations.


      set  restore <y|n>

           Enable or disable default transfer starting from end of file.


      set  bin <y|n>

           Automatic binary mode.


      set  prompt <prompt_string>

           Set the prompt. Prompt is a string, which may contain %<char> or
           ^<char> combitanions with the next embodies:

                          %H, %h - full and short remote host names
                          %M, %m - full and short local host names
                          %u     - remote user's name
                          %d     - remote current directory
                          %D     - local current directory
                          %f     - number of current frame
                          %p     - the ftp's port number
                          %t     - timeout
                          %T     - current time
                          %P     - uftp process id
                          %%     - character %
                          ^<char>- control character
                          %^     - character ^



      set  port <number>

           Set default FTP's port for next sessions.





                                    - 9 -      Formatted:  December 27, 2024






 uftp(1)                                                             uftp(1)




      set  user <user_name>

           Set default user's name.


      set  wwwgateway <host_name>

           Set www proxy gateway name or it's address.


      set  wwwport <port_number>

           Set port number for http-proxy server.


      savesets

           Save all sets to startup file.


 Startup file
      User can modify his startup file created automatically. This file may
      contain some uftp's commands separated by new-line. The name of this
      file is ~/.uftprc.  The file ~/.uftp_aliases ~/.uftp_sets is created
      automatically by uftp's command "savealias" or "savesets", so it is
      not needed to edit handy.  The file ~/.uftp_hosts can contain list of
      hosts for uftp's command which have host's name as argument.


 Author of uftp and libftp
        Oleg Orel

        Europien Organization for Nuclear Research
        Geneva, SWITZERLAND

        E-mail: orel@dxunk1.cern.ch




 See also (and compare)
       ncftp (1),  ftp (1),  ftpd (8)












                                   - 10 -      Formatted:  December 27, 2024