uzoo.in

来自「MC Linux/Unix 终端下文件管理器」· IN 代码 · 共 67 行

IN
67
字号
#! /bin/sh## Zoo file system## Source of zoo can be found at# ftp://ftp.ibiblio.org/pub/Linux/utils/compress/ZOO=zoo# Stupid zoo won't work if the archive name has no .zoo extension, so we# have to make a symlink with a "better" name.  Also, zoo can create# directories even if printing files to stdout, so it's safer to confine# it to a temporary directory.mklink (){    TMPDIR="/tmp/mctmpdir-uzoo.$$"    mkdir $TMPDIR || exit 1    trap 'cd /; rm -rf $TMPDIR' 0 1 2 3 5 13 15    ARCHIVE=$TMPDIR/tmp.zoo    ln -sf "$1" "$ARCHIVE"    cd $TMPDIR || exit 1}mczoofs_list (){    mklink "$1"    $ZOO lq "$ARCHIVE" | @AWK@ -v uid=${UID-0} '/^[^\ ]/ { next }{if (NF < 8)    nextif ($8 ~ /^\^/)    $8=substr($8, 2)if ($6 > 50)    $6=$6 + 1900else    $6=$6 + 2000split($7, a, ":")if ($8 ~ /\/$/)    printf "drwxr-xr-x   1 %-8d %-8d %8d %s %2d %4d %02d:%02d %s\n", uid, 0, $1, $5, $4, $6, a[1], a[2], $8else    printf "-rw-r--r--   1 %-8d %-8d %8d %s %2d %4d %02d:%02d %s\n", uid, 0, $1, $5, $4, $6, a[1], a[2], $8}' 2>/dev/null    exit 0}mczoofs_copyout (){    mklink "$1"    # zoo only accepts name without directory as file to extract    base=`echo "$2" | sed 's,.*/,,'`    $ZOO xpq: "$ARCHIVE" "$base" > "$3"    cd /    exit 0}umask 077cmd="$1"shiftcase "$cmd" in  list) mczoofs_list "$@" ;;  copyout) mczoofs_copyout "$@" ;;  *) exit 1 ;;esacexit 0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?