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

news/2024/12/22 7:05:25/

一、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: 反转查找,输出与查找条件不相符的行

在维护 Linux 操作系统的过程中,经常会遇到包含大量内容的配置文件,而其中往往包含了许多空行和以“#”开头的注释文字,当只需要分析其中的有效配置信息时,这些空行和注释文字的存在不利于快速浏览。使用 grep 命令可以过滤掉这些无关信息。例如,以下操作可以显示/etc/yum.conf 文件中以“#”开头的行和空行以外的内容。

grep -v "^#" /etc/yum.conf | grep -v "^$"

^是一个特殊字符,表示一行的开始

为什么在这两个grep表达式中都要加^呢?

  • 对于^#,如果不加^,那么任何包含#的行都会被匹配,而不仅仅是注释行(即那些以#开头的行)。
  • 对于^$,这个表达式用于匹配空行。空行就是那些没有任何字符(包括空格、制表符等)的行。^表示一行的开始,$表示一行的结束,所以^$就匹配那些开始和结束都在同一位置的行,即空行。

三、备份及恢复文档

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 命令。但是要注意这两个压缩工具的命令程序必须存在。
 


http://www.ppmy.cn/news/1469807.html

相关文章

学会python——读取大文本文件(python实例六)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、读取大文本文件 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强…

免费、开源、好用的 SQL 客户端合集

0、SQL Chat SQL Chat 是 2023 年 3 月推出的新型 SQL 客户端,它将数据库管理带入了基于聊天的新时代。 SQL Chat 由 ChatGPT 驱动,能够帮你编写和润色 SQL 语句,让数据库操作变得更加智能和便捷。 目前支持 MySQL、PostgreSQL 和 MSSQL 数…

深入理解java设计模式之单例模式

目录 概述单例模式是什么单例模式的使用场景单例模式的优缺点单例模式的几种实现方式饿汉式懒汉式双重检查锁定机制静态内部类枚举使用容器几种可能破坏单例类的方法多线程环境下的竞争条件使用反射机制使用序列化多个类加载器概述 单例模式是什么 定义:单例模式确保一个类在…

settings和toolchains.xml 区别用法配置

在 IntelliJ IDEA 中配置 Maven 项目时,settings.xml 和 toolchains.xml 的使用场景有所不同。以下是具体的使用情景和配置方法: 1. 使用 settings.xml 使用场景 全局或用户级别的配置:包括设置本地仓库位置、远程仓库、代理服务器、认证信…

unity跑酷游戏(源码)

包括:触发机关, 优化 fog的调试 效果 碰到障碍物游戏时间暂停(挂载到障碍物上) 上面需要有碰撞体 游戏物体上需要有标签 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Barri…

【原创】springboot+mysql社区住户综合管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

数仓开发那些事_番外

一位神州的正式员工(没错,就是之前文章中出现的实习生):一闪,你今年涨工资了吗? 一闪:mad,一年辛苦到头只涨了500米 神州员工:你去年绩效不是优秀吗,怎么就涨…

线上盲盒小程序:前景展望

在移动互联网的浪潮下,线上盲盒小程序作为一种新兴的购物模式,具有广阔的发展前景和潜力。以下是对线上盲盒小程序未来前景的展望: 一、市场规模持续扩大 随着消费者需求的不断增长和市场竞争的加剧,线上盲盒小程序的市场规模将持…