📄 directories.mht
字号:
..\n"</FONT> <FONT color=3D#ffa500>unless</FONT> <FONT =
color=3D#cdad00>@ARGV</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>foreach</FONT> <FONT =
color=3D#9ac0cd>$dir</FONT> <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@ARGV</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
rmtree<FONT color=3D#00ffff>(</FONT>$dir<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN522>Renaming Files</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>foreach</FONT> <FONT =
color=3D#9ac0cd>$file</FONT> <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@NAMES</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
<FONT color=3D#ffa500>my</FONT> <FONT =
color=3D#9ac0cd>$newname</FONT> =3D $file<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># change $newname
</FONT> <FONT color=3D#98fb98>rename</FONT><FONT =
color=3D#00ffff>(</FONT>$file, $newname<FONT color=3D#00ffff>)</FONT> =
<FONT color=3D#98fb98>or</FONT><FONT color=3D#43cd80> </FONT>
<FONT color=3D#98fb98>warn</FONT> <FONT =
color=3D#00cd00>"Couldn't rename $file to $newname: $!\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
# <FONT size=3D-1><A =
href=3D"http://pleac.sourceforge.net/include/perl/ch09/rename">download =
the following standalone program</A></FONT>
#!/usr/bin/perl -w
# rename - Larry's filename fixer
</FONT>$op =3D <FONT color=3D#ff7f50>shift</FONT> <FONT =
color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> <FONT =
color=3D#00cd00>"Usage: rename expr [files]\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>chomp</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@ARGV</FONT> =3D <STDIN><FONT =
color=3D#00ffff>)</FONT> <FONT color=3D#ffa500>unless</FONT> <FONT =
color=3D#cdad00>@ARGV</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>for</FONT> <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@ARGV</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
$was =3D $_<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>eval</FONT> $op<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>die</FONT> $@ <FONT color=3D#ffa500>if</FONT> =
$@<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#98fb98>rename</FONT><FONT =
color=3D#00ffff>(</FONT>$was,$_<FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#ffa500>unless</FONT> $was <FONT color=3D#98fb98>eq</FONT> =
$_<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
#% rename 's/\.orig$//' *.orig
#% rename 'tr/A-Z/a-z/ unless /^Make/' *
#% rename '$_ .=3D ".bad"' *.f
#% rename 'print "$_: "; s/foo/bar/ if <STDIN> =3D~ /^y/i' *
#% find /tmp -name '*~' -print | rename 's/^(.+)~$/.#$1/'
#-----------------------------
#% rename 'use locale; $_ =3D lc($_) unless /^Make/' *
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN525>Splitting a Filename into Its =
Component=20
Parts</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>File::Basename</FONT><FONT color=3D#00ffff>;</FONT>
$base =3D basename<FONT color=3D#00ffff>(</FONT>$path<FONT =
color=3D#00ffff>);</FONT>
$dir =3D dirname<FONT color=3D#00ffff>(</FONT>$path<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>(</FONT>$base, $dir, $ext<FONT =
color=3D#00ffff>)</FONT> =3D fileparse<FONT =
color=3D#00ffff>(</FONT>$path<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$path =3D <FONT color=3D#00cd00>'/usr/lib/libc.a'</FONT><FONT =
color=3D#00ffff>;</FONT>
$file =3D basename<FONT color=3D#00ffff>(</FONT>$path<FONT =
color=3D#00ffff>);</FONT><FONT color=3D#43cd80> </FONT>
$dir =3D dirname<FONT color=3D#00ffff>(</FONT>$path<FONT =
color=3D#00ffff>);</FONT><FONT color=3D#43cd80> </FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"dir is $dir, =
file is $file\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># dir is /usr/lib, file is libc.a
#-----------------------------
</FONT>$path =3D <FONT color=3D#00cd00>'/usr/lib/libc.a'</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>(</FONT>$name,$dir,$ext<FONT =
color=3D#00ffff>)</FONT> =3D fileparse<FONT =
color=3D#00ffff>(</FONT>$path,<FONT color=3D#00cd00>'\..*'</FONT><FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"dir is $dir, =
name is $name, extension is $ext\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># dir is /usr/lib/, name is libc, extension is .a
#-----------------------------
</FONT>fileparse_set_fstype<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"MacOS"</FONT><FONT color=3D#00ffff>);</FONT>
$path =3D <FONT =
color=3D#00cd00>"Hard%20Drive:System%20Folder:README.txt"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>(</FONT>$name,$dir,$ext<FONT =
color=3D#00ffff>)</FONT> =3D fileparse<FONT =
color=3D#00ffff>(</FONT>$path,<FONT color=3D#00cd00>'\..*'</FONT><FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"dir is $dir, =
name is $name, extension is $ext\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># dir is Hard%20Drive:System%20Folder, name is =
README, extension is .txt
#-----------------------------
</FONT><FONT color=3D#ffa500>sub</FONT> <FONT =
color=3D#b2dfee>extension</FONT> <FONT color=3D#00ffff>{</FONT>
<FONT color=3D#ffa500>my</FONT> <FONT color=3D#9ac0cd>$path</FONT> =
=3D <FONT color=3D#ff7f50>shift</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>my</FONT> <FONT color=3D#9ac0cd>$ext</FONT> =
=3D <FONT color=3D#00ffff>(</FONT>fileparse<FONT =
color=3D#00ffff>(</FONT>$path,<FONT color=3D#00cd00>'\..*'</FONT><FONT =
color=3D#00ffff>))[</FONT><FONT color=3D#cdcd00>2</FONT><FONT =
color=3D#00ffff>];</FONT>
$ext =3D~ <FONT color=3D#ff7f50>s</FONT>/^\.//<FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>return</FONT> $ext<FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN528>Program: symirror</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
# <FONT size=3D-1><A =
href=3D"http://pleac.sourceforge.net/include/perl/ch09/symirror">download=
the following standalone program</A></FONT>
#!/usr/bin/perl -w
# symirror - build spectral forest of symlinks
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>strict</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>File::Find</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>use</FONT> <FONT color=3D#b2dfee>Cwd</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>my</FONT> <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#9ac0cd>$srcdir</FONT>, <FONT =
color=3D#9ac0cd>$dstdir</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>my</FONT> <FONT color=3D#9ac0cd>$cwd</FONT> =3D =
getcwd<FONT color=3D#00ffff>();</FONT>
<FONT color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"usage: $0 =
realdir mirrordir"</FONT> <FONT color=3D#ffa500>unless</FONT> <FONT =
color=3D#cdad00>@ARGV</FONT> =3D=3D <FONT color=3D#cdcd00>2</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>for</FONT> <FONT color=3D#00ffff>((</FONT>$srcdir, =
$dstdir<FONT color=3D#00ffff>)</FONT> =3D <FONT =
color=3D#cdad00>@ARGV</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
<FONT color=3D#ffa500>my</FONT> <FONT color=3D#9ac0cd>$is_dir</FONT> =
=3D <FONT color=3D#b2dfee>-d</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>next</FONT> <FONT color=3D#ffa500>if</FONT> =
$is_dir<FONT color=3D#00ffff>;</FONT> <FONT =
color=3D#bebebe># cool
</FONT> <FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#ff7f50>defined</FONT> <FONT =
color=3D#00ffff>(</FONT>$is_dir<FONT color=3D#00ffff>))</FONT> <FONT =
color=3D#00ffff>{</FONT>
<FONT color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"$0: $_ =
is not a directory\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> =
<FONT color=3D#00ffff>{</FONT> <FONT =
color=3D#bebebe># be forgiving
</FONT> <FONT color=3D#98fb98>mkdir</FONT><FONT =
color=3D#00ffff>(</FONT>$dstdir, <FONT color=3D#cdcd00>07777</FONT><FONT =
color=3D#00ffff>)</FONT> <FONT color=3D#98fb98>or</FONT> <FONT =
color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"can't mkdir $dstdir: =
$!"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>continue</FONT> =
<FONT color=3D#00ffff>{</FONT>
<FONT color=3D#ff7f50>s</FONT><FONT color=3D#bebebe>#^(?!/)#$cwd/#; =
# fix relative paths
</FONT><FONT color=3D#00ffff>}</FONT>
<FONT color=3D#43cd80> </FONT>
<FONT color=3D#98fb98>chdir</FONT> $srcdir<FONT color=3D#00ffff>;</FONT>
find<FONT color=3D#00ffff>(</FONT>\&wanted, <FONT =
color=3D#00cd00>'.'</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>sub</FONT> <FONT color=3D#b2dfee>wanted</FONT> =
<FONT color=3D#00ffff>{</FONT>
<FONT color=3D#ffa500>my</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#9ac0cd>$dev</FONT>, <FONT color=3D#9ac0cd>$ino</FONT>, <FONT =
color=3D#9ac0cd>$mode</FONT><FONT color=3D#00ffff>)</FONT> =3D <FONT =
color=3D#98fb98>lstat</FONT><FONT color=3D#00ffff>(</FONT>$_<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>my</FONT> <FONT color=3D#9ac0cd>$name</FONT> =
=3D $File::Find::name<FONT color=3D#00ffff>;</FONT>
$mode &=3D <FONT color=3D#cdcd00>07777</FONT><FONT =
color=3D#00ffff>;</FONT> <FONT color=3D#bebebe># =
preserve directory permissions
</FONT> $name =3D~ <FONT color=3D#ff7f50>s</FONT>!^\./!!<FONT =
color=3D#00ffff>;</FONT> <FONT color=3D#bebebe># correct =
name
</FONT> <FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#b2dfee>-d</FONT> _<FONT =
color=3D#00ffff>)</FONT> <FONT color=3D#00ffff>{</FONT> =
<FONT color=3D#bebebe># then make a real directory
</FONT> <FONT color=3D#98fb98>mkdir</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"$dstdir/$name"</FONT>, =
$mode<FONT color=3D#00ffff>)</FONT>
<FONT color=3D#98fb98>or</FONT> <FONT =
color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"can't mkdir =
$dstdir/$name: $!"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> =
<FONT color=3D#00ffff>{</FONT> <FONT =
color=3D#bebebe># shadow everything else
</FONT> <FONT color=3D#98fb98>symlink</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"$srcdir/$name"</FONT>, =
<FONT color=3D#00cd00>"$dstdir/$name"</FONT><FONT =
color=3D#00ffff>)</FONT>
<FONT color=3D#98fb98>or</FONT> <FONT =
color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"can't symlink =
$srcdir/$name to $dstdir/$name: $!"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN531>Program: lst</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
#% lst -l /etc
#12695 0600 1 root wheel 512 Fri May 29 10:42:41 =
1998</FONT><FONT color=3D#43cd80> </FONT><FONT color=3D#bebebe>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -