转载地址
主要有:file、cat、head、tail、more、less、umask、wc
cat、more、less均可用来查看文件内容,主要区别有:cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况;more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less都支持:用空格显示下一页,按键b显示上一页。
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 后面直接接文件名。
比如:
de>[root@localhost ~]# cat/etc/fstabde>
为了便于新手弟兄灵活掌握这个工具,我们多说一点常用的参数;
2.0 cat 语法结构;
de>cat [选项][文件]...de>
选项
-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 查看文件内容实例;
de>[root@localhost ~]# cat/etc/profile 注:查看/etc/目录下的profile文件内容;
[root@localhost ~]# cat -b/etc/fstab 注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
[root@localhost ~]# cat -n/etc/profile 注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
[root@localhost ~]# cat -E/etc/profile 注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;de>
cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;
de>[root@localhost ~]# cat -n/etc/profile
[root@localhost ~]# nl /etc/profilede>
cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
de>[root@localhost ~]# cat /etc/fstab/etc/profilede>
cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;
de>[root@localhost ~]# cat /etc/fstab/etc/profile | morede>
2.2 cat 的创建、连接文件功能实例;
cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;
de>[root@localhost ~]# cat> linuxsir.org.txt <<EOF 注:创建linuxsir.org.txt文件;
> 我来测试 cat创建文件,并且为文件输入内容; 注:这是为linuxsir.org.txt文件输入内容;
> 北南南北测试; 注:这是为linuxsir.org.txt文件输入内容;
>EOF 注:退出编辑状态;
[root@localhost ~]# catlinuxsir.org.txt 注:我们查看一下linuxsir.org.txt文件的内容;
我来测试 cat 创建文件,并且为文件输入内容;
北南南北 测试;de>
cat连接多个文件的内容并且输出到一个新文件中;
假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;
de>[root@localhost ~]# catsir01.txt
123456
i am testing
[root@localhost ~]# cat sir02.txt
56789
BeiNan Tested
[root@localhost ~]# cat sir03.txt
09876
linuxsir.org testingde>
我想通过cat 把sir01.txt、sir02.txt及sir03.txt三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。
注意:其原理是把三个文件的内容连接起来,然后创建sir04.txt文件,并且把几个文件的内容同时写入sir04.txt中。特别值得一提的是,
如果您输入到一个已经存在的sir04.txt文件,会把sir04.txt内容清空。
de>[root@localhost ~]# cat sir01.txtsir02.txt sir03.txt > sir04.txt
[root@localhost ~]# more sir04.txt
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testingde>
cat把一个或多个已存在的文件内容,追加到一个已存在的文件中
de>[root@localhost ~]# catsir00.txt
linuxsir.org forever
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt>> sir00.txt
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testingde>
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