⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deba.in

📁 MC Linux/Unix 终端下文件管理器
💻 IN
字号:
#! @PERL@## 1999 (c) Piotr Roszatycki <dexter@debian.org># This software is under GNU license# last modification: 1999-12-08## debasub bt{    my ($dt) = @_;    my (@time);    @time = localtime($dt);    $bt = sprintf "%02d-%02d-%d %02d:%02d", $time[4] + 1, $time[3],		  $time[5] + 1900, $time[2], $time[1];    return $bt;}sub ft{    my ($f) = @_;    return "d" if -d $f;    return "l" if -l $f;    return "p" if -p $f;    return "S" if -S $f;    return "b" if -b $f;    return "c" if -c $f;    return "-";}sub fm{    my ($n) = @_;    my ($m);    if( $n & 0400 ) {       $m .= "r";    } else {       $m .= "-";    }    if( $n & 0200 ) {       $m .= "w";    } else {       $m .= "-";    }    if( $n & 04000 ) {       $m .= "s";    } elsif( $n & 0100 ) {       $m .= "x";    } else {       $m .= "-";    }    if( $n & 0040 ) {       $m .= "r";    } else {       $m .= "-";    }    if( $n & 0020 ) {       $m .= "w";    } else {       $m .= "-";    }    if( $n & 02000 ) {       $m .= "s";    } elsif( $n & 0010 ) {       $m .= "x";    } else {       $m .= "-";    }    if( $n & 0004 ) {       $m .= "r";    } else {       $m .= "-";    }    if( $n & 0002 ) {       $m .= "w";    } else {       $m .= "-";    }    if( $n & 01000 ) {       $m .= "t";    } elsif( $n & 0001 ) {       $m .= "x";    } else {       $m .= "-";    }    return $m;}sub ls {    my ($file) = @_;    my @stat = stat($file);    # mode, nlink, uid, gid, size, mtime, filename    printf "%s%s %d %d %d %d %s CONTENTS%s\n", ft($file), fm($stat[2] & 07777),    $stat[3], $stat[4], $stat[5], $stat[7], bt($stat[9]), $file;}sub list{       my($archive)=@_;       chop($date=`LC_ALL=C date "+%b %d %Y %H:%M"`);       chop($info_size=`apt-cache show $archive | wc -c`);       $install_size=length($pressinstall);       $upgrade_size=length($pressupgrade);       print "-r--r--r--   1 root     root     $info_size $date INFO\n";       chop($debd = `dpkg -s $archive | grep -i ^Version | sed 's/^version: //i'`);       chop($deba = `apt-cache show $archive | grep -i ^Version | sed 's/^version: //i'`);       if( ! $debd ) {           print "-r-xr--r--   1 root     root     $install_size $date INSTALL\n";       } elsif( $debd ne $deba ) {           print "-r-xr--r--   1 root     root     $upgrade_size $date UPGRADE\n";       }}sub copyout{       my($archive,$filename,$destfile)=@_;       if($filename eq "INFO") {           system("apt-cache show $archive > $destfile");        } elsif($filename eq "INSTALL")        {           if ( open(FILEOUT,">$destfile") ) {               print FILEOUT $pressinstall;               close FILEOUT;               system("chmod a+x $destfile");           }       } elsif($filename eq "UPGRADE") {           if ( open(FILEOUT,">$destfile") ) {               print FILEOUT $pressupgrade;               close FILEOUT;               system("chmod a+x $destfile");           }       } else {           die "extfs: $filename: No such file or directory\n";       }}sub run{       my($archive,$filename)=@_;       if($filename eq "INSTALL") {           system("apt-get install $archive");       } elsif($filename eq "UPGRADE") {           system("apt-get install $archive");       } else {           die "extfs: $filename: Permission denied\n";       }}$pressinstall=<<EOInstall;                                WARNING  Don\'t use this method if you are not willing to install this package...This is not a real file. It is a way to install the package you are browsing.To install this package go back to the panel and press Enter on this file.EOInstall$pressupgrade=<<EOInstall;                                WARNING  Don\'t use this method if you are not willing to upgrade this package...This is not a real file. It is a way to upgrade the package you are browsing.To upgrade this package go back to the panel and press Enter on this file.EOInstallumask 077;chop($name = `if [ -f "$ARGV[1]" ]; then cat $ARGV[1]; else echo $ARGV[1]; fi`);$name =~ s%.*/([0-9a-z.-]*)_.*%$1%;exit 1 unless $name;if($ARGV[0] eq "list") { &list($name); exit 0; }elsif($ARGV[0] eq "copyout") { &copyout($name,$ARGV[2],$ARGV[3]); exit 0; }elsif($ARGV[0] eq "run") { &run($name,$ARGV[2]); exit 0; }exit 1;

⌨️ 快捷键说明

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