tar指令(重要)
语法:tar [选项] 自定义压缩包名包括后缀 要压缩的文件/目录名 ......
功能:打包和压缩,不打开它,直接看内容
常用选项:
- -c :建立一个压缩文件的参数指令(create 的意思);(小写c)
- -x :解开一个压缩文件的参数指令!
- -t :查看 tarfile 里面的文件!
- -z :压缩为有gzip属性的压缩包
- -j :压缩为有bzip2属性的压缩包
- -v :压缩的过程中显示文件(常用)
- -f :新形成的压缩包的文件名,f后应直接跟该压缩包的文件名
- -C : 解压到指定目录(大写C)
常见使用方式:
1、tar -czf 自定义压缩包名包括后缀 要压缩的文件/目录名,将文件/目录压缩至该压缩包:
可以写多个要压缩的文件/目录名,从而实现多文件/目录的压缩
2、tar -cvzf 自定义压缩包名包括后缀 要压缩的文件/目录名,将要压缩的文件递归显示:
3、tar -xvzf 要解压缩的文件,解压缩的同时将解压的文件递归显示:
4、tar -xvzf 要解压缩的文件 -C 指定目录,解压缩至指定目录的同时将解压的文件显示:
再次思考,为什么要打包和压缩呢?
答:便于文件在网络之间的传输
实例:基于xshell进行压缩包在Windows与Linux之间的互传
1、利用指令在dir目录下创建了一百个文件:
i=0; while [ $i -le 100 ]; do touch file${i}.txt; let i++; done
2、将dir目录压缩为dir.tgz文件,再利用sz指令将该压缩文件传递至Windows桌面
3、利用rz指令将Window中的压缩包传递给Linux(直接输入rz即可选择):
实例:实现两个Linux系统之间的文件互传
1、打开两个Linux操作系统的云服务器(哥们刚好开了腾讯和阿里的两个云服务器)
2、利用指令将左边的云服务器中的dir.tgz文件传递给右边的云服务器
scp 要传输的压缩包 本地用户名@另一台Linux机器的公网ip:要拷贝至该Linux机器的路径 scp dir.tgz root@47.113.150.14:/root
bc指令
语法:直接使用
功能:可以进行很方便的浮点运算
注意事项:如果没有该指令则需要使用指令下载
yum -y install bc
常见使用方式:
1、直接输入bc开始进行计算:
2、echo 要计算的内容 | bc,将要计算的内容直接交给bc计算:
uname -r指令
语法:uname [选项]
功能:获取电脑和操作系统的相关信息
常用选项:
- -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
常见使用方式:
1、uname -a,查看当前操作系统的基本信息:
下面是Chat GPT对该条基本信息的分析操作(简单了解):
这段代码提供了一些关于操作系统和计算机硬件的信息,以及正在运行的 Linux 内核版本。让我们逐个分析它们的意义:
- `Linux`: 表示当前操作系统是 Linux。
- `VM-16-17-centos`: 这可能是虚拟机或物理计算机的名称或标识符。它通常用于区分不同的主机或环境。
- `3.10.0-1160.99.1.el7.x86_64`: 这是内核版本号,指示正在运行的 Linux 内核版本。具体来说,这里显示了内核版本为 3.10.0,并且构建号为 1160.99.1.el7.x86_64。
- `3` 表示主要版本号,表示较大规模更改。
- `10` 是次要版本号,在此处表示一些新功能、修复和改进已添加到内核中。
- `0` 是补丁级别(Patch level),用于指定对该次要版本进行错误修复和安全更新时所应用的特定级别。
接下来是日期时间信息:
- `Wed Sep 13 14:19:20 UTC 2023`:表示生成该内核映像文件(Kernel Image)时使用了此日期和时间戳。
最后一部分描述了硬件架构:
- `x86_64 x86_64 x86_64 GNU/Linux`
- 第一个 "x86_64" 指明了计算机的处理器架构,这是指支持 64 位 x86 指令集的处理器(通常称为 "x86_64" 或 "AMD64")。
- 第二个和第三个 "x86_64" 表示操作系统和用户空间程序也是针对相同的 64 位 x86 架构编译的。
- `GNU/Linux` 指明了这是一个基于 GNU 工具链并运行 Linux 内核的操作系统。
综上所述,该代码提供了关于正在运行的 Linux 系统、内核版本、生成日期时间以及硬件架构等信息。它可以用于标识和调试特定环境,并帮助确定适合该环境特性和要求的软件配置。
重要的热键
1、[Tab]按键---具有『命令补全』和『档案补齐』的功能
输入wh后再按下Tab键可以将以wh开头的指令展示出来:
2、[Ctrl]-c按键---让当前的程序『停掉』
当陷入一段非常长的循环时比如tree /,可以使用CTRL + C 强制退出该循环:
tree /
3、[Ctrl]-d按键---退出登录当前账户,也可以用来取代exit
输入CTRL+D,退出当前登录的账户
关机与开机
语法:shutdown [选项] 一些参数
常用选项:
- -h : 将系统的服务停掉后,立即关机。
- -r : 在将系统的服务停掉之后就重新启动
- -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
注意事项:
1、云服务器不建议使用关机选项一旦关机需要在对应的云服务器官网上重启
2、VM虚拟机可以进行关机与开机操作
3、执行开机与关机指令可能需要管理员权限(root 或 sudo)
常见使用方式:
1、shutdown now:立即关机
2、shutdown -h now:立即关机并停止电源
3、shutdown -h +5:在当前时间后的 5 分钟内进行机(倒计时)
4、shutdown -h 20:00:在指定时间(24 小时制)进行关机
5、shutdown -r now:立即重启系统
6、shutdown -reboot now:立即重启系统
7、shutdown --cancel:取消已计划的关机或重启
扩展命令
- 安装和登录命令: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
shell及运行原理
学前补充:
1、大部分指令都是文件
2、用户在执行某种功能时,不是直接让操作系统执行对应的指令,而是先交给外壳程序
3、外壳程序包含很多种,其中bash就是一种具体的外壳程序
什么是shell命令?
Shell 在计算机科学中通常指的是命令行解释器或外壳程序。它提供了一种交互式方式,让用户能够输入和执行命令,并与操作系统进行交互。
"Shell 命令" 是指在 Shell 解释器中可执行的命令。这些命令由 Shell 解释器解析和执行,并且可以完成各种任务,如文件操作(mkdir)、显示信息(ls)、环境变量设置等。
因此,在日常使用中,“Shell 命令” 这个术语通常用于描述用户通过 Shell 解释器输入并执行的特定指令或操作。这些命令可以是内置于 Shell 中的预定义功能(如 `cd`、`ls`),也可以是自定义脚本或可执行文件。
总之,尽管 "Shell" 一词原本表示一个外壳程序或解释器,但在实际使用时,“Shell 命令” 指代用户通过该解释器运行的特定指示和操作。
什么是外壳程序?
外壳程序是介于用户和操作系统之间的软件(命令行解释器、图形化界面等)
为什么要有外壳程序
1、便于用户与操作系统之间的交互:
小故事:
小帅(用户)害羞不敢跟如花(操作系统)表白,请媒人王婆(bash)帮忙询问(用户发出的指令),媒人王婆(bash)询问如花(操作系统)是否愿意,如花(操纵系统)说不愿意(报错),媒人王婆(bash)给小帅(用户)转达如花(操作系统)不同意的意思(用户的指令执行失败)
2、可以对用户请求进行合法性检测,变相的保护操作系统:
小故事续集:
小帅(用户一)心有不甘,还想要王婆帮忙询问(用户一发出的指令),但是媒人王婆(bash)再次上门询问(用户一发出的指令)时发现跟如花(操作系统)私定终生的大帅(用户二)已经被如花接受了(用户二发出的指令)俩人已经准备结婚了🤡,于是媒人王婆(bash)就会回去告诉小帅(用户一)你俩不可能(用户一的指令执行失败),同时当村子里的其它人(其他用户)问起(其他用户发出的指令)媒人王婆(bash)时,因为已经知道了这些人(其他用户)根本不可能(其他用户发出的指令无法执行)所以媒人王婆(bash)就不需要再去询问(其他用户发出的指令)如花(操作系统)的意见,直接拒绝了这些人(其它用户),同样的也保护了如花和大帅之间的感情(用户二发出的指令可以正常执行)
可小帅的父亲是村长,碍于村长的面子王婆既不想帮了但还必须得帮,王婆该如何做呢?
答案:招聘实习生(创建子进程)
媒人王婆(bash)用招来(bash会创建一个子进程)的实习生(子进程)帮助小帅(用户)解决相亲的问题(帮用户进行命令行解释),这样她自己就可以置身事外了(bash只需要等待子进程运行的结果即可),起码不用自己上场了办不好也可以推给实习生(子进程执行的失败结果并不会影响主进程)......
bash和shell的区别:shell是所有外壳程序的统称(媒人),bash是具体的一款外壳程序(王婆)、sh是具体的另一款外壳程序(李婆)
~over~