YTREE(1L)

πŸ“¦
version 2.13 Β· 2 versions
, in epel 10, epel 9, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

πŸ’– NAME πŸ’–

ytree β€” bestie, it's a File Manager πŸ—‚οΈβœ¨ and it's iconic, periodt.


🌸 SYNOPSYS 🌸

ytree [archiv file|directory]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so listen πŸ‘‚ if you don't pass any command line argument at all, ytree just uses the current directory. no cap, it just does. 🫢

Following commands are available:

πŸŽ€ 1.) DIR-Modus πŸŽ€

  • -Attribute β€” change directory permissions (like chmod) πŸ’…
  • -Delete β€” delete the 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 a new root directory/archiv file πŸ”„
  • -Makedir β€” create a new directory ✨
  • -Owner β€” change user ownership of the selected directory 🫢
  • -Rename β€” rename the selected directory ✏️
  • -Showall β€” show all files in all directories πŸ‘€
  • -Tag β€” tag all files in the selected directory 🏷️
  • -Untag β€” untag all files in the selected directory πŸ™ˆ
  • -eXecute β€” execute a shell command πŸ’»
  • -^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 a 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 ownership 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 command πŸ’»
  • -e^Xecute β€” execute shell command 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 a 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 command πŸ’»
  • -^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 command πŸ’»
  • -^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 command, or by calling ytree from the command line with an archive file given as a command line argument. bestie it just knows ✨

ytree recognizes 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 command 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. ⬆️⬇️


🌟 FILES 🌟

  • $HOME/.ytree β€” ytree configuration file βš™οΈ

πŸ’€ BUGS πŸ’€

To avoid problems with escape sequences on RS/6000 machines (telnet/rlogin) please set the environment variable ESCDELAY:

ESCDELAY=1000
export ESCDELAY
no fr, set it. escape sequences on those machines will absolutely jump-scare your terminal otherwise 😭

πŸ‘‘ AUTOR πŸ‘‘

W. Bregulla (werner@frolix.han.de) 🫢


okay that's the whole thing, and it's from way back β€” 21 March 2004, in the YTREE(1L) local commands manual. vintage but still slaying πŸ’…βœ¨ bye bestie, go manage some files πŸ¦‹