Linux学习笔记(三.文件内容命令&其他命令)
P36~41
cat和more的区别:当文件内容很多时,建议用more,因为more可以分屏显示;而文件内容较少时,建议使用cat,cat是一次显示所有文件内容。
如下图 -b 选项不给空行编号
如下图 -n选项给所有行编号(包括空行)
对于more命令不再做示例。
下图中as为要搜索的文本,123.txt指要在123.txt这个文件中搜索
输出所在的行并高亮显示要搜索的字符
第二个加上参数 -n显示匹配行及行号
-v 把不包含g的行输出出来
-v -n连用(-vn):不包含的行和行号都输出出来了
-i选项忽略大小写
eg:下图中Hello中H是大写的,所以grep hello 123.txt无输出
但是grep -i hello 123.txt就会输出包含了Hello(或hello)的行
如果要搜索字符串(带空格)就得用 引号引起来!
常用的两种模式查找:
示例:
在要搜索的文本后加一个$就是之搜索在行尾处的对应文本
在要搜索的文本前加一个^就是之搜索在行首处的对应文本
如下图会把文本在终端中再显示一遍(一把不单独使用,而和重定向配合使用):
示例:
将Hello Python 输出到文件a中,如果没有文件a就会创建一个文件a
然后cat a查看了文件a的内容
列表显示了当前目录的文件及文件夹(子目录)
ls -lh > a 将ls -lh显示的文件内容输出到文件a中,如果没有a就创建
同理也可以tree > a就会将树状图输入到文件a中
记住 > 是将内容覆盖到文件中!即文件原来的内容就没有了!
上面的命将>换成>>同样适用,只不过内容是追加到文件末尾!
echo 和 重定向 的另一个好处如下图:可以创建文件时就指定输入的内容,而touch就只能创建空文件
即第二个命令会通过管道将第一个命令的输出做二次处理。
eg:执行了如下语句,由于显示home目录下所有文件(包括隐藏文件)一个屏放不下,这时可利用管道,将ls -lha ~的输出用more(分屏显示出来,如第二张图)
又如下图可以利用管道查找home目录下包含Do的文件或目录(本来grep只是对文本文件进行查找,但通过ls输出的文本后相可以转化为对这些文件或目录查找):