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

云计算【第一阶段(14)】Linux的目录和结构

一、Liunx目录结构

1.1、linux目录结构

linux目录结构是树形目录结构
根目录(树根)

  • 所有分区,目录,文件等的位置起点
  • 整个树形目录结构中,使用独立的一个"/",表示

1.2、常见的子目录

必须知道

目录路径目录作用
/root系统管理员root的宿主目录
/home普通用户的宿主目录
/boot系统内核、启动文件存放位置
/dev设备文件存放位置
/etc配置文件存放位置
/bin所有用户可执行的命令存放位置
/sbin管理员可执行的管理命令存放位置
/usr应用程序存放位置
/var日志文件等存放位置

二、查看及检索文件

2.1、查看全部内容

查看文件内容cat命令

但是用这个命令在长文件会看不过来

可以使用more或者是less分页

  • more命令
    全屏方式分页显示文件内容

    交互操作方法
    按Enter键向下逐行滚动
    按空格键向下翻一屏
    按b键向上翻一屏
    按q键退出
  • less命令
    与 more命令相同,但扩展功能更多
    交互操作方法
    page up 向上翻页,page down 向下翻页,上下键盘
    ”/“ 键查+找内容, "n"下一个内容,"N"上一个内容
    其他功能与more命令基本类似。

2.2、查看其中几条内容

查看文件内容head,tail命令 中

  • head命令

head  -n(n为数字) 文件名,用途:查看文件开头的一部分内容 (默认为10行)

  • tail命令

用途:查看文件结尾的少部分内容 (默认为10行)
tail -n 文件名
tail -f 文件名(重要)追踪

实验一

实验二

2.3、统计文件内容

wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件

 2.4、检索和过滤文件内容

grep命令
在文件中查找并显示包含指定字符串的行

grep  [选项]  查找条件  目标文件

常用命令选项
-i:查找时忽略大小写
-v: 反转查找,输出与查找条件不相符的行

三、备份及恢复文档

3.1、压缩命令gzip,bzip2命令

gzip格式的文件通常具有.gz的后缀,gzip通常可以将纯文本内容压缩到原大小的40%左右。

bzip2通常可以将文件压缩到原始大小的10%至15%。虽然其压缩速度相对较慢,但解压速度较快,且压缩率通常高于gzip。

  • 制作压缩文件
  1. gzip     [-9] 文件名。
  2. bzip2   [-9]文件名。
  • 解开压缩文件
  1. gzip   -d    gz格式的压缩文件  或者gunzip
  2. bzip2 -d    bz2格式的压缩文件  或者bunzip2

1-9代表级,别默认是6级别,

使用一级别压缩比例最少但是压缩速度最快 ,九压缩比例最大但是压缩速度最慢。

3.2、xz和zip

xz 是一种高效的压缩工具,它使用LZMA(Lempel-Ziv-Markov chain-Algorithm)算法进行压缩。这种算法通常比传统的gzip压缩算法具有更高的压缩率,但压缩和解压缩速度可能较慢。

用法

  • 制作压缩文件

xz     [要压缩的文件]

zip -r [归档文件名.zip] [要压缩的文件或目录]
 

  • 解开压缩文件
  1.  unxz [要解压缩的文件]   或者 xz -d   [要解压缩的文件]    
  2.  unzip [归档文件名.zip] -d [解压目录] 

3.3、一些区别

  • bzip2:专注于单文件压缩,不提供归档功能(即多个文件打包成一个文件),但是压缩率高,数据恢复方面也有实用性。通常与其他工具(如tar)结合使用,以创建压缩的归档文件。
  • zip:除了文件压缩外,还支持归档功能,可以将多个文件和目录打包成一个单独的.zip文件。这使得zip在需要处理多个文件或目录的压缩场景中更加灵活(但是压缩率不如bzip2)

以下是xz、bzip2、zip和gzip的简要区分表格:

特性xzbzip2zipgzip
压缩率较高中等中等偏低
压缩速度中等较慢较快较快
解压速度较快较快较快较快
算法LZMA/LZMA2Burrows-Wheeler变换 + Huffman编码DEFLATE/LZ77等DEFLATE
多文件支持不支持不支持支持不支持
归档功能需要配合tar等工具需要配合tar等工具内置归档功能需要配合tar等工具
错误修复能力无特别说明有一定能力无特别说明无特别说明
跨平台性
扩展名.xz.bz2.zip.gz
典型应用场景需要高压缩率,如软件分发需要高压缩率,如软件分发、备份归档多个文件,如文档、图片等压缩单个文件,尤其是文本文件

请注意,这个表格是基于一般情况下的观察和比较,具体表现可能会因文件类型、文件大小、硬件性能等因素而有所不同。在选择压缩工具时,最好根据具体需求进行测试和评估。

3.4、实验

打一个文件

压缩后大小,bizp2小一些,说明压缩率高一些

扩展

  1. time: 这是一个shell命令,用于测量另一个命令的执行时间。当你运行 time command 时,shell会先运行 command,然后在命令完成后显示其执行时间。
  2. -c 选项告诉gzip将输出(即压缩后的数据)直接发送到标准输出(stdout),而不是写入文件。
  3. > 1.txt: 这是shell重定向的一个例子。> 符号将前面命令的标准输出(stdout)重定向到一个文件。结合-c,gzip -c ceshisize.txt 的输出(即ceshisize.txt 的压缩版本)被重定向到名为 1.txt的文件中。

3.5、归档命令tar命令

归档文件通常是一个或多个文件和目录的集合,它们被打包成一个单独的文件以便于存储、传输或备份。tar 命令本身不提供压缩功能,但可以与压缩工具(如 gzip、bzip2、xz 等)结合使用以创建压缩归档文件。

  • 制作归档文件

tar 【选项】 归档文件名     源文件或目录
 

  • 释放归档文件

tar   [选项】归档文件名    【c目标目录】

 

tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的 gzip 或 bzip2 命令),以节省磁盘空间。使用 tar 命令时,选项前的“-”号可以省略。常用的几个选项如下所述。

  • -c:创建(Create).tar 格式的包文件。
  • -C:解压时指定释放的目标文件夹。
  • -x:解开.tar 格式的包文件。
  • -p:打包时保留文件及目录的权限。
  • -P:打包时保留文件及目录的绝对路径。
  • -t:列表查看包内的文件,而不提取内容。
  • -v:输出详细信息(Verbose)。
  • -z:调用 gzip 程序进行压缩或解压。
  • -j:调用 bzip2 程序进行压缩或解压。
  • -f:表示使用归档文件,指定使用的归档文件的名称

  常用的组合命令
  czvf      xzvf 
  cjvf      xjvf
  
  czf       xzf
  cjf       xjf

3.5.1、制作归档备份文件

假设我们要创建一个 /etc 和 /opt/文件夹的归档文件,并且还希望使用 gzip 工具将其压缩。可以使用 tar 命令中的 -z 选项来实现。此类归档文件的扩展名是 tar.gz 或 tgz

需要注意的是,在备份恢复目录或文件时,最好先将工作路径切换至目标目录或文件的所在路径,然后在执行备份命令时使用相对路径,以防输入命令时因手误而导致根目录“/” 下重要文件损坏。

czvfp

当然我们还可以排除

--exclude=*.conf
那么tar -jcpvf archive.tar.bz2 /etc/ /opt/   --exclude=*.conf

3.5.2、查看列出压缩归档文件的内容

tvf


3.5.3、从归档文件中恢复数据

-x:解开.tar 格式的包文件。

-C:解压时指定释放的目标文件夹。

tar -xjvf b.tar.gz  -C /kgc

在大部分的备份及恢复工作中,只使用 tar 命令就可以很好地结合 gzip、bzip2 工具协同工作,无须再执行 gzip 或 bzip2 命令。但是要注意这两个压缩工具的命令程序必须存在。
 

相关文章:

  • YASKAWA机器人HW1171921-B电缆维修
  • 使用itextPDF实现PDF电子公章工具类
  • Java Swing库学习
  • JavaScript算法实现dfs查找省市区路径
  • ARM-V9 RME(Realm Management Extension)系统架构之系统安全能力的侧信道抵御
  • PostgreSQL 数据类型详细说明
  • 【EtherCAT电机板】CiA402增加cst模式
  • 反向传播算法
  • @AliasFor 使用
  • DenseNet完成Cifer10任务的效果验证
  • MFC四种方法编写多线程
  • 从“数据孤岛”、Data Fabric(数据编织)谈逻辑数据平台
  • 基于百度地图WebGL版二次开发的数据可视化大屏(白天黑夜模式自动切换、标注聚合功能、历史路线轨迹查询)
  • Linux--MQTT(二)通信基本原理
  • 【Python】Python 2 测试网络连通性脚本
  • CentOS 7 防火墙操作
  • github从入门到放弃(1)
  • Java,console输出实时的转向GUI textbox
  • Lsb图片隐写
  • PHP CLI应用的调试原理
  • React as a UI Runtime(五、列表)
  • React-生命周期杂记
  • spring + angular 实现导出excel
  • 盘点那些不知名却常用的 Git 操作
  • 前端相关框架总和
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 用Python写一份独特的元宵节祝福
  • 再谈express与koa的对比
  • 怎么把视频里的音乐提取出来
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​Python 3 新特性:类型注解
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (14)Hive调优——合并小文件
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (55)MOS管专题--->(10)MOS管的封装
  • (Java)【深基9.例1】选举学生会
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (翻译)terry crowley: 写给程序员
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (六)c52学习之旅-独立按键
  • (转)ORM
  • ***测试-HTTP方法
  • .gitignore文件忽略的内容不生效问题解决
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .net core 控制台应用程序读取配置文件app.config
  • .net core使用ef 6
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .NET4.0并行计算技术基础(1)
  • .NET6 开发一个检查某些状态持续多长时间的类