【Linux系统编程】Linux基本指令详解(三)

举报
YIN_尹 发表于 2023/12/11 22:28:47 2023/12/11
653 0 0
【摘要】 这篇文章继续学习剩下的命令!11. 补充在这里再给大家补充一点内容。sort 指令<font color = black>现在有一个文件,我给他里面写入一点内容 然后我执行 sort test.c 我们看到它可以对文本内容进行排序,排序规则其实是比较每行数据第一个字母的ASCII码值(相同比较后面的),默认升序。 那想降序呢? sort -r test.c ,r——reverse uni...

这篇文章继续学习剩下的命令!

11. 补充

在这里再给大家补充一点内容。

sort 指令

<font color = black>现在有一个文件,我给他里面写入一点内容 在这里插入图片描述 然后我执行 sort test.c 在这里插入图片描述 我们看到它可以对文本内容进行排序,排序规则其实是比较每行数据第一个字母的ASCII码值(相同比较后面的),默认升序。 那想降序呢? sort -r test.c ,r——reverse 在这里插入图片描述

uniq 指令

uniq 指令可以对文件内容进行去重

在这里插入图片描述

12. find指令:(灰常重要) -name

find呢,顾名思义就是查找,寻找。它可以帮助我们在Linux目录结构下查找文件

<font color = black>演示一下: find 指定路径 -name 文件名 在这里插入图片描述 他就可以帮我们找到指定路径下所有名字为tmp.txt的文件。 就类似于Windows下的这个搜索 在这里插入图片描述

总结:

<font color = black>Linux下find命令在目录结构中搜索文件,并执行指定的操作。 Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。 即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。 语法: find pathname -options 功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘) 常用选项: -name 按照文件名查找文件

那除了find,这里再给大家补充几个查找的命令

which 指令

<font color = black>首先有一个指令叫做which,它可以帮我们查找一个指令(指令其实也是文件,.exe的可执行文件)存在于什么路径下 在这里插入图片描述

whereis 指令

然后还有一个用于查找的命令叫做whereis

<font color = black>该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。 在这里插入图片描述

alias 指令

alias指令使得我们可以给指令起别名

<font color = black>在这里插入图片描述 比如我现在用到一条这样的指令。 那我觉得它带的选项太多了,太难记了,我想给它简化一下。 那这时候就可以使用alias给该命令起一个别名,比如myls 那就这样写alias myls='ls -a -l -i -n',这句指令执行之后,myls就等同于ls -a -l -i -n 在这里插入图片描述 在这里插入图片描述

13. grep指令

grep是一个文本搜索工具,可以从文本文件或管道数据流中筛选匹配的行和数据

<font color = black>grep [选项] 搜寻字符串 文件 在这里插入图片描述

当它也可以加选项,-n :顺便输出行号

在这里插入图片描述

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

<font color = black>先搞一个文件出来 在这里插入图片描述 在这里插入图片描述 如果我们要匹配带"aaa"的内容 在这里插入图片描述 那我加一个-v 在这里插入图片描述

-i :忽略大小写的不同,所以大小写视为相同

在这里插入图片描述

组合使用

在这里插入图片描述

配合管道

在这里插入图片描述

总结

语法: grep [选项] 搜寻字符串 文件 功能: 在文件中搜索字符串,将找到的行打印出来 常用选项: -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

14. zip/unzip指令

那zip和unzip指令其实对应的就是对文件进行压缩和解压缩(zip后缀)的操作 演示一下,先来个压缩

<font color = black>在这里插入图片描述 当前路径下有一个目录dir ,现在我们相对它进行压缩 语法: zip 压缩文件.zip 目录或文件 如果用不了大家可以安装一下 yum -y install zip yum -y install unzip 在这里插入图片描述 我们看到现在就多了一个压缩包。

那我现在想对这个压缩包解压:

<font color = black>那当前目录已经有dir目录了,所以我把dir.zip移动到别处进行解压 在这里插入图片描述 我把它放到dir2这个目录下,在这里解压 怎么解压呢,很简单:unzip 压缩包名 在这里插入图片描述 🆗,就好了。 但是呢? 在这里插入图片描述 我们发现dir里面啥也没有 可是我们原来的dir里面是有东西的啊 在这里插入图片描述

怎么回事?

<font color = black>因为我们刚才只是打包压缩了一个空目录,并没有对里面的内容打包压缩,那怎么办呢? -r 递 归处理,将指定目录下的所有文件和子目录一并处理 那我们现在重新对dir打包压缩 在这里插入图片描述 这下就可以了。 在这里插入图片描述 然后我们还把它移到dir2里面解压 在这里插入图片描述 解压 在这里插入图片描述 然后再来看 在这里插入图片描述 就可以了。

但是呢,我们刚才解压的时候,unzip后面没有跟任何选项,那它默认其实就解压到了当前所处的目录下。那如果我们想把它解压到指定路径下,可以吗?

<font color = black>当然是可以的,unzip后面加一个选项-d,并指定具体的路径就行了 在这里插入图片描述 来看,当前我所处的目录dir2下面有dir.zip这个压缩包,现在我想把它解压到上级目录里面 在这里插入图片描述 就可以了。

总结:

语法: zip 压缩文件.zip 目录或文件 功能: 将目录或文件压缩成zip格式 常用选项: -r 递 归处理,将指定目录下的所有文件和子目录一并处理 举例: 将test2目录压缩:zip -r test2.zip test2 解压到tmp目录:unzip test2.zip -d /tmp

15. tar指令(重要)

那tar呢也是一个用来打包和压缩的命令,我们来介绍一下,可以先来看它对应的一些选项

语法:tar [-cxtzjvf] 文件与目录

<font color = black>-c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? -v :列出列出压缩和解压缩过程处理涉及的详细的文件的信息 -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!(所以使用f选项的话,一般放在最后面) -C : 解压到指定目录

那我们来简单练习一下

<font color = black>那还是这个dir目录 在这里插入图片描述 我们现在用tar对它打包压缩一下: 首先思考一下要用那些参数: 我们要打包压缩,-c(建立一个压缩文件)选项肯定要加,使用什么属性压缩呢,那我们这里以 gzip 压缩压缩为例,那就是-z,最后加个-f,给压缩之后的压缩包起个新名字。 使用czf压缩的包我们一般用tgz后缀 所以就是这样的: 在这里插入图片描述 🆗,那这样就压缩成功了。 那原目录我们其实就可以不用要了,因为有了压缩包,一解压我就又可以拿到它了。 在这里插入图片描述

然后我们来进行解压:

<font color = black>解压要用那些选项呢? 🆗,其实我们把打包压缩时的选项czf中的c换成x就行了。 在这里插入图片描述 z还要加上,并且不要换成其它的,因为我们压缩和解压的属性要一致,然后f也加上,因为我们还要使用档名。 所以这样就行了: 在这里插入图片描述 在这里插入图片描述 就解压好了。

另外有时候我们拿到一个这样一个压缩包,可能不想解压它,但想看一下它里面有哪些文件

<font color = black>那就可以这样 在这里插入图片描述 那我们看到他就把里面的文件和目录列出来了,包括隐藏的。 那这里其实就用到了-t这个选项:查看 tarfile 里面的文件 z和f呢我们还是要加上。 另外还可以加上这个选项-v:列出列出压缩和解压缩过程处理涉及的详细的文件的信息 在这里插入图片描述

还有就是如果tar压缩的时候我们也想压缩到指定目录

<font color = black>可以用这个参数-C(大写) : 解压到指定目录 在这里插入图片描述

然后想告诉大家的是

<font color = black>其实在Linux中,不同后缀的压缩包种类还是挺多的,我们这里讲了两个比较常见的,如果后续大家遇到其它的不会的话,可以直接去网上搜索或查阅相关的资料学习对应的命令就可以。

16. bc指令

bc其实就是Linux中的计算器,怎么用呢?

<font color = black>在这里插入图片描述 我们直接敲bc回车,发现它卡在这里等待我们输入,然后我们输出表达式,它就可以返回结果 在这里插入图片描述 输入quit或者按ctrl+c可以退出程序。

另外我们还可以这样玩:

在这里插入图片描述

17. uname 指令

<font color = black>语法:uname [选项] 功能: uname用来获取电脑和操作系统的相关信息。 补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。 常用选项: -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称 -r或--release  显示操作系统的发行编号

演示一下:

在这里插入图片描述

补充,查看Linux发行版本信息:

cat /etc/redhat-release 在这里插入图片描述

18. 几个重要的热键

<font color = black>[Tab]按键---具有『命令补全』和『档案补齐』的功能 [Ctrl]-c按键---让当前的程序『停掉』 [Ctrl]-d按键---可以用来取代exit,连续按[Ctrl]-d就可以退出xshell

然后再补充几个:

<font color = black>[Ctrl]-r:可以搜索历史指令

在这里插入图片描述 在这里插入图片描述 搜出来想要的命令按左键或右键可以选中。

history:显示输入过的历史指令

在这里插入图片描述

19. 关机

语法:shutdown [选项] 常见选项

<font color = black>-h : 将系统的服务停掉后,立即关机。 -r : 在将系统的服务停掉之后就重新启动 -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

如果你用的是云服务器的话,就没必要关机。

20. 以下命令作为扩展

<font color = black>◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode

在这里插入图片描述

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。