【Linux从入门到精通】Linux常用基础指令(下)

简介: 本篇文章接上篇文章(【Linux从入门到精通】Linux常用基础指令(上)、【Linux从入门到精通】Linux常用基础指令(中))进行详解。本章的指令相对没有那么常用,难度相对适中。同时也讲述了几个热键。希望能对你的理解有所帮助。

本篇文章接上篇文章(【Linux从入门到精通】Linux常用基础指令(上)、【Linux从入门到精通】Linux常用基础指令(中))进行详解。本章的指令相对没有那么常用,难度相对适中。同时也讲述了几个热键。希望能对你的理解有所帮助。


一、grep指令



语法: grep [ 选项 ] 搜寻字符串 文件。

功能: 在文件中搜索字符串,将找到的行打印出来。

常用选项:

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

-n :顺便输出行号;

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



f2e939e3cab94b909c54383b89941ad3.png

我们解析来看看具体实例是怎么用的。


 如上图。我们有一个 file.txt 的文件,里面的内容是 “ hello world i ” ( i 是 1 到 100)。我们想查找到带有9的字符串的一行,我们这时候就可用到grep命令:grep '9' file.txt。如下:






e9b28be8bd2a476e9fb177a8e1a3f6e8.png


我们号可以这样用:cat file.txt | grep '9',具体如下图:


620f0ef700d4415ebf72ed7e0a372e93.png

 以上两种方法都是可以的。我们再来看加上选项的操作。例如,我们想看带有9的字符串都是在哪一行呢?可以使用 -n 选项,输出行号:grep -n '9' file.txt。具体如下图:

25e4b2e5c84b4484921452742d81e768.png


 我们想要除了带9的字符串,其他的全都打印出来,-v选项可以帮助我们完成:grep -v '9' file.txt。具体如下图:



 我们对文件中的第十行和第十一行更换字符,

 然后我们再看一下 -i 指令的使用方法。我们先查询一下带有 ‘ bit ’ 和 ‘ BIT ’ 的一行。再看使用 -i 后不区分大小写的情况:grep -ni 'bit' file.txt,如下图:



a7abfb48f8b64364af536261dea9d006.png

二、zip指令



语法: zip 压缩文件 .zip   目录或文件

功能: 将目录或文件压缩成 zip 格式

常用选项:

-r 递归处理,将指定目录下的所有文件和子目录一并处理;

-d 指明压缩路径,压缩到指定目录下。

 接下来我们看看实例具体怎么用。


 我们将 file.txt 压缩成 flie.zip : zip file.zip file.txt,具体如下图:

ef52a4e6f88e4ddc9d7ee810336ed8dc.png


为了防止在同文件中造成影响,我们将 flie.zip 移至另一个目录中,在对其进行解压操作:unzip flie.zip。具体如下图所示:

 注意,上述的操作只能压缩一个文件而不能压缩一个目录。如果使用上述命令去压缩一个目录,只会压缩一个目录的文件,并不会压缩目录里的文件。简单来说,压缩的目录为空。


 那到底怎么压缩一整个目录呢?不要忘记,我们这里还有一个 -r 选项。 循环去压缩一个目录。这样解压过去的就是整个目录了,包括了目录里的文件。


 将整个目录压缩成zip格式的具体指令:zip -r test_4_13.zip test_4_13。这时会生成一个test_4_13.zip的压缩包,我们将其移至另一个文件,再对其解压,具体如下图:



f7941df67e214329932ee3cd99297ba2.png

我们想直接把这个压缩包解压到指定目录下,我们可以用 -d 选项:unzip file.zip -d ../test_4_14。 具体如下图:



三、tar命令


  tar命令是用来打包解压缩的一个命令。具体怎么用呢?我们先看看他的选项和用法。


 tar [-cxtzjvf]  文件与目录  ....

 参数 :

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfifile 里面的文件!

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C : 解压到指定目录

  这里我们看主要常用的选项。比如,我们要压缩一个目录下的所有文件:tar -czf test_4_14.tgz test_4_14。


 当我们有 test_4_14.tgz 这个压缩包时,想把它解压到指定的目录:tar -xzf test_4_14.tgz -C test_4_13。具体实例如下:e4baa14dd9d14a8d9211f9895eca7eb5.png


四、bc指令

 Linux上的bc指令可以对浮点数进行运算,很方便,也很简单。我们直接看实例:



五、uname指令


语法:uname [选项]


功能 : uname 用来获取电脑和操作系统的相关信息。

补充说明 : uname 可显示 linux 主机所用的操作系统的版本、硬件的名称等基本信息。

常用选项:

-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

 这个指令也是我们作为了解,相对也简单。我们直接看实例:


052bcc59b89d4ff0bcba68d69626792d.png

六、cal 指令


 cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。


命令格式 : cal [ 参数 ][ 月份 ][ 年份 ]。

功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份 (1-9999) ,如有两个参数,则表示月份和年份。

常用选项 :

-3 显示系统前一个月,当前月,下一个月的月历

-j  显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

-y  显示当前年份的日历

  我们直接看实例。


 当我们只输入一个 cal 指令时,默认输出当前的年月日。如下图:



ee275713612f4a46a65872fb3cc77279.png

我们也可直接输出一年的日历。指令:cal 年份。具体如下:



0670b5af1c85444ea28beb17f3aec15e.png


  我们也可通过加 -3 选项,打印当前和前后三个月分,具体如下:

七、重要热键 [Tab] , [ctrl]-c , [ctrl]-d


[Tab]按键---具有『命令补全』和『档案补齐』的功能。当输入的命令剩余有较多选择时,按两下[Tab]按键会将所有可能指令列出来。当只有一种情况,例如我们输入 whoam 时,会自动补全为 whoami。

4092b20502cb42edb2fe8f9e36e5c06a.png


 [Ctrl]-c按键---让当前的程序『停掉』当我们不知道怎么显现出来命令行时,一直让我们输入,我们就可以输入[Ctrl]-c按键。例如上面我们使用bc计算,就可能不知道怎么退出计算。这是我们输入[Ctrl]-c按键也可退出。如下图:


01df6be09c6c4a6a9083eb67c07cb736.png



[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit。

 当我们用 su - 指令切换到 root用户下时,我们可用[Ctrl]-d按键退出root用户回到我们原来的用户,如下图:

e14ed632a87e478db37e17bdf7b4d51e.png

 在普通用户下,按两次[Ctrl]-d按键就会退出我们的终端。

相关文章
|
6天前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
55 20
|
2月前
|
Linux
linux-du指令
`du`命令是Linux系统中查看磁盘使用情况的基本工具之一。通过灵活使用 `du`命令的各种选项,可以准确、高效地获取文件和目录的大小信息,有助于系统管理员进行磁盘空间管理。无论是查找大文件、分析目录结构还是排除特定类型的文件,`du`命令都提供了丰富的功能和灵活的配置。理解和掌握 `du`命令的使用,对于维护和优化Linux系统的磁盘空间至关重要。
40 4
|
2月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
95 3
|
3月前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
2月前
|
安全 Ubuntu Unix
【Linux】基础指令
本文介绍了Linux操作系统的基本概念及特点,强调了其开源性、多用户多任务处理能力、稳定性和安全性。文章重点讲解了多个Linux基础命令,如ls、cd、touch、mkdir、rm、man、cp、mv、cat、less、find、grep、tar等,旨在帮助初学者快速掌握Linux命令行操作,为后续深入学习奠定基础。
71 0
|
3月前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
43 1
|
3月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
53 3
|
3月前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
3月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
70 1
|
3月前
|
存储 数据可视化 Linux
Linux 基础入门
Linux 基础入门