36 items
NAME ↑ SIZE MODIFIED PERMS ACTIONS
.. / Parent Directory
a+ — 3.13 KB
2022-02-10 07:08 · rwxr-xr-x
3.13 KB 2022-02-10 07:08 rwxr-xr-x
apt+ — 9.5 KB
2022-02-10 07:08 · rwxr-xr-x
9.5 KB 2022-02-10 07:08 rwxr-xr-x
audio — 1.29 KB
2022-02-10 07:08 · rwxr-xr-x
1.29 KB 2022-02-10 07:08 rwxr-xr-x
bpp — 1.18 KB
2021-01-18 18:27 · rwxr-xr-x
1.18 KB 2021-01-18 18:27 rwxr-xr-x
changesetfs — 2.51 KB
2021-01-18 18:27 · rwxr-xr-x
2.51 KB 2021-01-18 18:27 rwxr-xr-x
deb — 5.4 KB
2022-02-10 07:08 · rwxr-xr-x
5.4 KB 2022-02-10 07:08 rwxr-xr-x
deba — 3 KB
2022-02-10 07:08 · rwxr-xr-x
3 KB 2022-02-10 07:08 rwxr-xr-x
debd — 10.26 KB
2022-02-10 07:08 · rwxr-xr-x
10.26 KB 2022-02-10 07:08 rwxr-xr-x
dpkg+ — 8.79 KB
2022-02-10 07:08 · rwxr-xr-x
8.79 KB 2022-02-10 07:08 rwxr-xr-x
gitfs+ — 786 B
2021-01-18 18:27 · rwxr-xr-x
786 B 2021-01-18 18:27 rwxr-xr-x
hp48+ — 3.58 KB
2022-02-10 07:08 · rwxr-xr-x
3.58 KB 2022-02-10 07:08 rwxr-xr-x
iso9660 — 5.82 KB
2022-02-10 07:08 · rwxr-xr-x
5.82 KB 2022-02-10 07:08 rwxr-xr-x
lslR — 1.41 KB
2022-02-10 07:08 · rwxr-xr-x
1.41 KB 2022-02-10 07:08 rwxr-xr-x
mailfs — 5.7 KB
2022-02-10 07:08 · rwxr-xr-x
5.7 KB 2022-02-10 07:08 rwxr-xr-x
patchfs — 11.01 KB
2022-02-10 07:08 · rwxr-xr-x
11.01 KB 2022-02-10 07:08 rwxr-xr-x
patchsetfs — 2.26 KB
2021-01-18 18:27 · rwxr-xr-x
2.26 KB 2021-01-18 18:27 rwxr-xr-x
README — 7.36 KB
2021-01-18 18:27 · rw-r--r--
7.36 KB 2021-01-18 18:27 rw-r--r--
README.extfs — 1.13 KB
2021-01-18 18:27 · rw-r--r--
1.13 KB 2021-01-18 18:27 rw-r--r--
rpm — 13.93 KB
2021-01-18 18:27 · rwxr-xr-x
13.93 KB 2021-01-18 18:27 rwxr-xr-x
rpms+ — 1.47 KB
2022-02-10 07:08 · rwxr-xr-x
1.47 KB 2022-02-10 07:08 rwxr-xr-x
trpm — 7.66 KB
2021-01-18 18:27 · rwxr-xr-x
7.66 KB 2021-01-18 18:27 rwxr-xr-x
u7z — 4.71 KB
2021-01-18 18:27 · rwxr-xr-x
4.71 KB 2021-01-18 18:27 rwxr-xr-x
uace — 1.48 KB
2022-02-10 07:08 · rwxr-xr-x
1.48 KB 2022-02-10 07:08 rwxr-xr-x
ualz — 1.25 KB
2022-02-10 07:08 · rwxr-xr-x
1.25 KB 2022-02-10 07:08 rwxr-xr-x
uar — 1.3 KB
2022-02-10 07:08 · rwxr-xr-x
1.3 KB 2022-02-10 07:08 rwxr-xr-x
uarc — 1.79 KB
2022-02-10 07:08 · rwxr-xr-x
1.79 KB 2022-02-10 07:08 rwxr-xr-x
uarj — 1.62 KB
2022-02-10 07:08 · rwxr-xr-x
1.62 KB 2022-02-10 07:08 rwxr-xr-x
ucab — 737 B
2022-02-10 07:08 · rwxr-xr-x
737 B 2022-02-10 07:08 rwxr-xr-x
uha — 973 B
2022-02-10 07:08 · rwxr-xr-x
973 B 2022-02-10 07:08 rwxr-xr-x
ulha — 3.78 KB
2022-02-10 07:08 · rwxr-xr-x
3.78 KB 2022-02-10 07:08 rwxr-xr-x
ulib — 2.76 KB
2022-02-10 07:08 · rwxr-xr-x
2.76 KB 2022-02-10 07:08 rwxr-xr-x
unar — 1.22 KB
2022-02-10 07:08 · rwxr-xr-x
1.22 KB 2022-02-10 07:08 rwxr-xr-x
urar — 4.37 KB
2022-02-10 07:08 · rwxr-xr-x
4.37 KB 2022-02-10 07:08 rwxr-xr-x
uwim — 5.09 KB
2022-02-10 07:08 · rwxr-xr-x
5.09 KB 2022-02-10 07:08 rwxr-xr-x
uzip — 14.91 KB
2022-02-10 07:08 · rwxr-xr-x
14.91 KB 2022-02-10 07:08 rwxr-xr-x
uzoo — 1.57 KB
2022-02-10 07:08 · rwxr-xr-x
1.57 KB 2022-02-10 07:08 rwxr-xr-x
ONLINE
extfs.d
36 items
09:39:31
TERMINAL FM
Edit
Preview
Download
Rename
Copy
Chmod
Delete
#!/usr/bin/sh # Midnight Commander - ISO9660 VFS for MC # based on lslR by Tomas Novak April 2000 # # Copyright (C) 2000, 2003 # The Free Software Foundation, Inc. # # Written by: # Michael Shigorin , # Grigory Milev , # Kachalov Anton , 2003 # Victor Ananjevsky , 2013 # slava zanko , 2013 # # This file is part of the Midnight Commander. # # The Midnight Commander is free software: you can redistribute it # and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation, either version 3 of the License, # or (at your option) any later version. # # The Midnight Commander is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . #*** include section (source functions, for example) ******************* #*** file scope functions ********************************************** XORRISO=$(which xorriso 2>/dev/null) xorriso_list() { if test -z "$XORRISO"; then return 1 fi local dir attr ln usr gr sz dt1 dt2 dt3 nm len name lsl r dir="${2:-/}" lsl=$( $XORRISO -abort_on FATAL -dev stdio:"$1" -cd "$dir" -lsl 2> /dev/null ) r=$? test $r -gt 0 && return $r echo "$lsl" | grep "^[-d]" | \ while read attr ln usr gr sz dt1 dt2 dt3 nm ; do len=$((${#nm} - 1)) name=$(printf -- "$nm" | cut -c2-$len) # remove quotes if test $(printf -- "$attr" | cut -c1-1) != "d"; then printf -- "%s %s %s %s %s %s %s %s %s/%s\n" "$attr" "$ln" "$usr" "$gr" "$sz" "$dt1" "$dt2" "$dt3" "$dir" "$name" else xorriso_list "$1" "$dir/$name" fi done } xorriso_copyout() { if test -z "$XORRISO"; then return 1 fi $XORRISO -dev stdio:"$1" -osirrox on -extract "$2" "$3" >/dev/null 2>&1 } xorriso_copyin() { if test -z "$XORRISO"; then return 1 fi $XORRISO -dev stdio:"$1" -cpr "$3" "$2" >/dev/null 2>&1 } xorriso_mkdir() { if test -z "$XORRISO"; then return 1 fi $XORRISO -dev stdio:"$1" -mkdir "$2" >/dev/null 2>&1 } xorriso_rmdir() { if test -z "$XORRISO"; then return 1 fi $XORRISO -dev stdio:"$1" -rmdir "$2" >/dev/null 2>&1 } xorriso_rm() { if test -z "$XORRISO"; then return 1 fi $XORRISO -dev stdio:"$1" -rm "$2" >/dev/null 2>&1 } # tested to comply with isoinfo 2.0's output test_iso () { which isoinfo 2>/dev/null || (echo "isoinfo not found" >&2; return 1) CHARSET=$(locale charmap 2>/dev/null) if test -z "$CHARSET"; then CHARSET=$(locale 2>/dev/null | grep LC_CTYPE | sed -n -e 's/.*\.\(.*\)"$/\1/p') fi if test -n "$CHARSET"; then CHARSET=$(echo "$CHARSET" | tr '[A-Z]' '[a-z]' | sed -e 's/^iso-/iso/') isoinfo -j $CHARSET -i /dev/null 2>&1 | grep "Iconv not yet supported\|Unknown charset" >/dev/null && CHARSET= fi if test -n "$CHARSET"; then JOLIET_OPT="-j $CHARSET -J" else JOLIET_OPT="-J" fi ISOINFO="isoinfo -R" ISOINFO_D_I="$(isoinfo -d -i "$1" 2>/dev/null)" echo "$ISOINFO_D_I" | grep "UCS level 1\|NO Joliet" > /dev/null || ISOINFO="$ISOINFO $JOLIET_OPT" if [ $(echo "$ISOINFO_D_I" | grep "Joliet with UCS level 3 found" | wc -l) = 1 \ -a $(echo "$ISOINFO_D_I" | grep "NO Rock Ridge" | wc -l) = 1 ] ; then SEMICOLON="YES" fi } mcisofs_list () { local lsl r # left as a reminder to implement compressed image support =) case "$1" in *.lz) MYCAT="lzip -dc";; *.lz4) MYCAT="lz4 -dc";; *.lzma) MYCAT="lzma -dc";; *.xz) MYCAT="xz -dc";; *.zst) MYCAT="zstd -dc";; *.bz2) MYCAT="bzip2 -dc";; *.gz) MYCAT="gzip -dc";; *.z) MYCAT="gzip -dc";; *.Z) MYCAT="gzip -dc";; *) MYCAT="cat";; esac lsl=$($ISOINFO -l -i "$1" 2>/dev/null) r=$? test $r -gt 0 && return $r echo "$lsl" | gawk -v SEMICOLON=$SEMICOLON ' BEGIN { dir=""; # Pattern to match 8 first fields. rx = "[^ ]+[ ]+"; rx = "^" rx rx rx rx rx rx rx rx; irx = "^\\[ *-?[0-9]* *[0-9]+\\] +"; } /^$/ { next } /^d---------/ { next } /^Directory listing of [^ ].*$/ { dir=substr($0, 23); next; } { $11 != "" } { name=$0 sub(rx, "", name) attr=substr($0, 1, length($0)-length(name)) # strip inodes and extra dir entries; fix perms sub(irx, "", name) sub("^---------- 0 0 0", "-r--r--r-- 1 root root", attr) sub(" $", "", name) # for Joliet UCS level 3 if (SEMICOLON == "YES") sub(";1$", "", name); ## sub(";[0-9]+$", "", name) ## would break copyout # skip . and .. if (name == ".") next; if (name == "..") next; printf "%s%s%s\n", attr, dir, name }' } mcisofs_copyout () { if [ "x$SEMICOLON" = "xYES" ]; then $ISOINFO -i "$1" -x "/$2;1" 2>/dev/null > "$3" else $ISOINFO -i "$1" -x "/$2" 2>/dev/null > "$3" fi } #*** main code ********************************************************* LC_ALL=C cmd="$1" shift case "$cmd" in list) xorriso_list "$@" || { test_iso "$@" || exit 1 mcisofs_list "$@" || exit 1 } exit 0 ;; rm) xorriso_rm "$@" || { exit 1 } exit 0 ;; rmdir) xorriso_rmdir "$@" || { exit 1 } exit 0 ;; mkdir) xorriso_mkdir "$@" || { exit 1 } exit 0 ;; copyin) xorriso_copyin "$@" || { exit 1 } exit 0 ;; copyout) xorriso_copyout "$@" || { test_iso "$@" || exit 1 mcisofs_copyout "$@" || exit 1 } exit 0 ;; esac exit 1