【Linux系统编程】第五弹---基本指令(三)

✨个人主页:熬夜学编程的小林

💗系列专栏: 【C语言详解】 【数据结构详解】【C++详解】【Linux系统编程】

目录

1、grep指令

2、zip/unzip指令

3、tar指令

4、bc指令

5、uname指令

6、重要的几个热键

7、拓展指令

总结


1、grep指令

grep参考文档https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html
语法:

grep 选项 搜寻字符串 文件名

功能:

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

常用选项:

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

-n :顺便输出行号

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

2、zip/unzip指令

1.zip

语法:

zip 选项 压缩文件.zip 目录或文件

功能:

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

常用选项:

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

2.unzip

语法:

unzip 选项 要压缩的文件.zip -x 需要排除的文件 -d 需要解压到的目录 (默认压缩至当前目录)

功能:

将.zip的压缩文件解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件

下图为基本的压缩文件和解压缩文件详细过程:

3、tar指令

语法:

1.压缩

tar 选项 目标文件名 源文件

2.解压缩

tar 选项 待解压缩文件名 -C 需要解压到的目录

注意:

默认解压时在当前目录,如果要指定目录的话,则加上-C 目录 参数

功能:

打包/解包,不打开它,直接看内容

常用选项:

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

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

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

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

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

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

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

-C : 解压到指定目录

1.打包成tar

当有多个参数时,-f命令参数必须在最后一个,否则会报错,原因是 -f后面跟的是目标文件名称,如果-fc,则会把c当做源文件名称。

复制代码
[root@VMCentos7 test]# touch 1.c 2.c 3.c //创建三个文件,用于压缩
[root@VMCentos7 test]# ls  //查看当前目录的文件
1.c  2.c  3.c
[root@VMCentos7 test]# tar -cvf test.tar 1.c 2.c 3.c //将三个后缀为.c的文件压缩到test.tar目录,没有目录则会自动创建
1.c
2.c
3.c
[root@VMCentos7 test]# ls //查看当前目录下的文件和文件夹
1.c  2.c  3.c  test.tar
[root@VMCentos7 test]# rm ?.c //为了看到解压缩的效果,需要先把开始的三个文件删掉
rm: remove regular empty file '1.c'? y
rm: remove regular empty file '2.c'? y
rm: remove regular empty file '3.c'? y
[root@VMCentos7 test]# tar -xvf test.tar //将test.tar文件解压缩到当前目录
1.c
2.c
3.c
[root@VMCentos7 test]# ls //查看当前目录文件和文件夹
1.c  2.c  3.c  test.tar
  • -c是表示打包,create 缩写
  • -v表示显示打包的过程,verbose 缩写
  • -f指定打包后的文件名,file缩写

2.解压文件tar

复制代码
[root@VMCentos7 test]# ls //查看当前目录的的文件和文件夹
1.c  2.c  3.c  test.tar
[root@VMCentos7 test]# mkdir dir  //先创建一个存放文件的目录
[root@VMCentos7 test]# tar -xvf test.tar -C dir  //将test.tar目录解压缩到dir文件
1.c
2.c
3.c
[root@VMCentos7 test]# tree dir //查看dir目录的结构
dir
├── 1.c
├── 2.c
└── 3.c

0 directories, 3 files
  • -x是表示还原一般和 -c 命令必须同时存在一个
  • -v表示显示打包的过程,verbose 缩写
  • -f指定打包后的文件名,file缩写

注意:-C选项后的文件夹必须先创建好,否则会报如下错误。

复制代码
tar: Dir: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

3.打包并压缩tgz(或者tar.gz)

复制代码
[root@VMCentos7 test]# tar -zcvf test0.tgz 1.c 2.c 3.c # 将三个文件以gzip方式打包压缩
1.c
2.c
3.c
[root@VMCentos7 test]# ls # 查看当前目录文件
1.c  2.c  3.c  dir  test0.tgz  test1.tgz  test.tar  test.tgz

4.解压并解包文件tgz(或者tar.gz)

复制代码
[root@VMCentos7 test]# mkdir zDir
[root@VMCentos7 test]# tar -zxvf test0.tgz -C zDir # 解压缩到zDir文件夹中
1.c
2.c
3.c
[root@VMCentos7 test]# tree zDir # 查看zDir文件夹结构
zDir
├── 1.c
├── 2.c
└── 3.c

0 directories, 3 files

单独打包和打包并压缩的主要区别就是存储方式不同。

4、bc指令

语法:

bc 选项 计算任务的文件

功能:

进行算术操作精密运算的工具。bc命令也是一种支持任意精度的交互执行的计算器语言。

选项:

-i:强制进入交互式模式

-l:定义使用的标准数学库

-w:对POSIX bc的扩展给出警告信息

-q:不显示bc环境信息,直接运行命令

-v:显示指令版本信息

-h:显示指令的帮助信息

复制代码
[root@VMCentos7 test]# bc -q # 不显示环境信息进行计算
1.21*1.21
1.46
scale=3 # 设置精度为3为小数
1.21*1.21
1.464

补充一个在线查询Linux命令网站:

在线Linux命令查询工具https://www.lzltool.com/LinuxCommand

5、uname指令

语法:

uname 选项

功能:

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

补充:

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

常用选项:

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

-r:显示内核版本

复制代码
[root@VMCentos7 test]# uname -a
Linux VMCentos7 5.10.134-16.1.al8.x86_64 #1 SMP Thu Dec 7 14:11:24 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@VMCentos7 test]# uname -r
5.10.134-16.1.al8.x86_64

6、重要的几个热键

Tab按键 ---具有『命令补全』和『档案补齐』的功能
Ctrl-c按键 ---让当前的程序『停掉』
Ctrl-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit

7、拓展指令

shutdown指令:关机

语法:

shutdown 选项

常见选项:

-r: 重启计算机

-h: 关闭系统后关闭电源

-c: 取消已经计划的 shutdown 操作

-t sec : -t 后面加秒数,即过几秒后关机

扩展命令

◆ 安装和登录命令: 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。

总结

本篇博客就结束啦,谢谢大家的观看,如果公主少年们有好的建议可以留言喔,谢谢大家啦!

相关推荐
AlfredZhao7 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346613 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪14 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信