第十课(一) 文件和目录操作相关命令
显示文件内容命令
用户需要查看一个文件的内容时可以根据显示要求的不同选用以下的命令
cat命令
功能在标准输出上显示文件
语法cat [ 选项 ] 文件
说明该命令功能之一是用来显示文件它依次读取其后所指文件的内容并将其输出到标准输出
cat命令中各个选项的含义为
v 用一种特殊形式显示控制字符LFD与TAB除外
加了 v选项后 T和 E选项将起作用其中
T 将TAB显示为Ù I该选项需要与 v选项一起使用即如果没有使用 v选项则这个选项将被忽略
E 在每行的末尾显示一个$符该选项需要与 v选项一起使用
u 输出不经过缓冲区
A 等于 vET
t 等于 vT
e 等于 vE
例$ cat exampletxt
则在屏幕上显示出exampletxt 文件的内容
本想今天去香山看红叶无奈天公不作美没去成真遗憾但愿明天艳阳高照使我们梦想成真
例$ cat A examtxt
则在屏幕上显示出examtxt 文件的内容而且如果文件中含有特殊字符的话一并显示
I am a boy ! ùI You are a cute boy$
功能连接两个或多个文件
说明该命令功能之二是用来将两个或多个文件连接起来
例$ cat file file > file
这样就把文件filel和文件file的内容合并起来放入文件file中(此时在屏幕上并不能直接看到该命令执行后的结果若想看到连接后的文件内容可以再使用cat file)
需要说明的是当文件内容过多时就带来一个问题因为文本在屏幕上迅速地闪过用户来不及看清其内容因此当文件内容较大时一般可用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行否则往下显示半屏(一般为行)
id 同iÙ D
iz 同i空格类似只是i将成为以下每个满屏的缺省行数
is 跳过下面的i行再显示一个整屏预设值为
if 跳过下面的i屏再显示一个整屏预设值为
iÙ B 按往回跳过(即向文件首回跳)i屏再显示一个满屏预设值为
b 与iÙ B相同
回到上次搜索的地方
q或Q 退出more
= 显示当前行号
v 在当前行启动/usr/bin/vi对之进行编辑修改
h 显示各命令的帮助信息
i/pattern 查找匹配该模式的第i行预设值为
in 查找符合表达式的倒数i行预设值为
! 或 ! 在子shell中执行命令
in 在命令行中指定了多个文件名的情况下可用此命令使之显示第i个文件若i过大(出界)则显示文件名列表中的最后一个文件
ip 在命令行中指定了多个文件名的情况下可用此命令使之显示倒数第i个文件若i过大(出界)则显示第一个文件
if 显示当前文件的文件名和行数
· 重复上次键人的命令
例用分页的方式显示一个文件的内容
$ more examplec
/**/
/* examplec */
/**/
/* author f opusBBS@BBScsnthuedutw */
/* target f BBS main/login/topmenu routines */
/* create f // */
/* update f // */
/**/
#define _MAIN_C_
#incude < BBS h >
jmp_buf byebye;
int talkrequest=NA;
static uschar Enter_uflag i
#ifdef SHOW_IDLE_TIME
More (%)
例显示一个文件的内容但显示之前先清屏并且在显示器的最下方显示完整的百分比
$ more dc examplec
执行该命令后先清屏然后显示文件examplec的内容
/**/
/* examplec */
/**/
/* author f opusBBS@BBScsnthuedutw */
/* target f BBS main/login/topmenu routines */
/* create f // */
/* update f // */
/**/
#define _MAIN_C_
#incude < BBS h >
jmp_buf byebye;
int talkrequest=NA;
static uschar Enter_uflag i
#ifdef SHOW_IDLE_TIME
char fromhost( );
More (%)[Press space to continue q to quit ]
例显示一个文件的内容要求每十行显示一次且显示之前先清屏
$ more c examplec
执行该命令后先清屏然后将以每十行每十行的方式显示文件examplec的内容
/**/
/* examplec */
/**/
/* author f opusBBS@BBScsnthuedutw */
/* target f BBS main/login/topmenu routines */
/* create f // */
/* update f // */
/**/
#define _MAIN_C_
incude < BBS h >
More (%)
less命令
less命令的功能几乎和more命令一样也是用来按页显示文件不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件
less命令的使用与more命令类似在此就不赘述了用户如有不清楚的地方可直接查看联机帮助
用less命令显示文件时若需要在文件中往前移动按< b >键要移动到用文件的百分比表示的某位置则指定一个到之间的数并按< p >即可
例如需要按页显示test文件
$ less test
head命令
如果用户希望查看一个文件究竟保存的是什么内容可以只查看文件的头几行而不必浏览整个文件用head命令只显示文件或标准输入的头几行
语法head [ n ] 文件
功能显示指定文件的前若干行
说明该命令显示每个指定文件的前面n行如果没有给出n值缺省设置为如果没有指定文件head就从标准输入读取例如显示文件examplec的前行
$ head examplec
/**/
/* examplec */
/**/
tail命令
同样如果用户想查看文件的尾部可以使用tail命令
语法tail [+ / num ] [参数] 文件
说明该命令显示一个文件的指定内容它把指定文件的指定显示范围内的内容显示在标准输出上如果没有给定文件名则使用标准输入文件
tail命令中各个选项的含义为
+num 从第num行以后开始显示
num 从距文件尾num行处开始< 人生没有彩排,每一天都是现场直播