Linux基础指令(2)
目录
序言
cat
echo
总结
more
less
head
tail
管道|
date
序言
在Linux中一切皆文件;比如我们的屏幕也是文件,叫做显示器文件,任何进行的操作都是在文件中进行的;一些指令的默认操作对象就是键盘或者显示器文件;
cat
cat除了能够直接跟文件名进行查看文件中内容,这一点在博客CSDN中演示过了;除此之外,cat还有其他的功能;
cat:没错,就是只有cat这一个指令,我们类比cat 文件是读取文件中的内容,说明cat的作用是读取对象中的内容;只有一个cat是读取的键盘上的数据,也就是我们手动输入的数据;cat默认的就是从键盘读取数据;
我执行命令cat,然后会让我们输入数据;然后cat就会从我们的键盘中获取刚才输入的数据直接打印在下一行;
cat < 文件:cat <文件这种指令叫做输入重定向;后面也会提到输出重定向;<的作用就是指定读取的位置;cat <文件就是指定的从后面的文件中读取数据,然后打印在显示屏中;当然这个个人觉得与没有<的功能一样;就不在演示了;
注意:cat 从假盘读取数据时,按ctrl+c停止输入;
echo
举个简单的例子就能很清晰的明白echo 的功能;
echo 是个输出重定向指令;默认的操作对象是显示器文件;所以我echo 一个字符串就会直接在显示器中打印出来;
注意:echo 打印字符串时后面的冒号可加可不加,因为在Linux中本就是字符;另外,echo 打印完后会自动的换行;
echo "字符串" > 文件: 向指定文件中输出数据;如果文件不存在会自动创建然后储存输入的数据;如果文件是已存在的,将会清空文件的内容,再写入新的字符串;
小技巧:如果我们想要清空一个已有文件;直接>文件名即可,非常方便;
> 文件:如果我们在文件中什么也不写;依旧可以使用echo >文件;这个时候echo 就可以省略了;直接> 文件名就可以成功创建一个新的文件;所以这也是一个新的创建文件的方法;
>> 指令;如果我们不想直接把文件全部清空,我们可以使用>> ;>>的功能是追加;所以叫做追加重定向指令;
为什么会换行追加呢,因为echo写入一行后会自动换行;
总结
echo 的三种功能:
1.创建文件;
2.清空内容;
3.内容重写;
more
more是配合cat使用的;如果我们cat 一个比较大文件时,直接cat会发生刷屏的现象;为了防止刷屏我们可以使用more指令替代cat ;
创建一个大文件:cnt=1;while [ $cnt -le 10000 ];do echo "hello $cnt";let cnt++;done > log.txt
在more指令下打印到满屏就会停止打印;我们回车才会看到下一行的数据;可以按q停止; more的缺点是只能回车才能看到下面的数据;无法使用鼠标滑轮向下翻;
less
less的功能要优于more,所以我们推荐使用less查看大文件;less不仅包含了more的功能,而且可以随意的使用鼠标上下翻;而且还有搜索功能;
/ +关键字(搜索):在冒号后面输入即可开始按照关键字搜索;同样也是按q结束查看;
head
head -n(行数) 文件 : 展示前n行的数据;
其中的n可以省略;
tail
tail -n(行数) 文件: 展示后n行的数据;
管道|
假如我们要把一个文件的中间的几行打印出来或者放到另一个文件中;我们有两种方法可以完成;以log.txt文件为例,把[5000,5020]打印出来;
1.先将前5020行放到一个文件tmp.txt中,然后把打印后21行;但是这样看起来和操作起来会比较麻烦;
2.利用管道;可以把管道看成是一个中间储存的媒介;
先将前50200行放在管道中,然后tail -21从管道中读取;当然我们可在一段指令中使用多个管道;
date
时间的指令目前用不到,可以先看看了解;