Linux文件属性和打包压缩详解

news2024/11/26 15:27:55

1、文件属性体系

1.1 文件系统概述

[root@yunwei /]# ls -lhi
总用量 72K
  3505 lrwxrwxrwx.   1 root root    7 37 2019 bin -> usr/bin
262152 dr-xr-xr-x.   5 root root 4.0K 1219 16:00 boot
399635 drwxr-xr-x    2 root root 4.0K 115 2019 data
  1026 drwxr-xr-x   19 root root 3.0K 17 16:14 dev
262147 drwxr-xr-x.  95 root root  12K 124 13:02 etc

在这里插入图片描述

硬链接与文件之间共享相同的 inode(索引节点)和 block(数据块),因此它们的 inode 数值和数据块是相同的。

1.2 inode与block部分

大概了解:inode和block含义即可

inode索引节点,inode号码类似于身份证号码,通过inode号码 可以找到文件的内容.

1)inode和block关系

inode是一个空间,inode号是空间的位置,类似于身份证,inode空间存放:

  • inode空间中存放的是 文件属性信息 ,文件大小,修改 时间,权限,所有者
  • inode空间中存放block的位置(指向文件实体的指针)
  • 这里不存放文件名.

block块(数据块):存放数据

用户访问查看test.txt文件内容的流程:

1.用户访问text.txt的时候,系统会找出他对应的 inode空间(根据inode号码)。

2.访问来到inode空间后,确认用户,确认权限。

3.权限信息正确就准许通过,可以访问inode对应的 block区域(数据)。

在这里插入图片描述

2)inode和block特点
  • inode索引节点,存放文件属性信息,block存放位置。
  • 每创建1个非空文件至少占用1个inode,1个block,一般文件都要有1个inode。
  • 1个block默认是4k.
  • inode,block数量是在格式化的时候创建的。
  • 正常情况下block的使用会更快创建小文件不足4k,1个block还有剩余空间,单无法给其他文件使用
  • 创建文件大于4k,占用多个block。
3)如何查看

查看block使用情况:(平时说的磁盘空间/磁盘空间使用情况)

df -h

查看inode使用情况;

df -i
4)拓展 如何查询磁盘更详细的信息

df -h

  • 功能:用于显示磁盘空间使用情况。
  • 输出:列出文件系统的使用情况,包括文件系统的总大小、已用空间、可用空间、使用率以及挂载点等信息。

lsblk

  • 功能: 用于显示块设备的信息,包括硬盘、分区和挂载点。
  • 输出: 列出块设备的层次结构,显示每个设备的大小、挂载点等信息。

blkid

  • 功能: 用于显示块设备的 UUID 和文件类型。
  • 输出: 列出每个块设备的 UUID、文件系统类型以及其他标识信息。
[root@yunwei ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        1.8G     0  1.8G    0% /dev
tmpfs           1.9G   24K  1.9G    1% /dev/shm
tmpfs           1.9G  532K  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/vda1        50G  8.7G   39G   19% /
tmpfs           370M     0  370M    0% /run/user/0
[root@yunwei ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 223.4M  0 rom  
vda    253:0    0    50G  0 disk 
└─vda1 253:1    0    50G  0 part /
[root@yunwei ~]# blkid
/dev/sr0: UUID="2023-12-19-15-59-55-00" LABEL="config-2" TYPE="iso9660" 
/dev/vda1: UUID="4b499d76-769a-40a0-93dc-4a31a59add28" TYPE="ext4" 

重要:文件名是存放在目录的block中的。没有存放在inode中,所以文件名不是文件属性

1.3 文件类型部分

1)Windows与Linux文件类型区别

windows下面通过扩展名的区分不同文件类型,如果扩展名修windows下面通过改则无法使用。 Linux下面扩展名仅仅用于展示,随意修改,虽然Linux不区分扩展名,但是推荐创建文件的时候给他加上.

常用的扩展名说明
.txt普通文件
.sh .bashshell文件
.conf .cfg .xml .yaml .yml配置文件
.pypython脚本文件
2)Linux文件类
Linux常见文件类型含义
-文件 file
d目录 directory
l软连接,类似于Win的快捷方式
c字符设备 char
b块设备 block 硬盘
s套接字 socket
p管道文件

详细文件类型

txt 普通文本;data 数据文件;二进制文件 大部分都是命令。

file
#查看文件的详细类型

1.4 软硬链接​​​​​​​​​​

软链接:类似于windows中快捷方式,也是一种文件;用于存放源文件的路径(位置+名字),应用最多

硬链接:在同一个分区中,不同的文件的inode号码相同了,这些文件互为硬链接,很少使用

ln(link)创建软连接或硬链接,默认创建软链接

软链接格式 ln -s 源文件 软连接文件

#案例一 创建软连接
[root@yunwei ~]# touch 1.txt 
[root@yunwei ~]# ll
总用量 8
-rw-r--r-- 1 root root   0 125 18:39 1.txt
[root@yunwei ~]# ln -s 1.txt 2.txt
[root@yunwei~]# ll
总用量 12
-rw-r--r-- 1 root root   5 125 18:39 1.txt
lrwxrwxrwx 1 root root   5 125 18:40 2.txt -> 1.txt

温馨提示: 如果源文件被删除或改名或移动走,软连接会如何? 红色闪烁
在这里插入图片描述

硬链接格式 ln 源文件 硬链接文件

[root@yunwei ~]# ln 1.txt yinglink
[root@yunwei ~]# ll -i |grep 84
393584 -rw-r--r-- 2 root root  16 125 18:40 1.txt
393584 -rw-r--r-- 2 root root  16 125 18:40 yinglink
  • 啥意思

    • 软连接(符号链接)softlink/symlink,类似于windows快捷方式,存放源文件的位置。
    • 硬链接:同一个分区中inode号码相同的文件,互为硬链接。
  • 咋来的

    • 软连接通过ln -s创建,硬链接通过ln创建
  • 特点

    • 软件连接是比较常用的,可以给文件,目录创建.
    • 硬链接只能给文件创建,不能跨分区,无法给目录创建硬链接,较少使用。
  • 咋没的

    • 删除软连接,源文件不受影响。
    • 删除源文件,软连接无法使用,红底白字闪烁
    • 删除硬链接,源文件,软连接无影响.
    • 删除源文件和硬链接,这个文件就被删除了

那么硬链接删除其中一个文件,另一个能否正常使用

当你使用硬链接创建多个文件时,它们实际上是指向同一个 inode(索引节点)的不同文件名。inode 包含文件的元数据信息和指向数据块的指针。硬链接只是在目录中创建了一个额外的文件名,而不创建新的 inode。

如果你删除一个硬链接,实际上只是减少了 inode 记录的链接计数。只有当链接计数减为零时,文件才会被真正删除。因此,删除其中一个硬链接并不会影响其他硬链接,因为它们仍然指向相同的 inode。

所以答案是:是的,当删除硬链接中的一个文件,其他硬链接仍然能够正常使用,因为它们共享相同的 inode 和数据块。

1.5 文件大小

1.查看文件大小

ll -h 

2.查看目录大小

du -sh /etc/
-h 人类可读取形式
-s 不要显示目录所有子目录,只显示汇总信息。

类似于windows中文件夹属性

在这里插入图片描述

du -sh /etc/ls -ld /etc/ 的区别是什么?

du -sh /etc/查看指定目录及其子目录的磁盘使用情况

ls -ld /etc/查看目录本身的大小等信息

[root@yunwei ~]# ls -ld /etc/ 
drwxr-xr-x. 95 root root 12288 127 10:06 /etc/
[root@yunwei ~]# ls -lhd /etc/ 
drwxr-xr-x. 95 root root 12K 127 10:06 /etc/

1.6文件时间​​


stat #查看文件的属性信息+文件名

在这里插入图片描述

Linux文件时间说明
mtimemodify 修改时间,最常用 (修改内容)
atimeaccess 访问时间
ctimechange 文件属性的变化时间 (修改权限)

在这里插入图片描述

2、案例实战-一个基于软连接服务升级流程​​​​​​

未来可以设计基于软连接的升级与回滚流程

  • 升级:删除旧的软连接,创建软连接指向新的版本即可
  • 回滚:删除旧的软连接,创建软连接指向旧的可用的版本即可

3、打包压缩

运维的日常工作中,我们需要备份文件,备份某一个目录中的文件,这时候使用cp等命令不行了。 占用空间巨大,避免空间浪费,选择打包压缩目录实现备份的目的。

未来:备份单个文件就是cp即可,备份多个文件或目录推荐使用打包压缩。

3.1 概述

压缩命令应用场景
tar大部分场景使用tar即可,创建、查看、解压、解压到指定目录核心使用
gzip一般配合其他命令使用
zip一般用于解压zip格式的压缩包unzip目前会使用unzip

3.2 tar

tar命令选项说明
创建压缩包 zcftar zcf 压缩包 被压缩的文件/目录
解压 xftar xf /tmp/etc.tar.gz
解压到指定目录 -Ctar xf /tmp/etc.tar.gz -C /mnt/
查看 tftar tf /tmp/etc.tar.gz
v 显示过程(一般不加)
c 打包
z 压缩
f 指定压缩包
1)其他格式

zcf

  • z使用gzip进行压缩,压缩包以.tar.gz结尾
  • j 使用bzip2进行压缩,压缩包以.tar.bz2结尾
  • J使用xz进行压缩,压缩包以.tar.xz结尾(压缩尺度最大)

tf 无论什么格式,.tar.gz .tar.bz2 .tar.xz

xf 无论什么格式,.tar.gz .tar.bz2 .tar.Xz.

2)忽略的警告

tar警告⚠️:从成员名中删除开头的"“/”

tar: Removing leading "/" from member names

结论:是个警告而已,可以忽略

由来:

  • 这个是tar命令的安全保护机制
  • 提示出现的原因,我们打包的目标目录或文件是绝对路径。
  • 把我们使用的绝对路径转换为相对路径
  • 为了防止压缩包中保留绝对路径,解压的时候可能发生覆盖,导致数据,配置丢失

3.3 gzip

创建gz压缩包

gzip test.txt
ll test.txt.gz

解压

gzip -d test.txt.gz

3.4 zip/unzip

专门处理.zip格式的压缩包,.tar无法处理

.zip格式是windows和linux共同支持格式

如果没有请安装yum install -y unzip

压缩
zip -r test.zip /root/test
-r 用于压缩目录
​
解压
unzip test.zip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2063168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】二叉树基础知识

0. 前言 在前面几期博客,我们已经学习过了各种线性的数据结构,顺序表、链表、栈、队列, 本期博客我们一起来学习一种非线性的结构——树 1. 树的概念及结构 1.1 树的概念 树是一种非线性的数据结构,它是由n(n>…

学习嵌入式第二十九天

ipc进程间通信方式 PC,即进程间通信(Inter-Process Communication),是操作系统中不同进程之间交换数据的一种机制。以下是一些常见的IPC方式: 管道:用于父子进程或兄弟进程之间的通信。消息队列&#xff…

火绒一键修复所有dll缺失?教你快速修复dll错误问题

你的电脑是否遇到过dll文件缺失的状态?那么应该如何将dll文件进行修复,不知道大家有没有听过火绒和电脑dll修复工具一键修复所有的dll缺失?今天我们就来了解一下如何使用火绒和电脑dll修复工具修复电脑错误dll文件丢失的问题。 dll是什么&…

海南云亿商务咨询有限公司靠谱不?

在这个短视频与直播浪潮席卷而来的时代,抖音电商以其独特的魅力迅速崛起,成为无数商家争相入驻的新战场。作为这一领域的佼佼者,海南云亿商务咨询有限公司凭借其专业的服务、前瞻性的视野和实战型的策略,正引领着一批又一批的商家…

【C语言进阶】数据如何安家?C语言内存中的存储艺术深度解析

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C语言 “ 登神长阶 ” 🤡往期回顾🤡:C语言调试 🌹🌹期待您的关注 🌹🌹 ❀C语言数据在内存中的存储 &#…

如何应对突发技术故障和危机:开发团队的应急策略

开发团队如何应对突发的技术故障和危机? 在数字化时代,软件服务的稳定性对于企业至关重要。然而,即使是大型平台,如网易云音乐,也可能遇到突发的技术故障。网页端出现502 Bad Gateway 报错,且App也无法正常…

云计算day30

1. 配置⼀主⼆从mysql57 1. mycat对mysql8不完全⽀持 2. mysql8主从问题不⼤ get_pub_key1 1. gtids事务复制 2. 删除/etc/my.cnf 3. 同步data⽂件需要先停⽤mysql服务,删除data⽬录中的 auto.cnf 4. gtid模式以及经典模式都需要锁表 flush tables with rea…

6 - Linux PXE高效批量网络装机

目录 一、PXE概述 1.简介 2.优点 3.前提条件 二、搭建PXE远程安装服务器 三、实现Kickstart无人值守安装 一、PXE概述 1.简介 PXE(Preboot eXcution Environment)预启动执行环境,是由Intel公司开发的网络引导技术,工作在Cl…

工业4G路由器

设备概述 路由器是基于4G 技术研发的无线路由网关设备,除了具备传统路由器 的 VPN 、防火墙、 NAT 、 PPPoE 、 DHCP 等功能之外,还能支持 4G 无线拨号,提供最高可达 150Mbps 的无线高速带宽。路由器支持四个以太网接口,可更好…

招募活动投稿展示 | 感受科技温度,从一个 LLM 应用开始

活动介绍 谷歌开发者招募活动是专为 Google 技术的爱好者及开发者们开展的活动,旨在鼓励大家通过多种形式 (文章/视频/coding 等) 创作与 Google 技术相关的讲解分享、实践案例或活动感受等内容,展示代码、框架、平台在真实世界中的生动表现,…

【Win开发环境搭建】Redis与可视化工具详细安装与配置过程

🎯导读:本文档提供了Redis的简介、安装指南、配置教程及常见操作方法。包括了安装包的选择与配置环境变量的过程,详细说明了如何通过修改配置文件来设置密码和端口等内容。同时,文档还介绍了如何使用命令行工具连接Redis&#xff…

商品数据获取api接口:电商API接口助力内部平台商品定价!

对于很多电商内部平台来讲,品牌方在为内部平台的商品定价时,通常会获取主流电商平台的商品数据以供参考,具体来看,这主要涉及以下步骤: 选择合适的API接口服务商。电商API接口能够提供来自多个主流电商平台的商品数据…

06--kubernetes.pod管理与投射数据卷

前言:上一章记录了部署k8s常用的两个方式,这一章就简单一些,整理一下k8s资源对象的配置和管理命令。 1、集群状态检查 前天搭建的环境,然后关机了两天今天开启后第一时间需要检查集群环境是否正常 [rootk8s-master1 ~]# kubect…

【html+css 绚丽Loading】000012 五行伸缩杖

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

js禁用浏览器缩放

禁用crtl- &#xff0c;禁用crtl滚轮 但是不能禁用浏览器本身的设置 代码如下&#xff1a; <script> //luwenjie hualunwindow.addEventListener(mousewheel, function(event){if (event.ctrlKey true || event.metaKey) {event.preventDefault();}},{ passive: fals…

数学建模算法总结

数学建模常见算法总结 评价决策类模型 层次分析法 层次分析法根据问题的性质和要达到的总目的&#xff0c;将问题分解为不同的组成因素&#xff0c;并按照因素间的相互关联影响以及隶属关系将因素按不同层次聚集组合&#xff0c;形成一个多层次的分析结构模型&#xff0c;从…

Go 文件操作基本方法大全

前言 在Go语言中&#xff0c;操作文件主要依赖于标准库中的os和io/ioutil&#xff08;注意&#xff1a;io/ioutil在Go 1.16及以后版本中被逐步弃用&#xff0c;推荐使用io和os包中的函数进行替代&#xff09;以及io和bufio等包。以下是一些基于这些基本库操作文件的方法大全&a…

人工智能时代:哪些职业将被取代,哪些职业难以替代?

引言 人工智能&#xff08;AI&#xff09;作为现代科技领域最引人瞩目的创新之一&#xff0c;正以前所未有的速度改变着我们的生活和工作方式。从20世纪50年代AI概念的诞生&#xff0c;到21世纪初的机器学习突破&#xff0c;再到如今深度学习与大数据的结合&#xff0c;人工智能…

记一次在工作中发现的Esper引擎底层逻辑问题

一、问题描述 在最近工作过程中本人遇到客户反馈一个问题&#xff1a;在某SOC平台关联分析规则新建的规则语句能查询到相关日志&#xff0c;但无法触发规则告警。 规则语句大致为&#xff1a; 数据源 "IPS" and not 目的地址 belong 白名单 客户需求是对于IPS告警…

Arduino复制的方法快速搭建ESP32低版本2.0.10开发环境

Arduino复制的方法快速搭建ESP32低版本2.0.10开发环境 1.概述 这篇文章介绍如何使用复制安装包的方式快速搭建好ESP32开发环境&#xff0c;而且是指定的2.0.10低版本。 2.搭建开发环境 1.下载安装包 首先在百度网盘下载ESP32安装包 通过百度网盘分享的文件&#xff1a;esp…