【linux基础(三)】Linux基本指令(下)

博主CSDN主页:杭电码农-NEO

⏩专栏分类:Linux从入门到开通⏪

代码仓库:NEO的学习日记

关注我带你学更多操作系统知识


【linux基础(三)】Linux基本指令(下)_第1张图片

Linux基本指令

  • 1. 前言
  • 2. 取头尾数据
    • 2.1 对取中间元素的思考
    • 2.2 管道: | 的使用
  • 3. 时间相关的指令
    • 3.1 时间戳的概念
  • 4. Linux下搜索指令: find
    • 4.1 which和alias指令
    • 4.2 grep指令
  • 5. 压缩/解压缩指令(一)
    • 5.1 解压缩一个文件/目录
  • 6. 压缩/解压缩指令(二)
  • 7. 总结以及拓展

1. 前言

本篇文章紧接着前两篇:
linux指令(上) 和 linux指令(中)

如果你是零基础,请先移步前两篇文章!

本章重点:

  • 取头尾数据指令: headtail
  • 时间戳概念以及相关指令
  • Linux下搜索指令: find
  • 压缩/解压文件指令: ziptar
  • Linux下重要的几个热键

Linux的基本指令的最后几个
将在本章全部讲解完毕!

【linux基础(三)】Linux基本指令(下)_第2张图片


2. 取头尾数据

已知more,less,cat指令
可以读取文件的内容并且打印在屏幕上

但在实际生活中,往往不会查看所有数据
比如我只想读前十行或后十行的数据:

使用指令: head -n 文件名

使用指令: tail -n 文件名

注:-n的n代表想读取的前/后n行

并且-n可以缺省,默认读取前/后十行

我的目录下有这些文件:

【linux基础(三)】Linux基本指令(下)_第3张图片

其中,small.txt中存放了0~1000个数据

取前30行:

【linux基础(三)】Linux基本指令(下)_第4张图片

取后30行:

【linux基础(三)】Linux基本指令(下)_第5张图片


2.1 对取中间元素的思考

假设需要查看第500~550行的数据
此时直接用head或tail不能解决问题

解决方法:定义一个临时文件

【linux基础(三)】Linux基本指令(下)_第6张图片

根据这个图片流程,我们编写指令:

【linux基础(三)】Linux基本指令(下)_第7张图片


2.2 管道: | 的使用

使用临时文件的方法确实可解决问题
但是未免太麻烦了!

先说结论,可以这样简化指令:

head -550 small.txt | tail -50

【linux基础(三)】Linux基本指令(下)_第8张图片

对指令的解释:

指令中出现的 | 符号被称为管道
它可以充当临时文件的作用
将前550行的内容存放在管道中
并且在使用tail时从管道中拿数据!

可以这样理解管道:

【linux基础(三)】Linux基本指令(下)_第9张图片


3. 时间相关的指令

虽然这个指令比较鸡肋
但是还是要做了解!

使用指令: date +选项

date的几个常见选项给罗列出来:

%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d

比如:

在这里插入图片描述


3.1 时间戳的概念

时间戳是指:
从1970年1月1日到现在经过的秒数

在Linux下查看当前时间戳:

使用指令: date +%s

在这里插入图片描述

时间戳在实际生活中有许多应用场景
想要了解更多详情可以跳转:

时间戳的实际意义


4. Linux下搜索指令: find

查找一个文件或目录的路径:

使用指令: find -name 文件/目录名

我的机器下的文件树是这样的:

【linux基础(三)】Linux基本指令(下)_第10张图片

假设我想要找出d3的位置:

在这里插入图片描述

它会把所有包含d3名字的文件/目录
的路径打印在屏幕上!


4.1 which和alias指令

which指令:

用于查看一个指令的所在路径:

【linux基础(三)】Linux基本指令(下)_第11张图片
alias指令:

用于给一个指令取别名

比如我想将ll指令改名为NEO:

【linux基础(三)】Linux基本指令(下)_第12张图片

此时再使用which指令查看NEO:

在这里插入图片描述

系统会告诉我NEO是ll的别名


4.2 grep指令

指令grep的功能:

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

比如我的hello.txt中有这些内容:

【linux基础(三)】Linux基本指令(下)_第13张图片

想要找到有字符"1"的一行:

【linux基础(三)】Linux基本指令(下)_第14张图片

所有有’1’的一行都会被打印出来!

grep拓展选项:

-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行


5. 压缩/解压缩指令(一)

压缩一个文件:

使用指令: zip 压缩文件名.zip 要压缩的文件

例如将good.txt压缩一下:

【linux基础(三)】Linux基本指令(下)_第15张图片

当前目录下会多出一个红色的压缩文件


假设要压缩一个目录下所有的文件:

使用指令: zip -r xxx.zip xxx文件

【linux基础(三)】Linux基本指令(下)_第16张图片


5.1 解压缩一个文件/目录

使用指令: unzip 要解压的文件

或指令: unzip xxx -d 指定路径

例如要解压刚刚压缩的good.txt:

【linux基础(三)】Linux基本指令(下)_第17张图片

当然!使用第一个指令默认解压到当前路径


6. 压缩/解压缩指令(二)

压缩/解压缩的指令有很多
我们常见的压缩文件后缀也有很多
这里介绍两个最常见的!

使用指令: tar [-cxtzjvf] xxx.tgz xxx

其中的cxtzjvf是不同的参数:

-c :建立一个压缩文件的参数指令
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?
-j :是否同时具有 bzip2 的属性?
-v :压缩的过程中显示文件!!
-f :使用档名,f后不能再跟任何参数
-C : 解压到指定目录

比如要压缩small.txt文件:

【linux基础(三)】Linux基本指令(下)_第18张图片

比如要解压方才的压缩文件到d2目录:

【linux基础(三)】Linux基本指令(下)_第19张图片

注:
压缩一个文件的常见选项:czf
解压缩一个文件常见选项:xzf
最前面的c和x不能改变,后面的选项随意


7. 总结以及拓展

Linux下的常见指令已经全部介绍完毕!
当然Linux学习不止是学习指令
Linux下的指令是学不完的!
更多的还是理解Linux运作的内部细节!

【linux基础(三)】Linux基本指令(下)_第20张图片

拓展:

Linux下常见的热键有:

  • [TAB]键:可补全指令
  • [CTRL]+c: 终止当前程序
  • [CTRL]+d: 相当于exit
  • [CTRL]+r: 进入历史搜索

对于TAB键的解释:

当你想输入指令which时
但是你忘记它怎么拼写了
这时你输入一个whi然后按TAB键
系统会自动帮你补齐指令
若以whi开头的指令不止一个
系统将会把所有whi开头的指令打印出来!

按一次TAB没反应就多按几次

在这里插入图片描述


下期预告:Linux权限理解

你可能感兴趣的:(Linux从入门到精通,linux,运维,服务器)