📄 0220filemanager.htm
字号:
<span class=term_say># 将某个档案移动到某个目录去,就是这样做!</span>
<span class=term_hd>范例二∶将刚刚的目录名称更名为 mvtest2</span>
[root@linux tmp]# <span class=term_command>mv mvtest mvtest2</span> <span class=term_note><== 这样就更名了!简单~</span>
<span class=term_say># 其实在 Linux 底下还有个有趣的指令,名称为 <span class=term_note_b>rename</span> ,
# 该指令则专职进行档案的更名呢!用途也是不少~可以参阅 man rename 喔!</span>
<span class=term_hd>范例三∶再建立两个档案,再全部移动到 /tmp/mvtest2 当中</span>
[root@linux tmp]# <span class=term_command>cp ~/.bashrc bashrc1</span>
[root@linux tmp]# <span class=term_command>cp ~/.bashrc bashrc2</span>
[root@linux tmp]# <span class=term_command>mv bashrc1 bashrc2 mvtest2</span>
<span class=term_say># 注意到这边,如果有多个来源档案或目录,则最后一个目标档一定是『目录!』
# 意思是说,将所有的资料移动到该目录的意思!</span>
</pre></td></tr></table>
这是搬移 (move) 的意思!当你要移动档案或目录的时后,呵呵!这个指令就很重要啦!
同样的,你也可以使用 -u ( update )来测试新旧档案,看看是否需要搬移棉!
另外一个用途就是『<span class=text_import2>变更档名</span>!』,我们可以很轻易的使用
mv 来变更一个档案的档名呢!不过,在 Linux 才有的指令当中,有个 rename ,
可以用来更改大量档案的档名,您可以利用 man rename 来查阅一下,也是挺有趣的指令喔!<br />
</div>
</div>
<hr><a name="dir_name"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>取得路径的档案名称与目录名称</span>
<div class=block2>
我们前面介绍的完整档名 (包含目录名称与档案名称) 当中提到,完整档名最长可以到达 4096 个字元。
那么您怎么知道那个是档名?那个是目录名?嘿嘿!就是利用斜线 (/) 来分辨啊!
其实,取得档名或者是目录名称,一般的用途应该是在写程式的时候,用来判断之用的啦~
所以,这部分的指令可以用在第三篇内的 shell scripts 里头喔!
底下我们简单的以几个范例来谈一谈 basename 与 dirname 的用途!<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>basename /etc/sysconfig/network</span>
network <span class=term_note><== 很简单!就取得最后的档名~</span>
[root@linux ~]# <span class=term_command>dirname /etc/sysconfig/network</span>
/etc/sysconfig <span class=term_note><== 取得的变成目录名了!</span>
</pre></td></tr></table>
很简单的应用吧!
</div>
</div>
<hr><a NAME="file_content"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">档案内容查阅∶</span><br />
<div class=block1>
刚刚我们提到的都只是在于显示档案的属性与权限,或者是移动与复制一个档案或目录而已,
那么如果我们要查阅一个档案的内容时,该如何是好呢?!这里有相当多有趣的指令可以来分享一下∶
最常使用的显示档案内容的指令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的档案
( 好几百MB时 ),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外,
tac 这个指令也可以达到!好了,说说各个指令的用途吧!<ul><span class=text_import2><font face="细明体">
<li>cat 由第一行开始显示档案内容
<li>tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
<li>nl 显示的时候,顺道输出行号!
<li>more 一页一页的显示档案内容
<li>less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
<li>head 只看头几行
<li>tail 只看尾巴几行
<li>od 以二进位的方式读取档案内容!</ul></font></span>
<hr><a name="file_content_1"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>直接检视档案内容</span><br />
<div class=block2>
直接查阅一个档案的内容可以使用 cat/tac/nl 这几个指令啊!<br /><br />
<hr><li><a name="cat"></a><span class=text_import1>cat (concatenate)</span></li>
<div class=block2>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>cat [-AEnTv]</span>
<span class=term_say>参数∶
-A ∶相当于 -vET 的整合参数,可列出一些特殊字符~
-E ∶将结尾的断行字元 $ 显示出来;
-n ∶列印出行号;
-T ∶将 [tab] 按键以 ^I 显示出来;
-v ∶列出一些看不出来的特殊字符
范例∶</span>
<span class=term_hd>范例一∶检阅 /etc/issue 这个档案的内容</span>
[root@linux ~]# <span class=term_command>cat /etc/issue</span>
Fedora Core release 4 (Stentz)
Kernel \r on an \m
<span class=term_hd>范例二∶承上题,顺便列印出行号时!</span>
[root@linux ~]# <span class=term_command>cat -n /etc/issue</span>
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
3
<span class=term_say># 看到了吧!可以印出行号呢!这对于大档案要找某个特定的行时,有点用处!</span>
<span class=term_hd>范例三∶将 /etc/xinetd.conf 的内容完整的显示出来(包含特殊字元)</span>
[root@linux ~]# <span class=term_command>cat -A /etc/xinetd.conf</span>
#<span class=term_write>$</span>
# Simple configuration file for xinetd<span class=term_write>$</span>
#<span class=term_write>$</span>
# Some defaults, and include /etc/xinetd.d/<span class=term_write>$</span>
<span class=term_write>$</span>
defaults<span class=term_write>$</span>
{<span class=term_write>$</span>
<span class=term_write>^I</span>instances = 60<span class=term_write>$</span>
log_type = SYSLOG authpriv<span class=term_write>$</span>
log_on_success<span class=term_write>^I^I</span>= HOST PID<span class=term_write>$</span>
log_on_failure<span class=term_write>^I^I</span>= HOST<span class=term_write>$</span>
<span class=term_write>^I</span>cps<span class=term_write>^I^I^I</span>= 25 30<span class=term_write>$</span>
}<span class=term_write>$</span>
<span class=term_write>$</span>
includedir /etc/xinetd.d<span class=term_write>$</span>
<span class=term_say># 在一般的环境中,列印出来的结果在有 [tab] 与空白键,其实看不出来,
# 那么使用 cat -A 时,会将 [tab] 按键以 ^I 显示,而断行字元也会显示出来~
# 最特殊的当然就是断行字元了!这个段行字元在 Linux 与 Windows 是不一样的。
# 在 Linux 是以 $ 为断行字元,而在 Windows 则是以 ^M$ 为断行字元。
# 这部分我们会在 vi 软体的介绍时,再次的说明到喔!</span>
</pre></td></tr></table>
嘿嘿! Linux 里面有『猫』?!喔!不是的, cat 是 Concatenate (连续)的简写,
主要的功能是将一个档案的内容连续的印出在萤幕上面!例如上面的例子中,我们将 /etc/issue
印出来!如果加上 -n 的话,则每一行前面还会加上行号呦!鸟哥个人是比较少用 cat
啦!毕竟当你的档案内容的行数超过 40 行以上,嘿嘿!根本来不及看!所以,配合等一下要介绍的 more
或者是 less 来执行比较好!此外,如果是一般的 DOS 档案时,就需要特别留意一些奇奇怪怪的符号了,
例如断行与 [tab] 等,要显示出来,就得加入 -A 之类的参数了!<br /><br />
</div>
<hr><li><a name="tac"></a><span class=text_import1>tac (反向列示)</span></li>
<div class=block2>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>tac /etc/issue</span>
Kernel \r on an \m
Fedora Core release 4 (Stentz)
<span class=term_say># 嘿嘿!与刚刚上面的范例一比较,是由最后一行先显示喔!</span>
</pre></td></tr></table>
tac 这个好玩了!怎么说呢?详细的看一下, cat 与 tac ,有没有发现呀!对啦!
tac 刚好是将 cat 反写过来,所以他的功能就跟 cat 相反啦, cat
是由『第一行到最后一行连续显示在萤幕上』,而 tac 则是『
<span class=text_import2>由最后一行到第一行反向在萤幕上显示出来</span> 』,很好玩吧!<br /><br />
</div>
<hr><li><a name="nl"></a><span class=text_import1>nl (添加行号列印)</span></li>
<div class=block2>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>nl [-bnw] 档案</span>
<span class=term_say>参数∶
-b ∶指定行号指定的方式,主要有两种∶
-b a ∶表示不论是否为空行,也同样列出行号;
-b t ∶如果有空行,空的那一行不要列出行号;
-n ∶列出行号表示的方法,主要有三种∶
-n ln ∶行号在萤幕的最左方显示;
-n rn ∶行号在自己栏位的最右方显示,且不加 0 ;
-n rz ∶行号在自己栏位的最右方显示,且加 0 ;
-w ∶行号栏位的占用的位元数。
范例∶</span>
<span class=term_hd>范例一∶列出 /etc/issue 的内容</span>
[root@linux ~]# <span class=term_command>nl /etc/issue</span>
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
<span class=term_say># 注意看,这个档案其实有三行,第三行为空白(没有任何字元),
# 因为他是空白行,所以 nl 不会加上行号喔!如果确定要加上行号,可以这样做∶</span>
[root@linux ~]# <span class=term_command>nl -b a /etc/issue</span>
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
3
<span class=term_say># 呵呵!行号加上来棉~那么如果要让行号前面自动补上 0 呢?可这样</span>
[root@linux ~]# <span class=term_command>nl -b a -n rz /etc/issue</span>
000001 Fedora Core release 4 (Stentz)
000002 Kernel \r on an \m
000003
<span class=term_say># 嘿嘿!自动在自己栏位的地方补上 0 了~预设栏位是六位数,如果想要改成 3 位数?</span>
[root@linux ~]# <span class=term_command>nl -b a -n rz -w 3 /etc/issue</span>
001 Fedora Core release 4 (Stentz)
002 Kernel \r on an \m
003
<span class=term_say># 变成仅有 3 位数棉~</span>
</pre></td></tr></table>
nl 可以将输出的档案内容自动的加上行号!其结果与 cat -n 有点不太一样,
nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能呢~
</DIV>
</div>
<hr><a name="file_content_2"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>可翻页检视</span><br />
<div class=block2>
前面提到的 nl 与 cat, tac 等等,都是一次性的将资料显示到萤幕上面,那有没有可以进行一页一页翻动的指令啊?
让我们可以一页一页的观察,才不会前面的看不到啊~呵呵!有的!那就是 more 与 less 棉
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -