This is yafc.info, produced by makeinfo version 4.2 from yafc.texi.

START-INFO-DIR-ENTRY
* Yafc: (yafc).  Yet Another FTP Client
END-INFO-DIR-ENTRY
   This file documents Yafc version 1.0

   Copyright (C) 1999-2000 Martin Hedenfalk

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the copyright holder.


File: yafc.info,  Node: Top,  Next: Overview,  Up: (dir)

   This document describes YAFC, an interactive interface to the FTP
protocol.  This document applies to version 1.0.

* Menu:

* Overview::                    Introduction to Yafc
* Invoking Yafc::               How to start Yafc
* The shell::
* Configuration::               How to configure Yafc
* Bookmarks::
* Kerberos::                    How Yafc uses Kerberos


File: yafc.info,  Node: Overview,  Next: Invoking Yafc,  Prev: Top,  Up: Top

Overview
********

   This manual documents YAFC. YAFC is quite a powerful ftp client.  It
is a console interface to the ftp protocol. If you're looking for a nice
GUI client, Yafc is not for you. If you, however, use ftp often and
want a fast, powerful, friendly client Yafc is here for you...

   Some of the features are recursive transfers, nohup transfers,
colored ls, cached directory listings, autologin and bookmarks,
powerful aliases and extensive tab completion. It has also support for
Kerberos authentication.

   This manual is incomplete, and possibly out of date. If you would
like to improve this manual, please send a message to
<yafc-devel@lists.sourceforge.net>.

* Menu:

* Bugs::                Reporting bugs and requests
* Obtaining Yafc::      Where to get Yafc
* Motivation::          Why Yafc was written


File: yafc.info,  Node: Bugs,  Next: Obtaining Yafc,  Up: Overview

Bugs
----

   Please report bugs to <yafc-devel@lists.sourceforge.net>.  Before
reporting a bug, please verify you're using the latest version (check
the ftp site.) You can get the version number of your copy of yafc with
the command `yafc --version'.

   When reporting bugs, please include information on what machine and
operating system, including versions, you are running, an example for
me to reproduce (use the `--trace' option) and a patch if you have one.


File: yafc.info,  Node: Obtaining Yafc,  Next: Motivation,  Prev: Bugs,  Up: Overview

Obtaining Yafc
--------------

Yafc homepage
     `http://yafc.sourceforge.net/'

Yafc SourceForge Project Page
     `http://sourceforge.net/projects/yafc/'


File: yafc.info,  Node: Motivation,  Prev: Obtaining Yafc,  Up: Overview

Motivation
----------

   Yafc was created because I needed a good ftp client.  The standard
BSD ftp client lacks tab completion, something I've become used to and
can't live without. Of course, both Lftp and NcFtp has tab completion,
but not good enough for me :-). Also, I needed a client that understood
Kerberos4 authentication, because that's the security system used a KTH
(The Royal Institute of Technology in Sweden, where I am studying.)

   But perhaps most important, I needed a fun project to work on :-)


File: yafc.info,  Node: Invoking Yafc,  Next: The shell,  Prev: Overview,  Up: Top

Invoking Yafc
*************

   Usage:
     yafc [options] [proto://][USER[:PASSWORD]@]HOSTNAME[:PORT][/DIRECTORY]

   The 'proto' keyword can be either 'ftp' for ordinary FTP protocol, or
'ssh' for SSH2 protocol (sftp).

   Options:

`-a'
`--anon'
     Try an anonymous login, ie login as "anonymous" with your email
     address as password. Your email address is first looked for in the
     config file (*Note Keywords::), then in the $EMAIL environment
     variable. If it's not found, a guess is made from your user- and
     hostname.

`-d'
`--debug'
     Print all messages sent to/from server.

`-D'
`--dump-rc'
     Prints the default configuration file to standard output.

`-m'
`--mechanism=MECH'
     Try security mechanism MECH when logging in to the host specified
     on the command line. This will override any 'mech' options in
     `yafcrc' or `bookmarks'. MECH is a colon-separated string,
     supported values are "krb4", "krb5" and "none". The mechanisms are
     tried in the order specified.

`-n'
`--norc'
     Do not read the users configuration file. This will cause yafc to
     use its default settings.

`-p'
`--noproxy'
     Do not connect via the proxy. This should be used if connecting to
     a host on the local network.

`-q'
`--quiet'
     Do not print the welcome message with copyright information when
     starting Yafc.

`-r FILE'
`--rcfile=FILE'
     Read another configuration file.

`-t FILE'
`--trace[=FILE]'
     Enable creation of trace file. Trace files are mainly for
     debugging and includes every response and command Yafc
     receives/sends. If FILE is specified, use that file instead of the
     default trace file (`~/.yafc/trace/trace.pid', where pid is the
     process id number of Yafc.)  Trace files can grow quite large and
     can safely be deleted.

`-u'
`--noauto'
     Do not login automagically to the host specified on the command
     line. You can still use bookmark aliases, though.

`-U'
`--noalias'
     As --noauto, but bookmark aliases is disabled.

`-v'
`--verbose'
     Print all responses received (without response code.)

`-w'
`--wait=TIME'
     Use a different time to wait between connection attempts, in
     seconds.  This overrides the value set by `connect_wait_time' in
     the configuration file.

`-W'
`--workdir=DIR'
     Use a different working directory for configuration files and
     temporary files. Default is `~/.yafc'.

`-V'
`--version'
     Print version information on stdout and exit successfully.

`-h'
`--help'
     Print a short help description on stdout and exit successfully.


File: yafc.info,  Node: The shell,  Next: Configuration,  Prev: Invoking Yafc,  Up: Top

The shell
*********

   Yafc presents the user with an internal shell. Command redirection is
available, using the conventional shell syntax (eg `cat foo.txt > foo'
will copy the remote file foo.txt to the local file foo.) Input
redirection, however, is not supported. Also asynchronous mode is not
supported. The following will thus be rejected: `ls |emacs &' or `open
< login.foo'.

* Menu:

* Yafc commands::               all yafc internal commands
* Nohup transfers::


File: yafc.info,  Node: Yafc commands,  Next: Nohup transfers,  Up: The shell

Yafc commands
=============

   All commands follow the usual GNU command line syntax, with long
options starting with two dashes (`--').

   Most commands have an option `--help' that shows a short syntax
description.

* Menu:

* !::                           execute shell command
* afslog::                      obtain remote AFS tokens
* alias::                       create an alias
* bookmark::                    create a bookmark
* cache::                       control directory cache
* cat::                         view a text file
* cd::                          change working directory
* cdup::                        change to parent directory
* chmod::                       change access mode (permissions) of files
* close::                       close connection
* copyright::                   show copyright notice
* filetime::                    print file modification time
* flush::                       flush replies
* fxp::                         transfer files between hosts
* get::                         get files
* help::                        don't panic
* idle::                        modify idle time
* kauth::                       authenticate to Kerberos
* kdestroy::                    destroy Kerberos tickets
* klist::                       list Kerberos tickets
* krbtkfile::                   specify Kerberos ticket file
* lcd::                         change local working directory
* list::                        show raw directory listing
* lpwd::                        print local working directory
* ls::                          show directory listing
* ltag::                        tag local files
* luntag::                      remove files from local taglist
* mkdir::                       create directory
* mv::                          move files
* nlist::                       show filename list
* nop::                         do nothing
* open::                        open a connection
* prot::                        change Kerberos data protection level
* put::                         put files
* pwd::                         print working directory
* quit::                        quit Yafc
* quote::                       send arbitrary FTP command
* reopen::                      reopen active connection
* rhelp::                       remote help
* rm::                          remove files
* rmdir::                       remove empty directory
* rstatus::                     show status
* set::                         show and set variables
* shell::                       execute local shell
* site::                        issue a site specific FTP command
* source::                      read a configuration file
* status::                      show local status
* switch::                      switch between open connections
* system::                      show type of system
* tag::                         tag files
* unalias::                     remove an alias
* untag::                       remove files from taglist
* url::                         print the current FTP url
* user::                        send new user information
* version::                     show Yafc version
* warranty::                    show lack of warranty


File: yafc.info,  Node: !,  Next: afslog,  Up: Yafc commands

`!'
---

   This is a synonym for the shell (*Note shell::) command.


File: yafc.info,  Node: afslog,  Next: alias,  Prev: !,  Up: Yafc commands

`afslog'
--------

   Obtain remote AFS tokens.


File: yafc.info,  Node: alias,  Next: bookmark,  Prev: afslog,  Up: Yafc commands

`alias'
-------

   Define an alias.


File: yafc.info,  Node: bookmark,  Next: cache,  Prev: alias,  Up: Yafc commands

`bookmark'
----------

   Handle bookmarks. If no options are given, the default action is to
create a bookmark for the current open connection. If no bookmark name
is given on the command line, the bookmark will be given an alias based
upon the hostname.

   Usage:
     bookmark [options] [bookmark name ...]

   Options:

`-s[FILE]'
`--save[=FILE]'
     Save bookmarks in memory to file. If the optional parameter FILE is
     omitted, save to default bookmarks file `WORKDIR/bookmarks'.

`-e'
`--edit'
     Start editor (found in $EDITOR environment variable) with your
     bookmarks file.

`-r[FILE]'
`--read[=FILE]'
     Read bookmarks from bookmarks file, or file given by optional
     parameter FILE.

`-d'
`--delete'
     Delete bookmarks given as arguments to `bookmark'. The bookmarks
     file will be rewritten.

`-l'
`--list'
     List bookmarks in memory.

`-u'
`--noupdate'
     Toggle the noupdate flag. If no bookmarks are specified on the
     command line, only the current bookmark is affected. The bookmarks
     file will be rewritten.

`-h'
`--help'
     Show short syntax description.


File: yafc.info,  Node: cache,  Next: cat,  Prev: bookmark,  Up: Yafc commands

`cache'
-------

   Control the directory cache.

   Usage:
     cache [options] [directory ...]

   Options:

`-c'
`--clear'
     Clear the whole directory cache.

`-l'
`--list'
     List the contents of the directory cache.

`-t'
`--touch'
     Remove the specified directories from the cache. If no directories
     are given as arguments, the current directory is removed from the
     cache.

`-h'
`--help'
     Show a short help description.


File: yafc.info,  Node: cat,  Next: cd,  Prev: cache,  Up: Yafc commands

`cat'
-----

   Print file(s) on standard output. By default, the files are
transferred in ascii mode (rewriting newlines). If you want to view
binary files through a filter (eg viewing a README.gz through gzip) you
have to use option `--type=binary'.

   Usage:
     cat [options] file ...

   Options:

`-t TYPE'
`--type=TYPE'
     Set transfer type. Valid values for TYPE is ASCII or BINARY.

`-h'
`--help'
     Show a short help description


File: yafc.info,  Node: cd,  Next: cdup,  Prev: cat,  Up: Yafc commands

`cd'
----

   Change remote working directory.

   Usage:
     cd [directory]

   If no argument is given, `cd' changes to the home directory. The home
directory is the current directory when logged in.

   If the argument is '-', `cd' changes to the previous working
directory.


File: yafc.info,  Node: cdup,  Next: chmod,  Prev: cd,  Up: Yafc commands

`cdup'
------

   Changes to parent directory. On UN*X systems, this is the same as
`cd ..'.


File: yafc.info,  Node: chmod,  Next: close,  Prev: cdup,  Up: Yafc commands

`chmod'
-------

   Change the permission mode of remote files.

   Usage:
     chmod mode file ...

   Mode must be given in octal representation (for example: 0644 is
-rw-r--r--).


File: yafc.info,  Node: close,  Next: copyright,  Prev: chmod,  Up: Yafc commands

`close'
-------

   Close active connection.


File: yafc.info,  Node: copyright,  Next: filetime,  Prev: close,  Up: Yafc commands

`copyright'
-----------

   Show copyright.


File: yafc.info,  Node: filetime,  Next: flush,  Prev: copyright,  Up: Yafc commands

`filetime'
----------

   documentation missing...


File: yafc.info,  Node: flush,  Next: fxp,  Prev: filetime,  Up: Yafc commands

`flush'
-------

   documentation missing...


File: yafc.info,  Node: fxp,  Next: get,  Prev: flush,  Up: Yafc commands

`fxp'
-----

   Transfer files from one remote server to another remote server,
bypassing the client. This is done by setting up a passive mode
connection on the source host and using the obtained port for an active
connection on the target host. The source host is the current active
host, the target host must be specified using the `--target=HOST'
option.

   This will not always work with all ftp servers, either because
passive mode is not supported on the source host, or because the target
refuses the given port.  The target ftp server might refuse the port as
a security policy. You might get the error 'Illegal PORT Command' or
'Possible port theft'.

   If the destination file already exists, and none of the options
`--append', `--force', `--newer', `--resume', `--skip-existing' or
`--unique' is given, you will be prompted what to do.

   Usage:
     fxp [options] file ...

   Options:

`-a'
`--append'
     Append if destination exists.

`-D'
`--delete-after'
     Delete remote file after successful transfer.

`--dir-mask=GLOB'
     Enter only directories matching GLOB pattern.

`--dir-rx-mask=REGEXP'
     Enter only directories matching REGEXP pattern.

`-e'
`--skip-empty'
     Skip empty files (files with a size of zero bytes).

`-f'
`--force'
     Overwrite existing destinations, never prompt.

`-H'
`--nohup'
     Transfer files in background (nohup mode), quits yafc.

`-i'
`--interactive'
     Prompt before each transfer.

`-L FILE'
`--logfile=FILE'
     Use FILE as logfile instead of `~/.yafc/nohup/nohup.<pid>'.

`-m GLOB'
`--mask=GLOB'
     Only transfer files matching GLOB pattern.

`-M REGEXP'
`--rx-mask=REGEXP'
     Only transfer files matching REGEXP pattern.

`-n'
`--newer'
     Only transfer file if remote is newer than local file.

`-o DEST'
`--output=DEST'
     Specify other destination. If more than one file is transferred,
     or option `--recursive' is given, DEST denotes a directory.
     Otherwise (if only one file is to be transferred), DEST denotes a
     filename.

     Examples:
          fxp --target=2 foo.tar.gz -o bar.tar.gz
     will transfer the remote file `foo.tar.gz' on the currently active
     remote server to the remote file `bar.tar.gz' on the remote server
     specified with the `--target' option (in this case the second open
     connection).

          fxp --target=funet *.tar.gz -o foo
     will transfer all remote `*.tar.gz' files to a directory named
     `foo' on the host specified with the `--target' option (in this
     case 'funet').

          fxp -T ftp.stacken.kth.se foo -r -o bar
     will transfer the remote file `foo' to a directory named `bar' on
     ftp.stacken.kth.se.  If `foo' is a directory, it will be
     downloaded recursively.

`-p'
`--preserve'
     Try to preserve file attributes.

`-P'
`--parents'
     Append source path to destination.

`-q'
`--quiet'
     Overrides `--verbose'.

`-r'
`--recursive'
     Transfer directories recursively.

`-R'
`--resume'
     Resume broken download (restart at EOF).

`-s'
`--skip-existing'
     Always skip existing files.

`-t'
`--tagged'
     Transfer tagged files.

`-T HOST'
`--target=HOST'
     This option is required and specifies which remote server is the
     target.  The HOST parameter can be a complete hostname, an alias
     or the connection number. The connection number is 1 for the first
     open connection, 2 for the second and so on. It might be useful to
     include that information in the prompt using the `%C' code, *Note
     Prompt codes::.

`--type=TYPE'
     Specify transfer type, 'ascii' or 'binary'.

`-u'
`--unique'
     Always store as unique target file.

`-v'
`--verbose'
     Explain what is being done.

`--help'
     Show a short syntax description.


File: yafc.info,  Node: get,  Next: help,  Prev: fxp,  Up: Yafc commands

`get'
-----

   Transfer files from remote server to local computer.

   If the destination file already exists, and none of the options
`--append', `--force', `--newer', `--resume', `--skip-existing' or
`--unique' is given, you will be prompted what to do.

   Usage:
     get [options] file ...

   Options:

`-a'
`--append'
     Append if destination exists.

`-c PERM'
`--chmod=PERM'
     Change mode of transferred files to PERM.

`--chgrp=GROUP'
     change group of transferred files to GROUP.  You need to be a
     member of GROUP.

`-d'
`--no-dereference'
     Copy symbolic links as symbolic links.

`-D'
`--delete-after'
     Delete remote file after successful transfer.

`-e'
`--skip-empty'
     Skip empty files (files with a size of zero bytes).

`--dir-mask=GLOB'
     Enter only directories matching GLOB pattern.

`--dir-rx-mask=REGEXP'
     Enter only directories matching REGEXP pattern.

`-f'
`--force'
     Overwrite existing destinations, never prompt.

`-H'
`--nohup'
     Transfer files in background (nohup mode), quits yafc.

`-i'
`--interactive'
     Prompt before each transfer.

`-L FILE'
`--logfile=FILE'
     Use FILE as logfile instead of `~/.yafc/nohup/nohup.<pid>'.

`-m GLOB'
`--mask=GLOB'
     Only get files matching GLOB pattern.

`-M REGEXP'
`--rx-mask=REGEXP'
     Only get files matching REGEXP pattern.

`-n'
`--newer'
     Only get file if remote is newer than local file.

`-o DEST'
`--output=DEST'
     Specify other destination. If more than one file is transferred,
     option `--recursive' is given, or DEST ends in a slash, then DEST
     denotes a directory. Otherwise (if only one file is to be
     transferred), DEST denotes a filename. However, if DEST already
     exists and is a directory, DEST denotes a directory.

     Examples:
          get README -o readme
     will transfer the remote file `README' to the local file `readme'
     if `readme' is not an existing local directory.

          get README -o readme/
     will transfer the remote file `README' to the local directory
     `readme'.

          get *.tar.gz -o foo
     will transfer all remote `*.tar.gz' files to a local directory
     named `foo'.

          get foo -r -o bar
     will transfer the remote file `foo' to a local directory named
     `bar'.  If `foo' is a directory, it will be downloaded recursively.

`-p'
`--preserve'
     Try to preserve file attributes and timestamps.

`-P'
`--parents'
     Append source path to destination.

`-q'
`--quiet'
     Overrides `--verbose'.

`-r'
`--recursive'
     Get directories recursively.

`-R'
`--resume'
     Resume broken download (restart at EOF).

`-s'
`--skip-existing'
     Always skip existing files.

`-t'
`--tagged'
     Transfer tagged files.

`--type=TYPE'
     Specify transfer type, 'ascii' or 'binary'.

`-u'
`--unique'
     Always store as unique local file.

`-v'
`--verbose'
     Explain what is being done.

`--help'
     Show a short syntax description.


File: yafc.info,  Node: help,  Next: idle,  Prev: get,  Up: Yafc commands

`help'
------

   Shows the available commands.


File: yafc.info,  Node: idle,  Next: kauth,  Prev: help,  Up: Yafc commands

`idle'
------

   Show or set the idle timeout.


File: yafc.info,  Node: kauth,  Next: kdestroy,  Prev: idle,  Up: Yafc commands

`kauth'
-------

   Authenticate to Kerberos.


File: yafc.info,  Node: kdestroy,  Next: klist,  Prev: kauth,  Up: Yafc commands

`kdestroy'
----------

   Destroy Kerberos tickets.


File: yafc.info,  Node: klist,  Next: krbtkfile,  Prev: kdestroy,  Up: Yafc commands

`klist'
-------

   Show Kerberos tickets.


File: yafc.info,  Node: krbtkfile,  Next: lcd,  Prev: klist,  Up: Yafc commands

`krbtkfile'
-----------

   Set file used for Kerberos tickets.


File: yafc.info,  Node: lcd,  Next: list,  Prev: krbtkfile,  Up: Yafc commands

`lcd'
-----

   Change local working directory.


File: yafc.info,  Node: list,  Next: lpwd,  Prev: lcd,  Up: Yafc commands

`list'
------

   List files.


File: yafc.info,  Node: lpwd,  Next: ls,  Prev: list,  Up: Yafc commands

`lpwd'
------

   Print local working directory.


File: yafc.info,  Node: ls,  Next: ltag,  Prev: lpwd,  Up: Yafc commands

`ls'
----

   List files.

   Usage:
     ls [options] [files ...]

   Options:

`-a'
`--all'
     Do not hide entries starting with '.'.

`-A'
`--almost-all'
     As `--all', but do not list . and ..

`-B'
`--ignore-backups'
     Do not list implied entries ending with ~.

`-C'
     List entries by columns.

`--color[=WHEN]'
     Control whether color is used to distinguish file types. WHEN may
     be either NEVER, ALWAYS or AUTO. If WHEN is not given, default is
     ALWAYS. If the argument is AUTO, colors will be used only if
     output is bound to a tty.

`-d'
`--directory'
     List directory entries instead of contents.

`--dirs-first'
     Show directories first (last with `--reverse').

`-F'
`--classify'
     Append a character for typing each entry.

`-g'
     Ignored.

`-G'
`--no-group'
     Inhibit display of group information.

`-h'
`--human-readable'
     Print sizes in human readable format (e.g. 1K, 234M, 2G)

`-l'
     Use a long listing format.

`-N'
`--literal'
     Print raw entry names (don't treat control characters specially)

`-o'
     Use a long listing format without group info. Same as `-lG'.

`-r'
`--reverse'
     Reverse order while sorting.

`-R'
`--recursive'
     List subdirectories recursively.

`-S'
     Sort by file size

`-t'
     Sort by modification time.

`-U'
     Do not sort; list entries in directory order.

`-x'
     List entries by lines instead of by columns.

`-X'
     Sort alphabetically by entry extension.

`-1'
     List one file per line.

`--help'
     Show a short syntax description.


File: yafc.info,  Node: ltag,  Next: luntag,  Prev: ls,  Up: Yafc commands

`ltag'
------

   Tag local files.


File: yafc.info,  Node: luntag,  Next: mkdir,  Prev: ltag,  Up: Yafc commands

`luntag'
--------

   Untag local files.


File: yafc.info,  Node: mkdir,  Next: mv,  Prev: luntag,  Up: Yafc commands

`mkdir'
-------

   Creates a remote directory (requires proper permissions.)

   Usage:
     mkdir directory


File: yafc.info,  Node: mv,  Next: nlist,  Prev: mkdir,  Up: Yafc commands

`mv'
----

   Documentation missing...


File: yafc.info,  Node: nlist,  Next: nop,  Prev: mv,  Up: Yafc commands

`nlist'
-------

   Documentation missing...


File: yafc.info,  Node: nop,  Next: open,  Prev: nlist,  Up: Yafc commands

`nop'
-----

   Send a NOOP command to remote host. This does nothing except
checking if the connection is still open. It may be used to reset the
servers idle timeout (though some servers ignore it).


File: yafc.info,  Node: open,  Next: prot,  Prev: nop,  Up: Yafc commands

`open'
------

   Opens a new connection to an FTP/SSH server.

   Usage:  open [options]
[proto://][user[:password]@]hostname[:port][/directory] ...

   proto can be either 'ftp' or 'ssh' ('sftp' is an alias for 'ssh')

   Options:

`-a'
`--anon'
     Try to login anonymously.

`-u'
`--noauto'
     Disable autologin.

`-U'
`--noalias'
     Disable bookmark alias lookup and abbreviation.

`-m MECH'
`--mechanism=MECH'
     Try security mechanism MECH when logging in. This will override any
     'mech' options in `yafcrc' or `bookmarks'. MECH is a
     colon-separated string, supported values are "krb4", "krb5" and
     "none". The mechanisms are tried in the order specified.

`-s PATH'
`--sftp=PATH'
     Specify path to the remote sftp-server program. SSH starts this
     program on the remote side when initiating an sftp connection. This
     option is only necessary if the remote ssh server doesn't
     understand the sftp subsystem.

     Specify `--sftp=""' to disable the sftp-server path, and use sftp
     subsystem instead.

     If you don't know the remote path to the sftp-server program, the
     default for OpenSSH is `/usr/libexec/sftp-server'. Another common
     path is `/usr/bin/sftp-server'.

`--help'
     Show a short syntax description.


File: yafc.info,  Node: prot,  Next: put,  Prev: open,  Up: Yafc commands

`prot'
------

   Changes the data protection level for data transfers. The protection
level defines how data transfers are handled by the security mechanism.

   Usage:
     prot [options] [command | data] protlevel

   Options:

`-h'

`--help'
     Show short syntax description.

   Valid protection levels are:

`clear'
     no data protection

`safe'
     integrity check

`private'
     all data encrypted and integrity checked


File: yafc.info,  Node: put,  Next: pwd,  Prev: prot,  Up: Yafc commands

`put'
-----

   Send files to remote computer.

   If the destination file already exists, and none of the options
`--append', `--force', `--newer', `--resume', `--skip-existing' or
`--unique' is given, you will be prompted what to do.

   Usage:
     put [options] file ...

   Options:

`-a'
`--append'
     Append if destination file exists.

`-D'
`--delete-after'
     Delete local file after successful transfer.

`--dir-mask=GLOB'
     Enter only directories matching GLOB pattern.

`--dir-rx-mask=REGEXP'
     Enter only directories matching REGEXP pattern.

`-e'
`--skip-empty'
     Skip empty files (files with a size of zero bytes).

`-f'
`--force'
     Overwrite existing destinations, never prompt.

`-H'
`--nohup'
     Transfer files in background (nohup mode), quits yafc.

`-i'
`--interactive'
     Prompt before transferring each file.

`-L FILE'
`--logfile=FILE'
     Use FILE as logfile instead of `~/.yafc/nohup/nohup.<pid>' for
     nohup transfers.

`-m GLOB'
`--mask=GLOB'
     Only put files matching GLOB pattern.

`-M REGEXP'
`--rx-mask=REGEXP'
     Only put files matching REGEXP pattern.

`-n'
`--newer'
     Only transfer file if local is newer than remote file.

`-o DEST'
`--output=DEST'
     Specify other destination. If more than one file is transferred,
     or option `--recursive' is given, DEST denotes a directory.
     Otherwise (if only one file is to be transferred), DEST denotes a
     filename.

     Examples:
          put foo.tar.gz -o bar.tar.gz
     will transfer the local file `foo.tar.gz' to the remote file
     `bar.tar.gz'.

          put *.tar.gz -o foo
     will transfer all local `*.tar.gz' files to a remote directory
     named `foo'.

          put foo -r -o bar
     will transfer the local file `foo' to a remote directory named
     `bar'.  If `foo' is a directory, it will be uploaded recursively.

`-p'
`--preserve'
     Try to preserve file attributes (permissions).

`-P'
`--parents'
     Append source path to destination.

`-q'
`--quiet'
     Overrides `--verbose'.

`-r'
`--recursive'
     Upload directories recursively.

`-R'
`--resume'
     Resume broken transfer (restart at EOF).

`-s'
`--skip-existing'
     Always skip existing files.

`-t'
`--tagged'
     Transfer (locally) tagged files.

`--type=TYPE'
     Specify transfer type, 'ascii' or 'binary'.

`-u'
`--unique'
     Always store as unique file (if server supports the STOU command).

`-v'
`--verbose'
     Explain what is being done.

`--help'
     Show a short syntax description.


File: yafc.info,  Node: pwd,  Next: quit,  Prev: put,  Up: Yafc commands

`pwd'
-----

   Prints the current remote working directory.

   Usage: `pwd'


File: yafc.info,  Node: quit,  Next: quote,  Prev: pwd,  Up: Yafc commands

`quit'
------

   documentation missing...


File: yafc.info,  Node: quote,  Next: reopen,  Prev: quit,  Up: Yafc commands

`quote'
-------

   documentation missing...


File: yafc.info,  Node: reopen,  Next: rhelp,  Prev: quote,  Up: Yafc commands

`reopen'
--------

   Reopen a timed out connection.


File: yafc.info,  Node: rhelp,  Next: rm,  Prev: reopen,  Up: Yafc commands

`rhelp'
-------

   documentation missing...


File: yafc.info,  Node: rm,  Next: rmdir,  Prev: rhelp,  Up: Yafc commands

`rm'
----

   Remove files on remote server.

   Usage: `rm [options] file...'

   Options:

`-f'
`--force'
     never prompt

`-i'
`--interactive'
     prompt before any removal

`-r'
`--recursive'
     remove the contents of directories recursively. CAREFUL!

`-t'
`--tagged'
     remove tagged files

`-v'
`--verbose'
     explain what is being done

`--help'
     display help


File: yafc.info,  Node: rmdir,  Next: rstatus,  Prev: rm,  Up: Yafc commands

`rmdir'
-------

   documentation missing...


File: yafc.info,  Node: rstatus,  Next: set,  Prev: rmdir,  Up: Yafc commands

`rstatus'
---------

   documentation missing...


File: yafc.info,  Node: set,  Next: shell,  Prev: rstatus,  Up: Yafc commands

`set'
-----

   documentation missing...


File: yafc.info,  Node: shell,  Next: site,  Prev: set,  Up: Yafc commands

`shell'
-------

   documentation missing...


File: yafc.info,  Node: site,  Next: source,  Prev: shell,  Up: Yafc commands

`site'
------

   Send site specific command.

   Usage:

     site command

   Try `site help' or `rhelp site' for more information


File: yafc.info,  Node: source,  Next: status,  Prev: site,  Up: Yafc commands

`source'
--------

   documentation missing...


File: yafc.info,  Node: status,  Next: switch,  Prev: source,  Up: Yafc commands

`status'
--------

   documentation missing...


File: yafc.info,  Node: switch,  Next: system,  Prev: status,  Up: Yafc commands

`switch'
--------

   Switch between open connections.

   Usage:
     switch [options] [connection]

   Options:

`-h'
`--help'
     Show short syntax description.

   The connection argument specifies which connection to switch to. It
can be specified either as the connection number or with the name
(hostname or alias).

   If no argument is given, switch to the next open connection.


File: yafc.info,  Node: system,  Next: tag,  Prev: switch,  Up: Yafc commands

`system'
--------

   Show the type of the remote system.


File: yafc.info,  Node: tag,  Next: unalias,  Prev: system,  Up: Yafc commands

`tag'
-----

   Tag files for later transferring or removal.

   Usage:
     tag [options] file ...

   Options:

`-c'
`--clear'
     Clear the taglist.

`-i'
`--info'
     Show some information about the tagged files. This includes the
     total size of all tagged file, how many files and how many
     directories are tagged.

`-l'

`--list'
     List tagged files.

`-L[FILE]'
`--load[=FILE]'
     Load saved taglist file. If optional parameter FILE is omitted, the
     taglist for this host is loaded (from the file
     `WORKDIR/taglist.HOSTNAME').

`-s[FILE]'
`--save[=FILE]'
     Save taglist to file. If optional parameter FILE is omitted, the
     taglist is saved in the default file `WORKDIR/taglist.HOSTNAME'.

`-h'
`--help'
     Show short syntax description.


File: yafc.info,  Node: unalias,  Next: untag,  Prev: tag,  Up: Yafc commands

`unalias'
---------

   documentation missing...


File: yafc.info,  Node: untag,  Next: url,  Prev: unalias,  Up: Yafc commands

`untag'
-------

   documentation missing...


File: yafc.info,  Node: url,  Next: user,  Prev: untag,  Up: Yafc commands

`url'
-----

   Show the current URL.

   Usage:
     url [options]

   Options:

`-e'
`--no-encoding'
     Don't encode the URL as RFC1738 says.

`-h'
`--help'
     Show short syntax description.


File: yafc.info,  Node: user,  Next: version,  Prev: url,  Up: Yafc commands

`user'
------

   Send new user information.


File: yafc.info,  Node: version,  Next: warranty,  Prev: user,  Up: Yafc commands

`version'
---------

   documentation missing...


File: yafc.info,  Node: warranty,  Prev: version,  Up: Yafc commands

`warranty'
----------

   documentation missing...


File: yafc.info,  Node: Nohup transfers,  Prev: Yafc commands,  Up: The shell

Nohup transfers
===============

   get and put has an option `--nohup'. When given, Yafc will fork
itself to the background and continue to transfer the specified files,
allowing you to use your shell or even logout. Output is redirected to
the file `~/.yafc/nohup/nohup.pid', or to file specified by option
`--logfile=FILE'.

   If you have tagged any files (with the `tag' command, see *Note
tag::), add the option `--tagged' to the get command to transfer those
files too.  There is an equivalent command for local files and put,
namely `ltag'.

   Yafc will also enter nohup mode upon receipt of `SIGHUP'.

   Set NOHUP_MAILADDRESS in the yafcrc file to a valid mail address if
you want to receive a mail notifying you when the transfer is complete.


File: yafc.info,  Node: Configuration,  Next: Bookmarks,  Prev: The shell,  Up: Top

Configuration
*************

   Yafc will parse a system-wide configuration file, `/etc/yafcrc',
first. Then, personal settings are read from `~/.yafc/yafcrc'
(overriding the global ones). If none of those files exists, internal
defaults will be used.

   The `--dump-rc' option of Yafc can be used to dump the default
configuration file to standard output. You can create your own config
file with the command `yafc --dump-rc > ~/.yafc/yafcrc'. You can
customize it with your favourite editor, it should be quite
self-explaining if you read the comments.

   Yafc also looks for `~/.netrc', and reads autologin information from
that file. This file is also used by the standard ftp client.

   Yafc uses the Readline library to read commands from the terminal,
and Readline can be configured via the `~/.inputrc' file. In this file
you can put keybindings and Readline-oriented options. You can use
`$yafc' for conditional parsing of the `~/.inputrc' file.  A sample
inputrc file is included in the distribution.

* Menu:

* Keywords::                    Configuration keywords used
* Prompt codes::                Special codes in the prompts
* Transfer codes::              Special codes in the transfer strings
* Aliases::                     Writing aliases
* Colors::                      Using colors


File: yafc.info,  Node: Keywords,  Next: Prompt codes,  Up: Configuration

Keywords
========

   The configuration file consists of keywords with an argument,
separated with a space. There are three types of arguments: strings,
booleans and integers.  Strings must be enclosed in quotes if they
contains spaces. Boolean arguments can be written as 0/1, true/false or
on/off. The keywords are case insensitive.

   These are the supported keywords:

`anon_password'
     type: string

     This is the password used for anonymous logins. It should be your
     email address.

`autologin'
     type: boolean

     Setting this to true will cause yafc to attempt to login
     automatically.  Information for doing this is specified by *Note
     Bookmarks::.

`autoreconnect'
     type: boolean

     If this option is true, yafc will try to reconnect the currently
     open connection if it has timed out. The directory cache is
     retained after a successful reconnect.

`quit_on_eof'
     type: boolean

     Quits yafc on end-of-file (usually `Ctrl-D').

`read_netrc'
     type: boolean

     Read additional autologin entries from `~/.netrc'.  *Note
     Bookmarks::.

`use_passive_mode'
     type: boolean

     If true, use passive mode data connections. You might have to do
     this if you are behind a proxy.

`reverse_dns'
     type: boolean

     If this option is true, IP addresses will be reverse looked up in
     the DNS for a hostname, which can be slow. Set to false to skip
     this.

`waiting_dots'
     type: boolean

     If this option is true, filenames will be completed with ... while
     waiting for the directory listing to be downloaded.

`cache_timeout'
     type: integer

     Time (in seconds) before a cached directory times out and needs to
     be reread. Set to 0 (zero) to disable the timeout.

`verbose'
     type: boolean

     Show all replies received from remote host.

`debug'
     type: boolean

     Show exactly what is going on. Prints all FTP commands sent to
     remote host and all replies received, including response code.

`trace'
     type: string

     Create trace files in `~/.yafc/trace/trace.<pid>'.

`ssh_program'
     type: string

     Path to local ssh program which will be used in SSH2 connections.
     Note that only SSH version 2 is supported.

`sftp_server_program'
     type: string

     Path to remote sftp-server program. Leave commented to use the sftp
     subsystem. See also *Note open::.

`inhibit_startup_syst'
     type: boolean

     Set to true to skip query of remote system on connect.

`use_env_string'
     type: boolean

     Alter the environment strings to reflect what Yafc is doing.  This
     information can be seen with the shell command `ps'.

`remote_completion'
     type: boolean

     Use tab to complete remote files. Yeahh.

`auto_bookmark'
     type: yes/no/ask

     If set to `yes', Yafc automatically creates a bookmarks for the
     site when the connection is closed. Setting this to `ask', makes
     yafc ask if to create the bookmark.

     The bookmark is given an appropriate default aliases name.

`auto_bookmark_update'
     type: yes/no/ask

     If set to `yes', yafc will always update an existing bookmark when
     the connection is closed, if not the `noupdate' flag has been set,
     see the `noupdate' keyword in *Note Bookmark keywords::.

`auto_bookmark_save_password'
     type: boolean

     If set to `yes', Yafc don't ask whether to save passwords in the
     bookmarks file. Anonymous password, though, are always saved.

     Passwords in the bookmarks file are stored either as clear text or
     base64-encoded. Be sure the file is not world readable (`chmod
     0600 bookmarks'.)

`auto_bookmark_silent'
     type: boolean

     If set to `true', Yafc won't say anything about automatically
     created bookmarks.

`default_type'
     type: string

     Specifies the default type used for file transfers, either
     `binary' or `ascii'. Setting this to `ascii' can mess up binary
     files (ascii mode rewrites the end-of-line characters).

`default_mechanism'
     type: string

     This option specifies which security mechanisms to try, in given
     order.  It is a colon-separated string, supported values are
     "krb4", "krb5" and "none".  Example: `default_mechanism
     "krb4:krb5"'

`ascii_transfer_mask'
     type: string

     Filenames matching any of these filemasks are always transferred
     in `ascii' mode, regardless of the value of the `default_type'
     keyword. This can be overridden with the `--type' option to
     get/put.

     Masks are separated by colons (eg. `*.ext1:*.ext2:filename*') and
     are case sensitive. This option can be specified multiple times;
     masks will be appended.

     Preferrably used with `default_type' set to `binary'.

`transfer_first_mask'
     type: string

     Filenames matching any of these masks are transferred before other
     files.

     Masks are separated by colons (eg. `*.sfv:*.nfo:README*:md5sum*')
     and are case sensitive. This option can be specified multiple
     times; masks will be appended.

`beep_after_long_command'
     type: boolean

     Beep after a long command is finished. Use `long_command_time' to
     specify how long a `long' command is.

`long_command_time'
     type: integer

     Number of seconds for command to become `long'

`command_timeout'
     type: integer

     How long (in seconds) before aborting a command without response.

`connection_timeout'
     type: integer

     How long (in seconds) before aborting a connection without
     response.

`connect_attempts'
     type: integer

     Number of times to try to re-connect if login failed (due to busy
     server.)  Use the value -1 for unlimited number of tries, and 0 to
     disable this feature.

`connect_wait_time'
     type: integer

     Number of seconds to wait between connection attempts.

`use_history'
     type: boolean

     Save and load history lines in `~/.yafc/history'.  This is a no-op
     if not compiled with Readline.

`history_max'
     type: integer

     Max number of history lines to save in the history file.  This is
     a no-op if not compiled with Readline.

`startup_local_directory'
     type: string

     Yafc will change to this (local) directory upon startup.

`nohup_mailaddress'
     type: string

     If set, Yafc sends mail to this address when nohup transfers are
     finished.  *Note Nohup transfers::.

`sendmail_path'
     type: string

     Complete path to sendmail used by `nohup_mailaddress' above.

`prompt1'
     type: string

     This prompt is printed when no connection is established.

     See *Note Prompt codes::.

     You can put escape codes here, for example if you want a colored
     prompt "%{\e[01;31m%}ftp%{\e[0m%}" will be "ftp" in red, if your
     terminal supports ISO 6429 (ANSI) color codes. *Note Colors::.

`prompt2'
     type: string

     connected but not logged in.

`prompt3'
     type: string

     connected and logged in

`transfer_begin_string'
     type: string

     This string is printed before the actual transfer begins.

     These strings are printed with the `--verbose' option to get/put.

     *Note Transfer codes:: for special character codes that can be
     used in this string to show dynamic information.

`transfer_string'
     type: string

     This string is printed (approx.) every second or so during the
     transfer with a trailing carriage return.

     *Note Transfer codes:: for special character codes that can be
     used in this string to show dynamic information.

`transfer_end_string'
     type: string

     This string is printed when the transfer is finished.

     *Note Transfer codes:: for special character codes that can be
     used in this string to show dynamic information.

`transfer_xterm_string'
     type: string

     This string is printed at the same time `transfer_string' is
     printed, if the current $TERM variable is defined in
     `xterm_title_terms'. This string can be used to reflect dynamic
     information about the current transfer in the title bar of an
     Xterm.

     *Note Transfer codes:: for special character codes that can be
     used in this string to show dynamic information.

`tilde'
     type: boolean

     Display ~ instead of full home directory path for various commands.

`xterm_title1'
     type: string

     Xterm window titles

     same codes as for the prompts, see *Note Prompt codes::.

     This is an excerpt from the Xterm-title mini-HOWTO:

          Many people find it useful to set the title of a terminal to
          reflect dynamic information, such as the name of the host the
          user is logged into, the current working directory, etc.

          This may be done by using XTerm escape sequences. The
          following sequences are useful in this respect:

         `ESC]0;_string_BEL'
               Set icon name and window title to _string_

         `ESC]1;_string_BEL'
               Set icon name to _string_

         `ESC]2;_string_BEL'
               Set window title to _string_

          where `ESC' is the _escape_ character (\033), and `BEL' is
          the _bell_ character (\007).

          _Note_: these sequences apply to most xterm derivatives, such
          as nxterm, color-xterm and rxvt. Other terminal types often
          use different escapes; see the appendix for examples. For the
          full list of xterm escape sequences see the file ctlseq2.txt,
          which comes with the xterm distribution, or xterm.seq, which
          comes with the rxvt distribution.

          These escapes really need to be applied every time the prompt
          changes.  This way the string is updated with every command
          you issue and can keep track of information such as current
          working directory, username, hostname, etc.

     Example: `xterm_title1 "\e]0;Yafc\x07"' sets the xterm window
     title and icon name to `Yafc'.

`xterm_title2'
     type: string

     Example: `xterm_title1 "\e]0:Yafc - %h\x07"' sets the xterm window
     title and icon name to `Yafc - HOSTNAME'.

`xterm_title3'
     type: string

     Example: `xterm_title1 "\e]0;Yafc - %u@%h:%~\x07"' sets the xterm
     window title and icon name to `Yafc - USER@HOSTNAME:DIRECTORY'.

`xterm_title_terms'
     type: string

     List of $TERM's, separated with spaces, which can handle xterm
     escape sequences.


File: yafc.info,  Node: Prompt codes,  Next: Transfer codes,  Prev: Keywords,  Up: Configuration

Prompt codes
============

   These codes can be used in the prompts, *Note Keywords::, to reflect
dynamic information. For all codes, there may be an optional minimum
field width.  This is an integer between the '%' and the code character.

`%u'
     username

`%h'
     remote host name (as passed to open)

`%H'
     %h up to the first '.'

`%m'
     remote machine name (as returned by gethostbyname)

`%M'
     %m up to the first '.'

`%n'
     remote IP number

`%w'
     current remote working directory

`%W'
     basename of %w

`%~'
     as %w but home directory is replaced with ~

`%l'
     current local working directory

`%L'
     basename of %l

`%c'
     Total number of connections open

`%C'
     The number of the currently active connection

`%%'
     a percent sign

`%#'
     a '#' if (local) user is root, else '$'

`%{'
     begin sequence of non-printing chars, ie escape codes

`%}'
     end sequence of non-printing chars, ie escape codes

`\e'
     an escape character (hex 0x1B)

`\n'
     a newline

`\t'
     a tab character

`\r'
     a carriage return

`\x##'
     character 0x## (hex)

   Example:

     prompt3 "(%C) %{\e[1%}myafc%{\e[0m%} %u@%h:%42~> "


File: yafc.info,  Node: Transfer codes,  Next: Aliases,  Prev: Prompt codes,  Up: Configuration

Transfer codes
==============

   These codes can be used in the transfer strings. For all codes,
there may be an optional minimum field width. This is an integer
between the '%' and the code character. For example will %17v be
expanded to a visual progress bar with length 17. If the field width if
negative (start with a minus), the string is left-justified, so using
%-20S will show the total size, padded with spaces to 20 characters.

`%r'
     source filename

`%R'
     source filename w/path

`%l'
     target filename

`%L'
     target filename w/path

`%s'
     size transferred so far

`%S'
     total size (if available)

`%e'
     ETA (time left)

`%p'
     percent transferred so far

`%%'
     percent sign

`%b'
     transfer rate (Bps)

`%B'
     transfer rate (Bps) or "stalled" if stalled

`%t'
     time elapsed

`%v'
     visual progress bar

   Example:

     transfer_string "%5p%% [%{\e[32m%}%25v%{\e[0m%}] %s/%S ETA %{\e[32m%}%e%{\e[0m%} %B"


File: yafc.info,  Node: Aliases,  Next: Colors,  Prev: Transfer codes,  Up: Configuration

Aliases
=======

   Just like in the shell, you can create aliases for commands you use
often, with options you like.

   Aliases can be defined in the configuration file or directly on the
command line. Aliases defined on the command line are only valid in the
current session. *Note alias::.

   The best way to explain aliases, I think, is to look at some
examples:

* Menu:

* Alias examples::              examples on aliases


File: yafc.info,  Node: Alias examples,  Up: Aliases

Alias examples
--------------

`alias ls "ls -F --color"'
     Override the command `ls' to be expanded to `ls -F --color'.  Any
     arguments given to the new `ls' alias will be appended.

`alias ll "ls -l"'
     `ll' will be expanded to `ls -l', regardless if there is an alias
     for plain `ls' like the one above. Aliases can't be nested.

`alias ls list'
     Override the command `ls' to be expanded to the command `list'.
     This is fine, but will generate a warning; `warning: alias 'ls'
     shadows a command with the same name', because the original
     command `ls' is lost and can't be referenced (except through
     another alias.)

`alias pls "ls %1 | less"'
     Create a new command `pls', which lists the contents of a
     directory and pages it through the pager `less'. The `%1' keyword
     is replaced with the first argument to `pls', any other arguments
     will be appended at the end (to the local `less' command.)

`alias pls "ls %* | $PAGER"'
     Create a new command `pls', which lists the contents of a
     directory and pages it through your favourite pager. Any arguments
     given to `pls' will be inserted between ls and the pipe because of
     the `%*' keyword. Using `$PAGER' is fine, it is expanded by the
     ordinary shell.

`alias rels "cache --touch %*; ls -F --color %*"'
     Create a new command `rels', which flushes the directories from
     the cache before listing them. Two `%*' sequences are needed to
     insert the arguments at both places.


File: yafc.info,  Node: Colors,  Prev: Aliases,  Up: Configuration

Colors
======

   Escape codes can be used to display colors in the transfer strings
and the prompts. All escape codes must be surrounded by %{ and %} pairs
for readline to correctly wrap long lines.

   The built-in command `ls' has an option `--color'. You must set the
environment variable LS_COLORS (or LS_COLOURS) for this to work.  See
manpage for GNU ls(1) and *note dircolors: (fileutils)dircolors
invocation, for information how to do this. If you don't set
LS_COLO[U]RS, you can still use the `--color' option, since Yafc
provides some default settings.

* Menu:

* ANSI attribute codes::        Escape codes for attributes


File: yafc.info,  Node: ANSI attribute codes,  Up: Colors

ANSI attribute codes
--------------------

   An ANSI escape sequence has the format `ESC[X;Ym', where `ESC' is
the escape character (octal 033). `X' and, optionally, `Y', is one of
the following escape codes:

   * attribute codes

        - 00 = none

        - 01 = bold

        - 04 = underscore

        - 05 = blink

        - 07 = reverse

        - 08 = concealed


   * text color codes

        - 30 = black

        - 31 = red

        - 32 = green

        - 33 = yellow

        - 34 = blue

        - 35 = magenta

        - 36 = cyan

        - 37 = white


   * background color codes

        - 40 = black

        - 41 = red

        - 42 = green

        - 43 = yellow

        - 44 = blue

        - 45 = magenta

        - 46 = cyan

        - 47 = white



   For example, the sequence `ESC[1;32myafc rulesESC[0m' will be the
string `yafc rules' in bright green, after which the attribute is
restored to normal.


File: yafc.info,  Node: Bookmarks,  Next: Kerberos,  Prev: Configuration,  Up: Top

Bookmarks
*********

   Just like creating bookmarks for web pages in a browser, you can
create bookmarks for ftp sites in Yafc. These can later be used for
autologin to that site.

   When connected to an ftp site, use the `bookmark' command (*Note
bookmark::) to create a bookmark for that site. If you logged in with a
username and password, Yafc will ask if you want to save the password in
the bookmarks file. If you do, be sure it isn't world readable.  By
using the `auto_bookmark' keyword in the configuration file, Yafc can
create bookmarks automatically for new sites.

   The bookmarks are available to the `open' command, with tab
completion. You can also specify a bookmark name/alias on the command
line when starting yafc. Bookmark names/aliases can be abbreviated, as
long as it isn't ambiguous.

   The autologin information is stored in much the same way as in the
`~/.netrc' file used by standard ftp(1), except that the macdef option
is not supported.

   An entry must begin with a `machine', `default' or `local' keyword.

* Menu:

* Bookmark keywords::          keywords for bookmarks
* Bookmark examples::          examples


File: yafc.info,  Node: Bookmark keywords,  Next: Bookmark examples,  Up: Bookmarks

Bookmark keywords
-----------------

`machine'
     Specify the hostname to connect to or a domainname. The hostname
     can be a valid FTP URL, including username, password, etc. In that
     case there is no need to specify the corresponding keywords. Using
     the URL syntax is the only way to specify a non-standard port.

     Domainnames should begin with a period, as in `.kth.se'. This will
     match any hostname on that domain, except for hostnames explicitly
     mentioned with another `machine' keyword.  You can not specify an
     alias name for a domain entry.

     To bookmark a ssh connection, use `ssh://hostname' or
     `sftp://hostname' (they are equivalent).

`alias'
     Specifies another (verbose) name for the bookmark, like `ruby'
     instead of `ftp.netlab.co.jp'. This is the name that will be shown
     in the tab completion list. Valid only after a `machine' statement.

`local'
     If an entry begins with `local', it specifies how to login to all
     local machines. Local machines are unqualified hostnames (ie,
     hostnames without a period.)

     This can be overridden with an entry for a specific machine.

`default'
     The `default' entry is used when no other `machine' or `local'
     keyword matched. It can be used to login anonymously to all
     unknown sites.

`login'
     Specify the username.

`anonymous'
     Try an anonymous login, uses ANON_PASSWORD.

`password'
     Specify the password, if required.

`account'
     Specify account name. Not fully supported, anyone using it?

`cwd'
     This keyword specifies a startup directory on the remote server.
     Yafc changes the current directory when logged in.

`prot'
     The prot keyword sets the Kerberos data protection level.  Valid
     protection levels are `safe', `clear' and `private'.

     This is a no-op if not compiled with Kerberos.

`mech'
     List the preferred security mechanisms to use. This is the same as
     `default_mechanism', except it is only used for this machine.

`passive'
     Boolean option requiring an argument (true/false). If true, use
     passive mode in data transfers, regardless of the value of
     `use_passive_mode' in the configuration file.

`noupdate'
     If this keyword is specified, the bookmark will not be updated
     when a connection is closed. The `noupdate' flag can be toogled
     with the command *Note bookmark::.


File: yafc.info,  Node: Bookmark examples,  Prev: Bookmark keywords,  Up: Bookmarks

Bookmark examples
-----------------

`default login anonymous'
     As default, login as 'anonymous' and prompt for password

`default anonymous'
     As default, login as 'anonymous' and automatically supply your
     email address as password.

`local login mhe'
     Login as 'mhe' on all machines on the local network (machines w/o
     a '.')

`machine .foo.bar.se login niels'
     Login as 'niels' on all hosts on .foo.bar.se domain

`machine dent.foo.bar.se login slartibartfast cwd ~/fjord'
     Login as 'slartibartfast' on dent.foo.bar.se and start in
     directory ~/fjord

`machine slartibartfast@dent.foo.bar.se/fjord'
     Identical to the example above, but using an ftp URL instead

`machine ftp.gurka.com:4711 anonymous'
     Login as 'anonymous' and automagically supply password from
     anon_password, connect on non-standard port 4711

`machine mayer.physto.se anonymous cwd /pub/yafc alias yafc'
     Login anonymously to machine mayer.physto.se with other name yafc

`machine shell.stacken.kth.se login mhe mech krb4 passive yes alias stacken'
     Login as mhe using Kerberos 4 authentication, and use passive mode
     for transfers (overrides the use_passive_mode keyword in the
     config file)


File: yafc.info,  Node: Kerberos,  Prev: Bookmarks,  Up: Top

Kerberos
********

   If Yafc is compiled with Kerberos, it tries to authenticate using
Kerberos 4/5 without sending the password in cleartext. For anonymous
logins, Kerberos is never used. The default protection level for data
connections is clear, ie no encryption on transfers. Use the command
`prot' (*Note prot::), to change the data protection level. Valid
arguments are `clear', `safe', and `private'. Note that confidential
protection is not supported in Kerberos 4. You can use the `prot'
keyword (*note Bookmark keywords::) in the bookmarks file to
automagically set the protection level for a specific host.



Tag Table:
Node: Top901
Node: Overview1330
Node: Bugs2242
Node: Obtaining Yafc2779
Node: Motivation3026
Node: Invoking Yafc3620
Node: The shell6301
Node: Yafc commands6866
Node: !10182
Node: afslog10316
Node: alias10443
Node: bookmark10566
Node: cache11763
Node: cat12294
Node: cd12816
Node: cdup13171
Node: chmod13342
Node: close13605
Node: copyright13736
Node: filetime13869
Node: flush14009
Node: fxp14137
Node: get17964
Node: help21003
Node: idle21129
Node: kauth21257
Node: kdestroy21387
Node: klist21524
Node: krbtkfile21656
Node: lcd21804
Node: list21935
Node: lpwd22043
Node: ls22169
Node: ltag23808
Node: luntag23922
Node: mkdir24045
Node: mv24235
Node: nlist24353
Node: nop24475
Node: open24755
Node: prot26106
Node: put26618
Node: pwd29216
Node: quit29371
Node: quote29493
Node: reopen29620
Node: rhelp29756
Node: rm29881
Node: rmdir30341
Node: rstatus30467
Node: set30598
Node: shell30721
Node: site30845
Node: source31060
Node: status31190
Node: switch31322
Node: system31796
Node: tag31936
Node: unalias32795
Node: untag32926
Node: url33053
Node: user33329
Node: version33455
Node: warranty33590
Node: Nohup transfers33714
Node: Configuration34551
Node: Keywords35947
Node: Prompt codes46423
Node: Transfer codes47714
Node: Aliases48781
Node: Alias examples49306
Node: Colors50871
Node: ANSI attribute codes51576
Node: Bookmarks52573
Node: Bookmark keywords53808
Node: Bookmark examples56296
Node: Kerberos57610

End Tag Table
