Linux当中文件的显示命令

Linux中对于文件展示的操作较多,用的也比较频繁,总结如下:

 

1. cat

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

cat [-AbeEnstTuv] [--help] [--version] filename

 

-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-e : 等价于 -vE。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;

举例:

cat –n file  (打印文件,并添加行号)

cat m1 m2 > file (将文件ml和m2合并后放入文件file中)

2. more

命令类似 cat ,会以一页一页的形式显示. 按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示, 按q退出显示。

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

 

-num 一次显示的行数

+num 从第 num 行开始显示

-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声

-l 取消遇见特殊字元 ^L时会暂停的功能

-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)

-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料

-s 当遇到有连续两行以上的空白行,就代换为一行的空白行

-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

举例:

more +20 testfile  (从第 20 行开始显示 testfile 之文档内容)

 3. less

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

less [参数] 文件

 

-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

 

举例:

ps -ef |less  (ps查看进程信息并通过less分页显示)

4. head tail

这2个命令比较类似。head是按行号正序输出文件,tail是按行号倒叙输出文件。

head [参数]... [FILE]

tail [参数]... [FILE]

 

-c<数目> 显示的字节数
-n<行数> 显示行数(默认10行)
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.

 

举例:

head -5 file

tail -5 file

5. find

find命令用来在指定目录下查找文件

find   path   -option   [ -print ]   [ -exec   -ok   command ]   {} \;
-path:  find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

 

-option可对应下列参数:

-name   filename             #查找名为filename的文件
-perm                        #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname            #按组来查找
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n               #按文件访问时间来查GIN: 0px">
-ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2              找文件,-n指n天以内,+n指n天以前
-ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer   f1 !f2               #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                     #查更改时间比f1新但比f2旧的文件
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]               #查长度为n块[或n字节]的文件
-depth                       #使查找在进入子目录前先行查找完本目录
-fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-mount                       #查文件时不跨越文件系统mount点
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中
-prune                       #忽略某个目录

举例:

find   -name april*  (在当前目录下查找以april开始的文件)

find   /mnt   -name tom.txt   -ftype vfat   (在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件)

find . -type f -exec ls -l {} \;  (查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出)

6. 文件判断

下列参数是在if语句中,对文件的相关判断操作,如果下面的条件成立将会返回真.(仅列出一些常用的操作)

-e
    文件存在
-f
    表示这个文件是一个 一般 文件(并不是目录或者设备文件)
-s
    文件大小不为零
-d
    表示这是一个目录
-b
    表示这是一个块设备(软盘, 光驱, 等等.)
-S
    表示这是一个socket
-r
    文件是否具有可读权限( 指的是正在运行这个测试命令的用户是否具有读权限 )
-w
    文件是否具有可写权限(指的是正在运行这个测试命令的用户是否具有写权限)
-x
    文件是否具有可执行权限(指的是正在运行这个测试命令的用户是否具有可执行权限)
-O
    判断你是否是文件的拥有者
f1 -nt f2
    文件 f1 比文件 f2 新
f1 -ot f2
    文件 f1 比文件 f2 旧
f1 -ef f2
    文件 f1 和文件 f2 是相同文件的硬链接
!
    "非" -- 反转上边所有测试的结果(如果没给出条件, 那么返回真).

 

举例:

if [ ! -f "$myFile" ]; then

 touch "$myFile"

fi # 这里的-f参数判断$myFile是否存在

 7. 文件类型判断

file命令用于辨识文件类型。

file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

 

-b  列出辨识结果时,不显示文件名称。
-c  详细显示指令执行过程,便于排错或分析程序执行的情形。
-f   <名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
-L  直接显示符号连接所指向的文件的类别。
-m   <魔法数字文件>  指定魔法数字文件。
-v  显示版本信息。
-z  尝试去解读压缩文件的内容。
  [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。

 举例:

[root@localhost ~]# file -b install.log      <== 不显示文件名称
UTF-8 Unicode text

 

posted @ 2018-10-22 16:02  心笔轩  阅读(1210)  评论(0编辑  收藏  举报