Linux文件的删除和软硬链接
文件的构成
由元数据(metadata)和数据(data)两部分组成
硬盘分区上一块空间存该分区上文件的元数据,一块空间存这些文件的数据
因为元数据和数据分离存放,所以需要通过指针地址来进行关联
元数据: 存放文件的属性信息
存放每个文件的元数据信息: innode表
元数据信息包括:
- inode number 节点号
- 文件大小、类型、权限
- UID、GID
- 所有者、所属组
- 文件时间戳(三个)
- 链接数
节点编号:每个文件的唯一标识,innode number (ls -i 可以查看inode编号)
df -i --- 每个空间可用得节点编号数量,不同分区得节点编号不干扰
数据: 存放文件真正的数据
磁盘上存放数据空间的分配单位:块(block),默认大小为4kb。 一个文件的数据部分由若干个块来存放。
inode表和数据部分通过指针地址进行关联(指针是保存了别人地址值的一个变量)
目录文件的组成:
目录文件是一个特殊的文件
两部分组成
- 元数据 -- 存放属性信息
- 数据块:数据块存放的是文件列表(inode table)和inode number之间的映射关系
删除目录中的文件:
把目录文件的数据块部分的文件列表和文件的节点编号的映射关系删除。
创建文件
1.系统分配空闲的节点编号
2.系统在存放元数据信息的空间添加上对应的该文件的元数据信息
3.在存放数据的空间分配指定大小的空间给该文件存放数据
解决磁盘空间不足的问题
方法一:
1.直接删除占用大的文件,但是若是这个文件被其他进程使用,即使删除了文件但是空间仍然没有被释放。
2. lsof | grep delete --- 照到被删除的文件,看他被那个进程占用,使用kaill关闭这个进程就行了
方法二:
使用重定向创建一个空文件去替换原有的文件---cat /dev/null > 指定文件
创建文件出现空间不够的问题
1.磁盘分区的节点号 inode用完了 可以使用 df -i 进行查看
2.分区的空间真的占用满了 使用df -h 进行查看
软硬链接
硬链接
硬链接:一个文件多个文件名
创建完硬链接后 权限后面的数字会显示这个文件的文件名个数 --- 连接数表明有几个文件名
链接数:

硬链接特点:
- 不能跨设备、跨分区
- 可以通过多种路径访问到文件
- 不允许对目录文件创建硬链接
- 每创建一个硬链接 链接数就加1
注意:
不允许对目录文件创建硬链接,目录文件链接数2的来源:
一个是自己本身的名字,一个是目录文件里面的点(.)
软(符号)链接
和源文件非同一个文件、源文件链接数没有变、创建的文件类型和源文件不一样
特点:
- 软链接和源文件不是同一个文件(不像硬链接一样)
- 创建软连接后,源文件的连接数没有变化
- 软连接的文件大小和源文件没有关系,软连接的大小就是源文件路径字符的大小
- 软链接支持跨设备和目录文件创建软链接
删除源文件后,软连接就不能使用了
允许跨分区进行操作、且支持给目录文件创建链接
以相对路径创建软链接:
- 创建软链接时,如果源文件使用相对路径,则这个路径应该相对于软链接文件的相对路径,而不是相对于自己本身
- 创建一个软连接到一个目录下,没有指定软连接的名字,那么软连接的名字和源文件名一致
Linux文件的删除和软硬链接的更多相关文章
- linux学习(四)复制(cp)移动(mv)删除(rm)查找(find)文件、文件夹操作、软硬链接的区别
目录 复制文件 mv命令 rm命令 touch 命令 file命令 find命令 grep命令 mkdir命令 rmdir命令 @(复制移动删除查找文件.软硬链接的区别) 复制文件 cp命令用于复制文 ...
- Linux文件的软链接和硬链接
1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link).还有一种被称为符号链接(Symbolic Link).默认情况下.ln命令产生硬链接. 1.1索引节点 索引节点是 ...
- Linux运维学习笔记-软硬链接知识总结
文件链接 硬链接,通过索引节点来进行链接 硬链接原理图 硬链接的创建: 直接执行命令“ln 源文件 硬链接文件”,即可完成创建硬链接. 硬链接知识小结: 1.具有相同Inode节点号的多个文件是互 ...
- linux文件描述符、软硬连接、输入输出重定向
引用链接:https://blog.csdn.net/qq769651718/article/details/79459346 文件描述符的作用: 文件描述符是linux操作系统中特有的概念.其相当于 ...
- linux 文件已经删除,但是空间没有释放的原因
监控系统报告一台服务器的空间满了,登陆后发现/tmp下有大量access_log文件,分析是Apache的日志文件很久没有清理了,确认并执行删除操作. 但是,问题来了,执行 rm /tmp/acces ...
- Linux文件被删除后恢复
当ext4中的文件被删除后,进行文件恢复:http://www.360doc.com/content/18/0320/08/51898798_738625260.shtml上面的博客是恢复删除的文件, ...
- linux文件夹删除、创建
一.删除文件夹 rm -rf ./html2imag 二.创建文件夹 mkdir html2image
- NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理
Linux的文件种类与扩展名 一.文件种类:1.普通文件(regular file)第一个字符为[ - ]包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内 ...
- 软硬链接、文件删除原理、linux中的三种时间、chkconfig优化
第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如何创建硬链接 ln 命令,前面是源文件 ...
随机推荐
- 重定向管道流读取TXT文本第一次读取为""空字符串、type xxx.txt | go run . 报错、BOM头、[239,186,191] 字节数组
重定向管道流读取TXT文本第一次读取为""空字符串.type xxx.txt | go run . 报错.BOM头.[239 186 191] 字节数组
- NodeJS学习day1
今天主要学习的IO操作 const fs = require('fs') fs.readFile('./files/11.txt','utf-8',function(err,daraStr){ //读 ...
- Educational Codeforces Round 121 (Rated for Div. 2)——A - Equidistant Letters
A - Equidistant Letters 题源:https://codeforces.com/contest/1626/problem/A 今天上午VP了这场CF,很遗憾的是一道题也没写出来,原 ...
- 2021.05.14 tarjan
2021.05.14 tarjan 标准版tarjan 这里使用数组来模拟栈 void tarjan(int x){ ++ind; dfn[x]=low[x]=ind; stacki[++top]=x ...
- OrchardCore Headless建站拾遗
书接上回,OrchardCore的基本设置写了,但是有一说一,这个东西还是挺复杂的,如果需要构建一个简单的企业网站,还需要干点别的活. 本文考虑在尽量少编程的基础上,完成一个Headless网站的设置 ...
- jmeter脚本编写
jmeter脚本编写 一.http协议接口编写注意事项 1.请求体为json格式:一定要写请求头Content-Type:application/json 2.json格式文本 2.1 key-val ...
- Django-ORM-连表正反操作
一.A表男生,B表女生,C表关系 1通过A表查与某个男生有关系的所有女生 思想1:在A表中确认男生后,通过反查到C表,获取相关内容(QuerySet),然后再跨到B表获取所有女生信息. obj=mod ...
- FreeRTOS --(5)内存管理 heap4
FreeRTOS 中的 heap 4 内存管理,可以算是 heap 2 的增强版本,在 <FreeRTOS --(3)内存管理 heap2>中,我们可以看到,每次内存分配后都会产生一个内存 ...
- 自己的~/.vimrc
" 语法高亮syntax on " 搜索高亮set hlsearch " 显示行号set number" let mapleader="," ...
- 做SaaS的程序员们,是时候关注企业架构了
SaaS赛道是一个超大赛道,足够容纳上万家服务商,不太可能有哪个服务商能满足所有场景,大部分SaaS服务商在某个垂直领域,提供差异化的产品和服务.SaaS产品大部分都是面向B端客户,少部分面向C端客户 ...