Linux循序渐进(6)
扫描二维码
随时随地手机看文章
第十课(一) 文件和目录操作相关命令
显示文件内容命令
用户需要查看一个文件的内容时,可以根据显示要求的不同选用以下的命令。
cat命令
功能1:在标准输出上显示文件。
语法:cat [ - 选项 ] 文件
说明:该命令功能之一是用来显示文件。它依次读取其后所指文件的内容并将其输出到标准输出。
cat命令中各个选项的含义为:
- v 用一种特殊形式显示控制字符,LFD与TAB除外。
加了- v选项后,- T和- E选项将起作用。其中:
- T 将TAB显示为“Ù I”。该选项需要与- v选项一起使用。即如果没有使用- v选项,则这个选项将被忽略。
- E 在每行的末尾显示一个$符。该选项需要与- v选项一起使用。
- u 输出不经过缓冲区。
- A 等于- vET。
- t 等于- vT。
- e 等于- vE。
例1:$ cat example.txt
则在屏幕上显示出example.txt 文件的内容。
本想今天去香山看红叶,无奈天公不作美没去成,真遗憾,但愿明天艳阳高照,使我们梦想成真。
例2:$ cat - A exam2.txt
则在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示。
I am a boy ! ùI You are a cute boy$
功能2:连接两个或多个文件
说明:该命令功能之二是用来将两个或多个文件连接起来。
例3:$ cat file1 file2 > file3
这样就把文件filel和文件file2的内容合并起来,放入文件file3中。(此时在屏幕上并不能直接看到该命令执行后的结果。若想看到连接后的文件内容,可以再使用“cat file3”。)
需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看清其内容。因此,当文件内容较大时,一般可用more等命令分屏显示,以免因屏幕滚动太快而无法看清。
more命令
功能:在终端屏幕按屏显示文本文件。
语法: more [ - 选项 ] 文件
说明: 该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出- - More- - ,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。
more命令中各个选项的含义为:
- p 显示下一屏之前先清屏。
- c 作用同- p基本一样。
- d 在每屏的底部显示更友好的提示信息:
- - More- - (XX%)[Press space to contiune , ‘q' to quit . ]
而且若用户输入了-个错误命令则显示出错信息,而不是简单地鸣响终端。
- l 不处理< Ctrl+l >(换页符)。如果没有给出这个选项,则more命令在显示了一个包含有< Ctrl+l >字符的行后将暂停显示,并等待接收命令。
- s 文件中连续的空白行压缩成一个空白行显示。
执行中的命令
在more命令的执行过程中,用户可以使用more自己的一系列命令动态地根据需要来选择显示的部分。more在显示完一屏内容之后,将停下来等待用户输入某个命令。下表列出了more指令在执行中用到的一些常用命令,而有关这些命令的完整内容,可以在more执行时按h查看。这些命令的执行方法是先输入i(行数)的值,再打所要的命令,不然它会以预设值来执行命令。
i空格 若指定i,显示下面的i行;否则,显示下一整屏。
i回车 若指定i,显示下面的i行;否则,显示下一行。
iÙ D 按,若指定i,显示下面的i行;否则,往下显示半屏(一般为11行)。
id 同iÙ D 。
iz 同“i空格”类似,只是i将成为以下每个满屏的缺省行数。
is 跳过下面的i行再显示一个整屏。预设值为1。
if 跳过下面的i屏再显示一个整屏。预设值为1。
iÙ B 按,往回跳过(即向文件首回跳)i屏,再显示一个满屏。预设值为1。
b 与iÙ B相同。
' 回到上次搜索的地方
q或Q 退出more。
= 显示当前行号。
v 在当前行启动/usr/bin/vi对之进行编辑修改。
h 显示各命令的帮助信息。
i/pattern 查找匹配该模式的第i行。预设值为1。
in 查找符合表达式的倒数i行。预设值为1。
! 或 :! 在子shell中执行命令。
i:n 在命令行中指定了多个文件名的情况下,可用此命令使之显示第i个文件,若i过大(出界),则显示文件名列表中的最后一个文件。
i:p 在命令行中指定了多个文件名的情况下,可用此命令使之显示倒数第i个文件。若i过大(出界),则显示第一个文件。
i:f 显示当前文件的文件名和行数。
· 重复上次键人的命令。
例1:用分页的方式显示一个文件的内容。
$ more example1.c
/*-------------------------------------------*/
/* example1.c */
/*-------------------------------------------*/
/* author f opus.BBS@BBS.cs.nthu.edu.tw */
/* target f BBS main/login/top-menu routines */
/* create f 99/10/23 */
/* update f 99/12/15 */
/*-------------------------------------------*/
#define _MAIN_C_
#inc1ude < BBS. h >
jmp_buf byebye;
int talkrequest=NA;
static uschar Enter_uflag i
#ifdef SHOW_IDLE_TIME
--More- (3%)
例2:显示一个文件的内容,但显示之前先清屏,并且在显示器的最下方显示完整的百分比。
$ more - dc example1.c
执行该命令后,先清屏,然后显示文件example.c的内容。
/*-------------------------------------------*/
/* example1.c */
/*-------------------------------------------*/
/* author f opus.BBS@BBS.cs.nthu.edu.tw */
/* target f BBS main/login/top-menu routines */
/* create f 99/10/23 */
/* update f 99/12/15 */
[!--empirenews.page--]/*-------------------------------------------*/
#define _MAIN_C_
#inc1ude < BBS. h >
jmp_buf byebye;
int talkrequest=NA;
static uschar Enter_uflag i
#ifdef SHOW_IDLE_TIME
char fromhost( );
--More- (3%)[Press space to continue , ‘q' to quit .]
例3:显示一个文件的内容,要求每十行显示一次,且显示之前先清屏。
$ more - c - 10 example1.c
执行该命令后,先清屏,然后将以每十行每十行的方式显示文件example.c的内容。
/*-------------------------------------------*/
/* example1.c */
/*-------------------------------------------*/
/* author f opus.BBS@BBS.cs.nthu.edu.tw */
/* target f BBS main/login/top-menu routines */
/* create f 99/10/23 */
/* update f 99/12/15 */
/*-------------------------------------------*/
#define _MAIN_C_
inc1ude < BBS. h >
--More- (3%)
less命令
less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。
less命令的使用与more命令类似,在此就不赘述了,用户如有不清楚的地方可直接查看联机帮助。
用less命令显示文件时,若需要在文件中往前移动,按< b >键;要移动到用文件的百分比表示的某位置,则指定一个0到100之间的数,并按< p >即可。
例如,需要按页显示test文件
$ less test
head命令
如果用户希望查看一个文件究竟保存的是什么内容,可以只查看文件的头几行,而不必浏览整个文件。用head命令只显示文件或标准输入的头几行。
语法:head [- n ] 文件
功能:显示指定文件的前若干行。
说明:该命令显示每个指定文件的前面n行。如果没有给出n值,缺省设置为10。如果没有指定文件,head就从标准输入读取。例如显示文件example.c的前3行。
$ head - 3 example.c
/*-------------------------------------------*/
/* example1.c */
/*-------------------------------------------*/
tail命令
同样,如果用户想查看文件的尾部,可以使用tail命令。
语法:tail [+ / - num ] [参数] 文件
说明:该命令显示一个文件的指定内容。它把指定文件的指定显示范围内的内容显示在标准输出上。如果没有给定文件名,则使用标准输入文件。
tail命令中各个选项的含义为:
+num 从第num行以后开始显示。
- num 从距文件尾num行处开始<