Linux_基础指令(二)

目录

1、输入、输出重定向 

1.1 输入重定向'<'

1.2 输出重定向'>'

1.2.1 追加重定向'>>‘ 

2、more

3、less 

4、head

5、tail

6、管道

7、find

8、grep

9、xargs

10、打包和压缩文件

10.1 zip/unzip

10.2 tar 

结语 


前言:

        Linux由林纳斯·托瓦兹于1991.10.5发布,是一款开放源代码的操作系统,Linux的应用场景非常广泛,例如服务器后台、车载系统、嵌入式设备等等,在Linux下有一句很经典的话叫做:一切皆为文件。本文着重介绍对普通文件的内容进行查看、修改、筛选的相关指令,以及查找普通文件和管道的使用场景。

1、输入、输出重定向 

1.1 输入重定向'<'

        输入重定向的意思是:首先输入指的是从键盘中写入到显示器中,而发生重定向后输入的位置从键盘变成了普通文件,即读取普通文件的内容并输入显示器中,将这个过程称为输入重定向。

        输入重定向的指令:cat < 文件名。

        cat的具体用法如下:

        从上图中可以得出一个结论,单纯的输入指令是cat,而输入重定向的指令是cat <,‘<'的作用可以理解为’读文件‘的动作。 

1.2 输出重定向'>'

        输出的本质也是从键盘中写入到显示器中,然而发生重定向后,输出的位置由显示器变成了普通文件,即从键盘中输出并更改普通文件的内容,将这个过程称为输出重定向。

        输出重定向的指令:echo “字符串” > 普通文件名。

         当我们要对一个普通文件进行修改时,前提是该文件必须存在,而echo指令有趣的地方在于若目标文件不存在,则会自动创建该文件,因此当新建一个文件并且要写入内容时,无需先touch..在echo...,而是直接echo即可。


        echo的具体使用如下:

        从上图中可以发现,和cat有着异曲同工之妙,单独的echo也只是从键盘中写入至显示器中,加上’>'后,有些类似c语言中“写文件”的动作。


        由于在linux下一切皆为文件,所以键盘和显示器本质上也都是文件,因此可以理解为无论是输出重定向还是输入重定向,他们的本质都是写入(即从一个文件写入另一个文件),只不过一个是写入至普通文件一个是写入至显示器文件。 

         输入、输出重定向理解图:

1.2.1 追加重定向'>>‘ 

        输出重定向虽然可以更改普通文件的内容,但是这里的更改是覆盖的动作,即对同一个文件执行多次输出重定向,最终文件里的内容是最后一次输出重定向的内容, 若想在普通文件的原有基础下进行“添加数据”,则需用到追加重定向。

        输出重定向“覆盖”数据的例子:


         追加重定向的用法:

2、more

        more指令的作用是为了更好的查看文件的海里内容,比如当一个文件的内容超过了屏幕所能装载的范围,这时候虽然可以用cat <查看文件内容,但是显示在屏幕上的是该文件的末尾内容,如果想要看前面的内容还需要往前翻,很不方便,而more相比于cat的优势在于可以从前面的内容开始阅读,并且可以手动往下滑。

        more与cat对比测试:

3、less 

         more虽然相比于cat可以往下翻阅,但是more的缺点是不能往回翻,比如当阅读到文件的后半部分内容时,突然想回头看之前的内容,这时候more是做不到的,因此推出Linux下最常用的阅读文件的指令less,less不仅可以前后随意翻阅,还自带搜索功能。

        less的用法:

        less的查找功能(在输入处输入’/‘后跟要查找的文件名):

4、head

        head顾名思义就是将普通文件的头部分内容显示在屏幕上,默认显示文件中的头十行。

        用法如下:

        当然,也可以选择要显示的行数:

5、tail

         tail与head相反,他显示文件中末尾内容,默认显示也是十行,并且也可以自己选择显示的行数。

        tail的使用如下:

6、管道

        管道的作用是形象的将两个指令联系在一起,通过管道指令’|‘实现,在没有使用管道之前,我们的指令都是一条条的执行的,当有了管道之后,可以两条甚至多条指令同时执行。

        比如上述的test文件,若想取其中hello world51 - hello world60这十个文件,就可以使用管道实现,并且方便又快捷,具体使用如下:

7、find

        find可以指定在某一个路径下精确查找文件,他的功能及其强大,通常我们认为find一般是通过文件名进行查找的,但是Linux下的find甚至可以通过文件的权限进行查找。find的语法:find 路径 选项。 常用选项是:-name,表示按照文件名进行文件的查找,也是最常用的一种查找方式。

        find的使用如下:

8、grep

        grep可以在普通文件中筛选出含特定字符串的文件,其语法为:grep 选项 要筛选的字符串 文件名。 

        具体使用如下:

        并且可以搭配管道使用倒着打印tac:

9、xargs

        xargs主要是搭配管道进行使用,他可以将原本写入至显示器上的参数作为指令传递给xargs修饰的指令,具体用法如下:

10、打包和压缩文件

         通常下载软件时,为了防止该软件过大,通常会将其进行压缩成一个压缩包再进行下载传输,因为若直接把整个软件下载下来,则很容易发生传输时数据丢失,而压缩后再传输则更加安全快速。

        打包的目的也是为了提高效率,比如各种各样的物品装进行李箱就叫做打包,若把文件一个个的传输则十个文件需要传输十次,而将这十个文件打包后则传输一次即可。

10.1 zip/unzip

        zip的语法:zip 选项 压缩后的文件名.zip 要压缩的目录/文件。 zip压缩普通文件测试如下:


        unzip(解压)的语法:unzip 压缩的文件 选项。选项若为-d则表示可以将解压后的文件放在指定路径下(若不加选项则默认解压后的文件放在当前路径下),使用如下: 


        压缩目录时,需要加上选项-r才可以正确的压缩文件:

         解压时,即使该压缩包是目录的压缩包,无需加-r也可以解压:

10.2 tar 

        tar的玩法和zip不同,zip是压缩,unzip是解压,而打包和解包的指令都是使用tar完成,只是tar搭配不同的选项可以实现打包和解包的效果。tar的语法:tar 选项 打包/解包(选项不同具体写法也就不同)。 

        常用的选项有:

        -c:将文件进行打包,和压缩有些相似。

        -x:解开一个已经打包好的文件。

        -z:是否gzip的属性,加上-z后,打包好的文件的后缀为.tgz。

        -v:显示打包过程的各个文件。

        -f:使用档名,在f之后不能加任何参数。

        -C:解包时可以放到指定路径下,和zip的-d相似。

        tar打包的使用如下:


        解包时注意选项不是c而是x,并且也可以指定解包的目标路径,若不指定路径则默认放在当前路径下,测试如下:

结语 

        以上就是关于Linux指令的讲解,本文讲述的指令主要是针对于普通文件的查看和筛选,以上的指令看起来用的很简单,但是指令间的选项千变万化,不同的选项有不同的功能,合理使用这些选项才可以在操作文件时更加的快捷。

        最后希望本文可以给你带来更多的收获,如果本文对你起到了帮助,希望可以动动小指头帮忙点赞👍+关注😎+收藏👌!如果有遗漏或者有误的地方欢迎大家在评论区补充,谢谢大家!! 

  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安权_code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值