【Linux从入门到精通】Linux常用基础指令(下)
本篇文章接上篇文章(【Linux从入门到精通】Linux常用基础指令(上)、【Linux从入门到精通】Linux常用基础指令(中))进行详解。本章的指令相对没有那么常用,难度相对适中。同时也讲述了几个热键。希望能对你的理解有所帮助。
文章目录
一、grep指令
二、zip指令
三、tar命令
四、bc指令
五、uname指令
六、cal 指令
七、重要热键 [Tab] , [ctrl]-c , [ctrl]-d
🙋♂️ 作者:@Ggggggtm 🙋♂️
👀 专栏:Linux从入门到精通 👀
💥 标题:Linux常用基础指令💥
❣️ 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 ❣️
一、grep指令
语法: grep [ 选项 ] 搜寻字符串 文件。功能: 在文件中搜索字符串,将找到的行打印出来。常用选项:
-i :忽略大小写的不同,所以大小写视为相同; -n :顺便输出行号; -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那。
我们解析来看看具体实例是怎么用的。
如上图。我们有一个 file.txt 的文件,里面的内容是 “ hello world i ” ( i 是 1 到 100)。我们想查找到带有9的字符串的一行,我们这时候就可用到grep命令:grep '9' file.txt。如下:
我们号可以这样用:cat file.txt | grep '9',具体如下图:
以上两种方法都是可以的。我们再来看加上选项的操作。例如,我们想看带有9的字符串都是在哪一行呢?可以使用 -n 选项,输出行号:grep -n '9' file.txt。具体如下图:
我们想要除了带9的字符串,其他的全都打印出来,-v选项可以帮助我们完成:grep -v '9' file.txt。具体如下图:
我们对文件中的第十行和第十一行更换字符,
然后我们再看一下 -i 指令的使用方法。我们先查询一下带有 ‘ bit ’ 和 ‘ BIT ’ 的一行。再看使用 -i 后不区分大小写的情况:grep -ni 'bit' file.txt,如下图:
二、zip指令
语法: zip 压缩文件 .zip 目录或文件功能: 将目录或文件压缩成 zip 格式常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理;
- -d 指明压缩路径,压缩到指定目录下。
接下来我们看看实例具体怎么用。
我们将 file.txt 压缩成 flie.zip : zip file.zip file.txt,具体如下图:
为了防止在同文件中造成影响,我们将 flie.zip 移至另一个目录中,在对其进行解压操作:unzip flie.zip。具体如下图所示:
注意,上述的操作只能压缩一个文件,而不能压缩一个目录。如果使用上述命令去压缩一个目录,只会压缩一个目录的文件,并不会压缩目录里的文件。简单来说,压缩的目录为空。
那到底怎么压缩一整个目录呢?不要忘记,我们这里还有一个 -r 选项。 循环去压缩一个目录。这样解压过去的就是整个目录了,包括了目录里的文件。
将整个目录压缩成zip格式的具体指令:zip -r test_4_13.zip test_4_13。这时会生成一个test_4_13.zip的压缩包,我们将其移至另一个文件,再对其解压,具体如下图:
我们想直接把这个压缩包解压到指定目录下,我们可以用 -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。具体实例如下:
四、bc指令
Linux上的bc指令可以对浮点数进行运算,很方便,也很简单。我们直接看实例:
五、uname指令
语法:uname [选项]
功能 : uname 用来获取电脑和操作系统的相关信息。补充说明 : uname 可显示 linux 主机所用的操作系统的版本、硬件的名称等基本信息。常用选项:
- -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
这个指令也是我们作为了解,相对也简单。我们直接看实例:
六、cal 指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式 : cal [ 参数 ][ 月份 ][ 年份 ]。功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份 (1-9999) ,如有两个参数,则表示月份和年份。常用选项 :
- -3 显示系统前一个月,当前月,下一个月的月历
- -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y 显示当前年份的日历
我们直接看实例。
当我们只输入一个 cal 指令时,默认输出当前的年月日。如下图:
我们也可直接输出一年的日历。指令:cal 年份。具体如下:
我们也可通过加 -3 选项,打印当前和前后三个月分,具体如下:
七、重要热键 [Tab] , [ctrl]-c , [ctrl]-d
[Tab]按键---具有『命令补全』和『档案补齐』的功能。当输入的命令剩余有较多选择时,按两下[Tab]按键会将所有可能指令列出来。当只有一种情况,例如我们输入 whoam 时,会自动补全为 whoami。
[Ctrl]-c按键---让当前的程序『停掉』。当我们不知道怎么显现出来命令行时,一直让我们输入,我们就可以输入[Ctrl]-c按键。例如上面我们使用bc计算,就可能不知道怎么退出计算。这是我们输入[Ctrl]-c按键也可退出。如下图:
[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit。当我们用 su - 指令切换到 root用户下时,我们可用[Ctrl]-d按键退出root用户回到我们原来的用户,如下图:
在普通用户下,按两次[Ctrl]-d按键就会退出我们的终端。