一、alias指令
alias指令,它是给指令起别名,其实指令ls -l和ll是相同的作用,它们执行同样的操作,
二、Linux下的一些知识
显示器为啥是文件?
因为平时就是我们看东西都是从显示器上看的,而显示器上的东西是如何来的,还不是一个个的程序向显示器打印东西,然后呈现给我们,它向显示器打印就是给他写东西(write),但是程序并不能向显示器读取,读取是空的,我们只能肉眼从显示器上看东西。
键盘
就像一些c语言程序,需要读入数据才可以正常运行,用scanf函数,而键盘就是充当向键盘输入数据的角色,程序从键盘之中读入数据,但是却并不能将输入打印到键盘上。
普通文件
而普通文件有正常的读写方法。
虽然显示器、键盘它们的读写方式可能有区别,但是它们在根上来看都具有读写方法。在LInux看来它们都具有读写方法,只是有可能为空,但是Linux看来和普通文件没啥差别,所有在Linux看来,Linux下一切皆文件,当然不止这些设备,如触摸板啊,话筒麦克风那些很多很多。
echo 指令将其后面跟的字符串打印到显示器上,现在可以解释为,他将字符串内容写到显示器文件当中。
所有嘞 > 将原本应该写入到显示器上的内容重新写入到文件中,而这也叫做输出重定向。
这将本来应该写到显示器文件的内容写到了普通文件,但是如果我还想向这个文件中写内容,还可以写吗?
可以写,但是发现每次写入数据之后,以前的数据就不见了,只剩下刚刚才写入的数据,没错,>向同一个文件重复写入数据时,新写入的数据会将会将原数据覆盖,就是它在向目标文件写入数据时,是覆盖写的。
其实他做了两步,
那么当有一天我只想清空文件数据,那么可以直接 > 文件名即可清空
但是如果我们想向文件持续写入东西,那么如何做,就是原始数据保留,给其追加新的内容,此时也就还有一个重定向 >>,名:追加重定向
这种重定向,是向文件中追加内容,它每次向文件的结尾处写入内容
当向一个不存在的文件写入内容时,这个文件不存在的话,就会自动创建这个文件,所有当想要创建一个文件时,不一定要用touch可以 > 文件名
三、cat指令
cat指令上面用到几次了,可以发现它是将文件里面的内容显示出来它是打印文件的内容,它是将文件的内容数据写入到了显示器文件中,cat指令是查看目标文件的内容,cat 后面跟文件名,是打印文件里面的内容
但是如果cat 后面什么都没跟
那么输入什么就打印什么,他就会从输入设备里面读数据,从键盘文件读,然后向显示器打印,就是输入什么打印什么。
cat 指令它也可以跟一些常用的选项
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
-n选项
当向这个文件写入多行空行
空行都带上行号,如果不想给空行带上编号,那么加-b选项
-b选项
如果不想显示多余的空行,只显示一行空行,那么选-s选项
-s选项
🆗,cat指令介绍完毕
四、more、less指令
cat 打印短的文件内容很好,但是当构建大文本内容时,它还可以吗,写入很多内容时,不再适合重定向一行一行的写入,有一行命令行脚本cnt=1; while [ $cnt -le 10000 ]; do echo "hello Linux $cnt"; let cnt++; done可以构建长文件内容
将其重定向到指定文件,构建出来了大文本,
cat读test.txt
要一直网上翻,一直翻啊翻,累,它并不适合看大文本,而适合看小文本,那么谁适合,more指令
more 文件名 它会将一屏幕打满,按回车键会从上往下翻,带选项 -n会显示文本前n行的内容,底部为第n行的内容,它可以按照指定要求可以查看想要看的行
当然也可以搜索指定行 : /
more不做重点强调,而重点用less指令,more指令不可上翻,而less指令可以进行上下翻动,它也同样可以文本查找 /,进入大文本之后按q退出。
但是为什么要看大文本,当有一些长场景时需要,有些项目很大,而有时需要提取某些行的内容时,提取中间行,后多少行如何办
这时需要用head,tail指令
head指令:它会取出文本前n行 tail指令:它会取出文本后面的n行
直接提取出它的前n行,还有时想提取后n行,用tail指令
而有时我想看1000~1010行之间的内容,如何办?
我可以先head前1010行,然后将其重定向到一个临时文件中,再从这临时文件提取它的后10行
这样可以很好的提取到一个大文本中的中间行,
但是此时又要创建一个临时文件,它是真实存在的,那么如果我不想要它生成临时文件,应该怎么办?
有一种名叫管道的符号可以解决,| ,一种符号,它会被系统解释为管道文件
它是将左侧的文件内容写入到管道当中,然后右边的程序又从管道文件之中读数据
管道管道顾名思意,是一个管道,用来运输东西的,入口端输入东西,然后经过管道将东西传输给出口,|,它叫管道,然后也就是执行着现实生活中的管道意思差不多,运送数据,他也有入口与出口,左侧数据进入管道,然后通过管道,运输给下一个程序,有进有出。
一个程序将结果给管道,然后另一个程序从管道中取出。
而管道嘛,可以很多连接的,在这里也是,可以加载多个管道。… | … | … | …。