压缩包
这里不为打包和压缩做仔细的区分;
打包: 文件合并;
- 主要目的是在文件传输,移动时,能有效减少文件的缺失;
压缩:为了减小文件体积,内存;
- 主要目的是减小使用体积,节省储存空间;还能减少网络传输时的时间;
(文件在下载,传输时 都要经过网络传输)
总之:压缩包的目的就是便于传输;
三个阶段
zip/unzip
先zip/unzip --version 检查系统是否安装zip/unziip;
语法:zip 压缩文件.zip 目录或文件
功能:将目录或文件压缩成zip格式
常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理
语法:unzip 压缩文件.zip [选项] 路径
功能:将压缩成zip格式的文件解压;
常用选项:
- -d 指定把文件解压到什么目录文件中。(默认就是解压要本目录下)
tar
语法:tar 压缩文件.tgz 目录或文件
功能:将目录或文件压缩成tgz格式,或将tgz格式的文件解压;
常用选项:
- -c :建立一个压缩文件的参数指令(create 的意思);
- -x :解开一个压缩文件的参数指令!
- -t :查看 tarfile 里面的文件!
- -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
- -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
- -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
- -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
- -C : 解压到指定目录
对于选项是否加- (-C是一定要加的); 这里看不同的系统要求,有的系统不用写-,有的系统要求写-;还有的两种都兼容
这里演示一些cxzf -C这些超高频选项:
后续动作
Linux和Linux压缩包互传
scp指令
语法:scp dst.tgz 用户名@你的公网IP:你的目标机器的绝对路径
scp 和 cp 看起来很像其实也差不多;只不过scp是跨服务器传输文件;
Linux 与 本电脑的windows互传文件
sz指令
语法:sz 压缩文件.zip
功能:将压缩成zip格式的文件传送到本电脑windows中;
bc指令
bc命令可以很方便的进行浮点运算。
是超低频指令;一般用于Linux中的计算器
后续内容也能输入其他地方;
怎么在Linux中查看体系结构个系统内核版本?
uname –r指令:
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
- a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
新老内核问题:和系统版本差不多;不是越新越好,老大反而会更稳定;
关机
也是超低频的指令
语法:shutdown [选项] **
常见选项:
- -h 将服务器停掉后,立刻关机;
- -r 将服务器关掉后就重新启动;
- -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思。
在云服务器中(阿里云,腾讯云等等),服务器永不会关机,除非维护或不用了;
shell命令以及运行原理
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。
如何理解?为什么不能直接使用kernel?
外壳程序 提供给用户一个命令行,用户输入命令(也可以认为是字符串)后,将输入的内容交给操作系统内核然后让操作系统执行,若能执行,外壳再将将执行结果交给用户;
为什么不能直接使用kernel?
- 方便用户操作。
用户不便于直接向内核输入命令,但方便把命令给shell外壳,shell外壳再把命令传给操作内核;
(可以这么理解:一个男生a暗恋女生b,男生a不好意思说,就让王婆c代替自己向女生b表达心意)
- 外壳程序,保护内核。
若外壳识别到命令十分不合理;就不会在访问内核,从而保护了内核;
(王婆c去的时候发现,女生b和小帅d一起有说有笑,就不会和女生b交流;从而保护了b与d的关系)
- 外壳程序能创造子进程,高效访问内核;
外壳->进程->新命令到来->创造子进程
注意:外壳的进程不会终止;若终止就需要重新启动;
(王婆c创建了一个婚姻所)
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)
主要包含:
- 将使用者的命令翻译给核心(kernel)处理。
- 同时,将核心的处理结果翻译给使用者。
举例:
- 对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
- shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户
但我发现,bash是我这个云服务器的外壳,而不是shell;这是为什么呢?
shell是总称(媒婆),bash是各自名字(王婆);