主要有:file、cat、head、tail、more、less、umask、wc
Llinux包含许多帮助我们用不同方式读取文件的命令。比如我们可以验证文件的不同类型,可以从顶端或者从底端开始读取文件,以及可以限制读取在几行,也可以设置通读,当然我们可以统计一个文件内的行数,单词和字符数,此外还包括一些搜索文件的命令。
1.file命令
file通过探测文件内容判断文件类型,使用权限是所有用户。
用法:
file [options] 文件名
[options]主要参数
-v:在标准输出后显示版本信息,并且退出。
-z:探测压缩过的文件类型。
-L:允许符合连接。
-f name:从文件namefile中读取要分析的文件名列表。
2.cat命令
cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。
用法:
cat [options] 文件1 文件2……
[options]主要参数
-n:由第一行开始对所有输出的行数编号。
-b:和-n相似,只不过对于空白行不编号。
-s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。
这条命令可以顺序地读取多个文件,用法:cate file1 file2
cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。
比如:
<wbr><span style="font-size:14px">de>[root@localhost ~]# cat/etc/fstab</span><wbr><span style="font-size:14px">de></span></wbr></wbr>
为了便于新手弟兄灵活掌握这个工具,我们多说一点常用的参数;
2.0 cat 语法结构;
<wbr><span style="font-size:14px">de>cat [选项][文件]...</span><wbr><span style="font-size:14px">de></span></wbr></wbr>
选项
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳 字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开
2.1 cat 查看文件内容实例;
<wbr><span style="font-size:14px">de>[root@localhost ~]# cat/etc/profile</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:查看/etc/目录下的pro</span><wbr><span style="font-size:14px">file文件内容;<br>
[root@localhost ~]# cat -b/etc/fstab</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:查看/etc/目录下的pro</span><wbr><span style="font-size:14px">file内容,并且对非空白行进行编号,行号从1开始;<br>
[root@localhost ~]# cat -n/etc/profile</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:对/etc目录中的pro</span><wbr><span style="font-size:14px">file的所有的行(包括空白行)进行编号输出显示;<br>
[root@localhost ~]# cat</span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>-E/etc/profile</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:查看/etc/下的pro</span><wbr><span style="font-size:14px">file内容,并且在每行的结尾处附加$符号;</span><wbr><span style="font-size:14px">de></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;
<wbr><span style="font-size:14px">de>[root@localhost ~]# cat -n/etc/profile<br>
[root@localhost ~]# nl</span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>/etc/profile</span><wbr><span style="font-size:14px">de></span></wbr></wbr></wbr></wbr>
cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
<wbr><span style="font-size:14px">de>[root@localhost ~]# cat /etc/fstab/etc/profile</span><wbr><span style="font-size:14px">de></span></wbr></wbr>
cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;
<wbr><span style="font-size:14px">de>[root@localhost ~]# cat /etc/fstab/etc/profile | more</span><wbr><span style="font-size:14px">de></span></wbr></wbr>
2.2 cat 的创建、连接文件功能实例;
cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;
<wbr><span style="font-size:14px">de>[root@localhost ~]# cat></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>linuxsir.org.txt</span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span><<EOF</span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:创建linuxsir.org.txt文件;<br>
> 我来测试 cat创建文件,并且为文件输入内容;</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:这是为linuxsir.org.txt文件输入内容;<br>
> 北南南北测试;</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:这是为linuxsir.org.txt文件输入内容;<br>
>EOF</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:退出编辑状态;<br><br>
[root@localhost ~]# catlinuxsir.org.txt</span><wbr><wbr><span style="font-size:14px"><span><wbr></wbr></span>注:我们查看一下linuxsir.org.txt文件的内容;<br><br>
我来测试 cat 创建文件,并且为文件输入内容;<br>
北南南北 测试;</span><wbr><span style="font-size:14px">de></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
cat连接多个文件的内容并且输出到一个新文件中;
假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;
<wbr><span style="font-size:14px">de>[root@localhost ~]# catsir01.txt</span><wbr><wbr><span style="font-size:14px"></span><wbr><wbr><span style="font-size:14px"><br>
123456<br>
i am testing<br><br>
[root@localhost ~]# cat sir02.txt<br>
56789<br>
BeiNan Tested<br><br>
[root@localhost ~]# cat sir03.txt<br>
09876<br>
linuxsir.org testing</span><wbr><span style="font-size:14px">de></span></wbr></wbr></wbr></wbr></wbr></wbr>
我想通过cat 把sir01.txt、sir02.txt及sir03.txt三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。
注意:其原理是把三个文件的内容连接起来,然后创建sir04.txt文件,并且把几个文件的内容同时写入sir04.txt中。特别值得一提的是,
如果您输入到一个已经存在的sir04.txt文件,会把sir04.txt内容清空。
<wbr><span style="font-size:14px">de>[root@localhost ~]# cat sir01.txtsir02.txt sir03.txt > sir04.txt<br><br>
[root@localhost ~]# more sir04.txt<br>
123456<br>
i am testing<br>
56789<br>
BeiNan Tested<br>
09876<br>
linuxsir.org testing</span><wbr><span style="font-size:14px">de></span></wbr></wbr>
cat把一个或多个已存在的文件内容,追加到一个已存在的文件中
<wbr><span style="font-size:14px">de>[root@localhost ~]# catsir00.txt<br>
linuxsir.org forever<br><br>
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt>> sir00.txt<br><br>
[root@localhost ~]# cat sir00.txt<br>
linuxsir.org forever<br>
123456<br>
i am testing<br>
56789<br>
BeiNan Tested<br>
09876<br>
linuxsir.org testing</span><wbr><span style="font-size:14px">de></span></wbr></wbr>
3.head和tail命令
head和tail命令可以分别从顶端或者底端看查看文件的内容,区别就是一个是从头一从末开始。.
用法:
head 300b test.txt查看text.txt文件的前300个字节
head test.txt查看text.txt文件的前3MB
tail -n55 test.txt查看text.txt文件的后55行
tail 4k test.txt查看text.txt文件的后4KB个字节
4.more和less命令
和head和tail命令相似但有点不同,more和less命令不是对立的多或者少。它们都从一个文本文件的开口处开始。当对一个文本文件执行这两条命令时,我们将都一次一页地查看文件的内容,它们都允许使用键盘上的PageUp和PageDown,退出只需按q键或者ctrl+c。less命令还具有vi编辑程序的优点,可以使用一些vi的命令搜索文件
用法:
more test.txt查看文件text.txt的内容
less test.txt查看文件text.txt的内容
说明:①less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。②如果LESS无法查看中文,你需要设置环境变量:export LESSCHARSET=iso8859。
5.umask命令
当创建一个新的文件或目录时,我们所获得的权限取决于所谓的umask的值,在命令行界面中键入umask,将会看到权限的当前数字掩码(masked)值
如输入:#umask
得到结果:0022
对掩码数字的理解,nmask中的第一个数字目前未得到使用,因此实际的umask是022。umask不允许用户在任何文件上配置执行(x=1)权限,每一个文件的掩码值就像777减去644,就是022及rw--r--r。也是说对于一个新文件,所有者拥有读取和写入的权限,所有者组和其他成员则只拥有读取的权利。
6.wc命令
wc命令是用来统计的,比较简单易懂。wc命令可以一个文本文件进行行、字符、单词的统计。
用法:执行结果
wc -l test.txt统计test.txt文件中的行数
wc -c test.txt统计test.txt文件中的字符数
wc -w test.txt统计test.txt文件中的单词数
7. sed命令
查看文件中间一段,你可以使用sed命令,如:
sed -n '5,10p' /etc/passwd
这样你就可以只查看文件的第5行到第10行。
其它一些技巧:
1.输出重定向:
tail -f a.txt >> b.txt &
2.退出:ctrl+c或 ctrl+break