ytree [archive file|directory]
If there is no command line argument, the current directory will be used.
Following commands are available:
1.) DIR-Modus:
-Attribute
Change direcory permissions (like chmod)
-Delete
Delete selected directory
-Filespec
Set file specification (reg. expression) e.g. *.[ch] for all *.c and *.h - Files
-Group
Change directory group ownership
-Log
Restart ytree with new root directory/archiv file
-Makedir
Create new directory
-Owner
Change user ownership of selected directory
-Rename
Rename selected directory
-Showall
Show all files in all directories
-Tag
Tag all files in selected directory
-Untag
Untag all files in selected directory
-eXecute
Execute a shell commando
-^Filemode
Change viewmodus for files:
- filenames only - name, attributes, links, size, modification time, symb. link - name, attribute, inode, owner, group, symb. link - change status-, access time, symb. link
-Return
Switch to file modus
-^Quit
QuitTo: If you exit ytree with ^Q, the last selected directory becomes your current working directory. This feature only works if you start ytree with this bash-function (copy this to your ~/.bashrc):
function yt { echo cd $PWD >~/.ytree-$$.chdir /usr/bin/ytree $1 $2 $3 $4 $5 source ~/.ytree-$$.chdir rm ~/.ytree-$$.chdir }
2.) FILE-Modus
-Attribute
Change file permissions (like chmod)
-^Attribute
Change permissions of all tagged files. ? stands for: do not change attribute
-Copy
Copy file
-^K Copy
Copy all tagged files
-Delete
Delete selected file
-^Delete
Delete all tagged files
-Edit
Edit selected file with EDITOR (see ~/.ytree) or - if not defined - vi
-Filespec
Set file specification (reg. expression) e.g. *.[ch] for all *.c and *.h - Files
-Group
Change group ownership of selected file
-^Group
Change group ownership of all tagged files
-Hex
View selected file with HEXDUMP (see ~/.ytree), or - if not defined - hd / od -h
-Log
Restart ytree with new root directory/archive file
-Move
move selected file
-^N Move
Move all tagged files
-Owner
Change user ownership of selected file
-^Owner
Change user owndership of all tagged files
-Pipe
Pipe content of file to a command
-^Pipe
Pipe content of all tagged files to a command
-Rename
Rename selected file
-^Rename
Rename all tagged files
-untag ^Search
Untag files by using an external program (e.g. grep)
-Sort
Sort filelist by
- access time - change time - extension - group - modification time - name - owner - size
-Tag
Tag selected file
-^Tag
Tag all currently shown files
-Untag
Untag selected file
-^Untag
Untag all currently shown files
-View
View file with the pager defined in ~/.ytree or - if not defined - with pg -cen
-eXecute
Execute a shell commando
-e^Xecute
Execute shell commando for all tagged files. The string {} is replaced by the current filename
-pathcopY
Copy selected file inclusive path
-pathcop^Y
Copy all tagged files inclusive path
-^Filemode
Switch view-modus for files:
- filenames only - name, attribute, links, size, modification time, symb. link - name, attribute, inode, owner, group, symb. link - changestatus-, access time, symb. link
-^L
Refresh Screen
-Space
Suppress screen-output while working
-Return
Switch to expand modus
3.) ARCHIV-DIR-Modus
-Filespec
Set file specification (reg. expression) e.g. *.[ch] for all *.c and *.h - Files
-Log
Restart ytree with new root directory/archive file
-Showall
Show all files in all directories
-Tag
Tag all files in selected directory
-Untag
Untag all files in selected directory
-eXecute
Execute a shell commando
-^Filemode
Change viewmodus for files:
- filenames only - name, attribute, links, size, modification time - name, attribute, owner, group
-^L
Refresh Screen
4.) ARCHIV-FILE-Modus:
-Copy
Copy selected file
-^K Copy
Copy all tagged files
-Filespec
Set file specification (reg. expression) e.g. *.[ch] for all *.c and *.h - Files
-Hex
View selected file with HEXDUMP (see ~/.ytree), or - if not defined - hd / od -h
-Pipe
Pipe content of all tagged to a command
-Sort
Sort file list by
- access time - change time - extension - group - modification time - name - owner - size
-Tag
Tag selected file
-^Tag
Tag all files in selected directory
-Untag
Untag all files in selected directory
-View
View file with the pager defined in ~/.ytree or - if not defined - with pg -cen
-eXecute
Execute a shell commando
-^Filemode
Switch view-modus for files:
- filenames only - name, attribute, links, size
-^L
Refresh Screen
-Return
Switch to Expand-Modus
ytree switches to archive-modus automatically either by choosing an archive file with the Log commando or by calling ytree from the command line with an archive file given as a command line argument.
ytree recognize the filename extensions ".F", ".Z", ".z" and ".gz" and calls the appropriate uncompressor MELT (default=melt), UNCOMPRESS (default=uncompress) and GNUUNZIP (default=gunzip -c). You may change these settings in ~/.ytree.
ytree supports following archive types and requires:
TAR-Files: gtar (tested with GNU-TAR 1.12) ARC-Files: arc (tested with arc 5.12 02/05/86) LHA-Files: xlharc (tested with xlharc V1.02 1989) ZIP-Files: unzip (tested with unzip v5.0 08/92) " " zipinfo (tested with zipinfo v1.0 08/92) ZOO-Files: zoo (tested with zoo v2.10) RAR-Files: unrar (tested with unrar v2.01 RPM-Files: rpm2cpio (tested with RedHat V6.1) " " rpm (tested with RedHat V6.1)
Archive files will be recognized by filename extension (e.g zoo, zip). TAR-Files may have following extensions:
".F", ".TFR", ".Faa", (freeze) ".Z", ".TZ", ".TZR", ".Xaa", (compress) ".z", ".gz", ".tzr", ".tz", ".xaa", ".tgz", ".TGZ", ".taz", ".TAZ", ".tpz" und ".TPZ" (gzip)
The View commando is customizeable in the [VIEWER] section of ~/.ytree:
Example:
[VIEWER] .jpg,.gif,.bmp,.tif,.ppm,.xpm=xv .1,.2,.3,.4,.5,.6,.7,.8,.n=nroff -man | less .ps=ghostview .mid,.MID=playmidi -e .wav,.WAV=splay .au=auplay .avi,.mpg,.mov=xanim .htm,.html=lynx .pdf,.PDF=acroread .mp3=mpg123
A command-line history is supported: Use cursor up/down. Use "F2" on the command-line to select directories.
$HOME/.ytree ytree configuration file
To avoid problems with escape sequences on RS/6000 machines (telnet/rlogin) please set the environment variable ESCDELAY:
ESCDELAY=1000 export ESCDELAY
W. Bregulla ([email protected])