Linux基本指令
本文继续介绍Linux基本指令,包括man查询手册、echo输出/输入重定向、cat文件查看、cp文件复制、mv文件移动等常用命令。同时讲解more/less分页查看、head/tail首尾查看等文件操作技巧。补充知识部分重点阐述"Linux一切皆文件"的设计理念,以及管道(|)实现命令组合的原理。文章通过具体示例演示了各项指令的用法,帮助读者掌握Linux基础操作。
上篇博客已经初步认识了Linux,并学习了一些基本指令,那么这篇博客将继续进行基本指令的学习。
目录
一、基本指令
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的组合可以方便地查找到指定行
再加上输出重定向,还可以把数据写入文件中
这是通过管道的一些基本使用,未来还会学习更多管道的用法。
总结
以上本篇博客的所有内容了,如果觉得有帮助的话可以点赞收藏加关注支持一下!
更多推荐
所有评论(0)