了解文件的类型

使用命令 file 可以查看文件的类型。一个例子如下:

file命令

在标准输出设备上查看文件

使用命令 cat 可以将文本文件的内容显示在屏幕上(DOS是 type ),但是这个命令有一个缺点,就是如果文件很大,则一次性输出所有内容不利于查看,所以可以使用管道配合 less 命令,如下:

cat查看文本文件

将文件拼接到标准输出设备

其实 cat 命令最初的用途是获取多个文件,将他们拼接成一个文件(仅对一个文件使用 cat 命令是其特殊用法,但是现在成为了它的主要用法)。示例如下:

cat拼接

将文件与其他文件拼接

上一个例子将两个文件拼接并且输出到了标准输出设备,很容易想到将拼接后的结果重定向输出到文件,一个例子如下:

cat重定向

拼接文件并添加行号

使用 cat 命令时候可以使用其 -n 选项来显示行号。如下:

cat -n

less分页器的使用

通过前面的例子可以看到,如果使用 cat 来查看文件内容,文件过于庞大时,不利于翻页查看。所以可以使用分页器: less ,每次只查看文件的内容的一页。使用 less 时,可以按j来往下翻一行,k来网上翻一行,f往下翻一页,b往前翻一页,q退出等等。此外可以使用其 -N 选项来显示文本的行号。

此外,如果想在分页器中进行搜索,可以输入符号 / ,如果搜索到了匹配的字符,可以是使用 n 键来向下继续搜索, 使用 N 键来向上搜索。

此外,还可以使用命令 export EDITOR=vim 来设置less内可按 v 键打开vim编辑器对当前less打开的文本进行编辑。更好的做法是将 export EDITOR=vim 写到~/.bashrc中,这样就不是临时性设置了。需要注意的是,如果想不重新登录bash来重新加载~/.bashrc,可以使用命令 source ~/.bashrc 或者 exec bash 来重新加载~/.bashrc,前者可以保留当前bash的所有临时性设置,而后者不会保存。

使用head查看文件

如果一个文件很大,而我们只是想知道文件开头的10行的内容,就没必要使用 cat 等命令了,可以使用 head 命令。此命令默认打文件显示其前10行。例子如下:

head的使用

同时,如果想查看多个文件的前10行,可以使用 head file0 file1 file2 的方式来查看,如下:

head多文件

如果不想指定只查看文件的前10行,而是其他行数,可以使用 -n 选项指定,如下:

head -n

使用tail查看文件

tailhead 相反,它默认查看文件最后10行的内容,其他的使用都是类似的,一个综合例子如下:

tail的使用

此外,由于 tail 的特殊特性(查看文件末尾的行),所以很适合用这个命令来查看日志文件,但是日志文件一般是实时变化的,我们使用 tail 只能查看这个日志文件的某一时刻的快照,所以为了跟踪实时查看,可以使用其 -f 选项,用了这个选项,输入 tail 命令后不会自动关闭,这样就可以观察日志随时间所发生的变化(ctr+C可以停止),此外,如果是想实时监控临时文件,可以使用使用其 --retry 选项,这样可以避免临时文件突然消失或者不可访问。一个例子如下(都是通过ctr+c才退出的):

tail -f –retry