【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。

总结

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

相关推荐
qq_312920111 分钟前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器
踏雪Vernon2 分钟前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
Onlooker1292 分钟前
云服务器部署WebSocket项目
服务器
学Linux的语莫15 分钟前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz19 分钟前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py20 分钟前
【Linux】-学习笔记04
linux·笔记·学习
黑牛先生22 分钟前
【Linux】进程-PCB
linux·运维·服务器
Karoku06627 分钟前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch
友友马40 分钟前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
猿java1 小时前
Linux Shell和Shell脚本详解!
java·linux·shell