上篇博客已经初步认识了Linux,并学习了一些基本指令,那么这篇博客将继续进行基本指令的学习。

想要看上一篇文章的可以点击这里

目录

一、基本指令

1.man指令

2.echo指令

输出重定向 >

追加重定向 >>

输入重定向 <

3.cat指令

4.cp指令

5.mv指令

6.more

7.less

8.head

9.tail

二、补充知识:

1.一切皆文件

2.管道 |

总结


一、基本指令

1.man指令

man指令是用于查询指令,通过联机手册给我们提供帮助,并且man指令还能查询c语言,通过man 3 来查询。

1.如用man查询man指令,会出现这样的页面,看查看man指令的作用,以及相应的选项 - [ ]对应的作用,pg up和pg down用于上下移动,按q退出

2.man一共有9个手册,其中前3册是相对重要的,c语言的函数就在第三册中

3.有的可以需要下载完整手册,centos上的命令是yum install -y man-pages

2.echo指令

用于打印文字到屏幕上,可以带双引号也可以不带,都会成功打印。

输出重定向 >

echo默认是输出到屏幕,但通过>可以进行输出重定向,把内容输出到文件当中

这里会用到cat指令,作用是显示文件内容,后面会详细讲解

1. hello.txt初始没有内容,使用echo输出重定向写入后内容有hello

2. 第二次输出重定向时会先清空原内容再写入,例子中hello被清空,重新写入hello linux

3. 输出重定向时如果已经有对应文件则会直接写入,如果没有则会新建一个文件并写入

4. 文件名可以使用相对地址也可以用绝对地址

5. 由此可有一个方便的操作 > + 文件名就可直接清空文件,相当于写入空白

追加重定向 >>

输出重定向会清空原内容,如果想要追加写入就要用到追加重定向 >>

1. 可以看到hello.txt文件被成功追加写入

2. 但要注意>>不要和前面的字符连起来,不然会出现问题

输入重定向 <

可以改变输入的来源,如cat原本是获取键盘上的输入并输出到屏幕上,在cat后加上 < 就可以将文件中的内容输出。

1. 单独使用cat指令的作用是读入键盘输入并输出到屏幕,摁下Ctrl+C终止

2. 而使用了输入重定向后实现了文本内容的输出 

3.cat指令

cat指令用于查看小型文件内容,除了在上面几个例子中的使用外还有几个选项
1. cat -b 可以对文件内容的所有非空输出行进行编号输出
2. cat -n 可以对文件内容的所有输出行进行编号输出
3. cat -s 对文件内容输出的多行空行变一行
4. cat -sn 即cat -n加上cat -s
5.cat -bs 即cat -b加上cat - s

补充:一个与cat想对应的指令tac,是cat的反向,作用也是反向,即从尾到头输出。


4.cp指令

用于复制文件或目录

用法:cp +源文件 +目标文件

1. 可以看到成功将/root/dira/dir111/hello复制到了/root目录下,复制后的文件名可以自定义

2. 文件名可以用绝对路径也能用相对路径

3. 复制目录需要用cp -r递归复制,可以看到也复制成功了

5.mv指令

mv用于移动文件或目录,顺便还能进行重命名。

用法:mv +原文件名 +目标文件名

1. 可以看到将hello.txt重命名为text.txt,并将其从家目录下移动到了dirb目录下

1. 可以看到成功把dirb和dirc都移动到了dira目录中

2. 与cp不同的是mv移动目录时只需要mv即可,不需要加 -r

3. 移动到目录下时mv dirb dira/dirab和mv dirb dira这两条指令是等效的,可以将dirb移动到dira目录下

6.more

more指令和cat指令类似,都是输出数据,但常用于大文件。

两者的区别在于cat是一次性输出所有数据,所以在遇到大文件时会导致刷屏,而more会打印一行,然后按回车往下移动,但只能从前往后读。摁q可以退出。

more -n可以指定直接打印n行,从多少行开始读。

7.less

因为more只能从前往后读,并不好用,所以一般用less来代替more

1. less可以用pg up和pg dn进行上下翻阅,摁q退出

2. 支持从前向后/从后向前搜索,从前搜索用?,从后搜索用/

想要搜索的话在less + 文件名之后,再在下方输出想要搜索的位置即可

8.head

1. head默认显示前10行数据

2. head -n显示前n行数据

9.tail

1. tail默认显示后10行数据

2. tail -n显示后n行数据

二、补充知识:

1.一切皆文件

在Linux系统下一切皆文件,即一切本质上都是通过文件来实现的。目录,普通文件,甚至指令、终端都是通过文件来实现的。在接下来Linux的指令学习中我们可以慢慢体会这一点。

证明:

1. 终端文件一般放在/dev/pts处

2. 原本只登录一个服务器时,只有0这一个用户,但当再登陆一个服务器后变为了0、1

3. 因为一切皆文件,所以在第一个Linux中在/dev/pts/1中写入数据,可以看到在第二个Linux系统中呈现了出来。由此可知,终端其实也就是一个特殊的文件。

2.管道 |

1. 管道可以连接不同的指令,实现指令组合使用的效果。

2. 本质是把前一条指令的数据传输给下一条指令,和现实中的管道很像。

3. 又因Linux下一切皆文件,所以管道本质是通过把数据临时存储到一个文件中来实现的。

所以我们可以通过管道来实现一些很方便的操作:

通过head和tail的组合可以方便地查找到指定行

再加上输出重定向,还可以把数据写入文件中

这是通过管道的一些基本使用,未来还会学习更多管道的用法。

总结

以上本篇博客的所有内容了,如果觉得有帮助的话可以点赞收藏加关注支持一下!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐