当前位置: 首页 > news >正文

Linux基础指令【补充】

一、打包压缩

1)是什么?

使用特定的算法 , 对文件进行合并压缩 , 减少体积 。其实打包压缩是两个步骤,类似于我们在打包行李的时候,先放,最后使劲压一下 。这里我们把打包压缩看成一个整体,因为在Linux 环境下 , 他两个分开来看 , 没多大的意义 。

 

2)为什么?

a . 文件体积减少 、 节省资源 ( 磁盘空间 )、减少网络传输成本(体积小 , 占的带宽就会越小)

b.  多文件转一个文件 , 可以提高文件传输的容错性 

如何让以下文件传输的时候 , 既保证目录结构完整 ,又要保证文件内容不丢失 ? 

1.1 zip 与 unzip 指令

1) 语法: zip  压缩文件.zip  目录或文件

2) 功能: 将目录或文件压缩成 zip 格式  

3)常用选项 :

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

 1)这里我们可以使用   zip  这条指令对文件进行   ”打包压缩“ , 如果zip 没安装的话 ,需要安装一下(出现copyright就是安装成功了)

yum install -y zip unzip    //centos环境下apt install -y zip unzip    //ubuntu环境下

2)打包压缩 :

zip test.zip test     //打包压缩mkdir other           //创建一个other文件夹 -- 目的是为了做一下本地测试mv test.zip other/    //把test.zip 文件转移到other目录下unzip test.zip        //在当前路径下(other)解压test.zip

 我们发现,用以上的方法其实得不到我们想要的目录结构  以及   文件内容  , 因为我们在打包压缩的时候 没有递归处理我们的 “包裹” , 我们知道 , 目录结构是树状的 , 所以如果打包目录 , 一定要使用 -r    !!!!

zip -r test.zip test   //递归的打包压缩mkdir other           //创建一个other文件夹mv test.zip other/    //把test.zip 文件转移到other目录下unzip test.zip        //在当前路径下(other)解压test.zip

后面的百分号指的是压缩率 , 因为我们创建的文件是没有任何东西的 , 所以为 0 

 此时我们得到了完整的目录结构  以及  文本内容!

1.2 互传

我们打包压缩的目的就是为了文件传输(上传、下载) , Linux 与 Linux  间文件互传 , Linux 与 windows间文件互传等。

1.2.1 Windows <-> Linux

windows 与 Linux 间的文件互传:

sz  test.zip   //(传输到Linux)回车后,弹出界面rz           //Windows 文件传到Linux / 把Windows文件拖拽到Linux也可以

首先我们应该先安装一个工具 : lrzsz 

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。  安装完毕之后可以通过拖拽的方式 将文件上传过去.
sudo yum/apt install -y lrzlz

使用【 rz  压缩文件】 -->  【回车】 ---> 【选择所存放的路径】 -->  传输完毕 

1.2.2 Linux <-> Linux

tar 指令 :  

1) 语法 : tar [-cxtzjvf] 文件与目录 ....

   打包压缩 : tar -czf dst.tgz src

   解压到本地:tar  -xzf  xxx.tgz

   解压到指定路径:tar  -xzf  xxx.tgz  -c  指令路径

2)

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

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

  -t :查看tarfile 里面的文件

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

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

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

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

  -C : 解压到指定目录 ! 

   

mkdir other              //创建other目录,模拟本地传输tar -czf test.tgz test   //打包压缩test , 形成test.tgz压缩包 mv test.tgz other/       //传输到other目录下cd other/                //进入other目录tar -xzf test.tgz       //解包解压tree test               //验证test的目录结构是否出错cat test/dir1/dir2/dir3/log.txt  //验证一下文件内容是否丢失

Linux 与  Liunx 之间互传(了解):

scp       dst.tgz            用户@公网IP:传输路径

scp : 远程拷贝

dst.tgz : 传输的压缩包

用户:传输到的主机的用户名

公网IP:传输到的主句的公网IP

传输路径:传输到的指定路径

二、bc指令

bc命令可以很方便的进行浮点运算 

                                                                                              --> Linux 下的一个命令行运算器

三、uname -r指令

1) 语法:uname [选项]
2) 功能: uname用来获取电脑和操作系统的相关信息。
3)补充说明:uname 可显示linux主机所用的操作系统的版本、硬件的名称 等基本信息。
uname -a
// a或‒all 详细输出所有信息,依次为内核名称,主机名,
内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称uname -r
//只看内核版本  和 体系结构cat /etc/redhat-release
//查看自己系统的版本

四、Linux下的热键

五、关机

语法: shutdown [选项]

常见选项:

1) -h : 将系统的服务停掉后,立即关机

2) -r  :再将系统服务停掉之后就重新启动

 3)-t sec: -t 后面加秒数,表示  过几秒后关机 。

其实这个关机指令,在windows下有点意义 , 但是在云服务器下没多大的意义 ,因为云服务器永远不要关机 。因为将来部署服务的时候,这个服务必须72小时在线,例如刷短视频。

六、shell 命令以及运行原理

Linux 严格意义上说的是一个操作系统,我们称之为 "核心"(kernel) ,   但我们一般用户,不能直接使用 kernel 。 而是通过kernel 的  “外壳 ”  程序 , 也就是所谓的 shell , 来与 kernel 沟通。

从技术角度,shell 的最简单定义 命令行解释器(command Interpreter) 主要包含:

  • 将使用者的命令翻译给核心 (kernel )  处理
  • 同时,将核心的处理结构翻译给使用者。

shell 作用 :

  • 命令行解析
  • 保护内核

对比windows GUI , 我们操作windows 不是直接操作windows 内核 , 而是通过图形接口 , 点击 , 从而完成我们的操作 ( 比如 进入D盘的操作 , 我们通常是窗机D盘盘符 , 或者运行起来一个应用程序 ) 。

shell 对于Linux , 有相同的作用 , 主要是对我们的指令进行解析 , 解析指令给Linux 内核 。 反馈结果在通过内核运行出结果 , 通过shell 解析给用户 。 

知识点添加:

1)shell 会创建子进程的方式进行命令行解析 

2)shell 外壳就是包裹在内核的一层软件层,这层软件层主要进行命令行解析、保护内核 。 

3)在Linux 当中 , 目前所使用的外壳程序是 bash  ,   每一个用户在进行登录的时候 , 系统会专门分配一个  bash  ,  bash 就是外壳程序的一种(就像苹果是水果的一种)

http://www.xdnf.cn/news/283087.html

相关文章:

  • 尼卡音乐 1.1.1 | 免费畅听全网音乐,支持无损下载,无广告无需注册登录
  • ROS2学习笔记|C++ 实现 ROS 2 订阅与发布功能的完整流程
  • 基于python生成taskc语言文件--时间片轮询
  • 计算机图形学中的深度学习
  • (undone) MIT6.S081 2023 学习笔记 (Day10: LAB9 fs file system)
  • 服务器部署一个千问2.5-14B、32B并发布为接口
  • CPU缓存
  • JavaScript基础-顺序流程控制
  • 函数栈帧的创建和销毁
  • 架构进阶:75页架构规划方法课件 【附全文阅读】
  • ARM寻址方式
  • USB3.0 延长线-线序
  • 模板特化详解与示例代码
  • vue-cropper实现图片裁剪
  • WordPress不支持中文TAG标签出现404的解决方法
  • [python]非零基础上手之文件操作
  • JAVA:使用 MapStruct 实现高效对象映射的技术指南
  • AI功能测试源码AI聊天AI视觉AI图像AI视频AI画外音写作助手AI测试多语言无加密源码
  • 第20节:深度学习基础-反向传播算法详解
  • Linux环境下的进程创建-fork函数的使用, 进程退出exit和_exit的区别,以及进程等待waitpid和status数据的提取方法
  • 一款免费的现场大屏幕知识竞赛抢答软件
  • SpringBoot校园失物招领平台源码开发实现
  • 永磁同步电机无速度算法--基于ESO-PLL的永磁同步电机无位置传感器控制
  • 适配器模式(Adapter Pattern)
  • 内容中台的AI中枢是什么?
  • LeetCode 热题 100 48. 旋转图像
  • lombok详解
  • cline或业务系统集成n8n的工作流(MCP Server Trigger、Call n8n Workflow Tool node)
  • 【力扣刷题记录】hot100错题本(一)
  • MySQL--索引精通详解