节点表结构 | 学习笔记

简介: 快速学习节点表结构。

开发者学堂课程【Linux文件管理命令:节点表结构】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/591/detail/8344


节点表结构

 

内容介绍

一、释放空间

二、{,.}文件备份命令

三、rename 文件改名命令

四、以- ~开头的文件

五、目录操作

六、练习

七、索引节点

 

一、释放空间

1)查看空间

[root@centos7 ~]# df  -h

空间使用情况如下,其中 /dev/sda1 使用17%1.png

2)在 boot 文件夹中快速创建大文件

[root@centos7 ~] # dd if-/dev/zero of =/boot/big file bs=1M count=800

此时空间使用如下, /dev/sda1 使用空间变成96%1.png

3)删除大文件,释放空间

[root@centos7 ~]# rm -f/boot/bigfile

4)假设有一个程序正在使用 bigfile 大文件,此时再次删除大文件,会发现 /dev/sda1 使用空间仍为96%,空间未被释放:

1   [root@centos7 ]# vim/boot/bigfile

2   [root@centos7 ]# rm -f/boot/bigfile

3   [root@centos7 ~]# ls /boot/bigfile(确认bigfile文件已删除)

ps:以上情况发生的原因是被删除的文件正在被其他程序访问,因此不会被立即删除,通过下列命令可以查看此类暂未被立即删除的文件:

[root@centos7 ]# lsofgrep deleted

5)当把程序关掉后,文件就会被立即删除。但有的程序如日志服务没法关掉,在这种情况下要想释放空间就可以采用以下方法:

1   [root@centos7 ]# vim/boot/bigfile

2   [root@centos7 ]# > /boot/bigfile(此时可以发现文件未被删除,但是文件大小变为0,空间也被释放了)

3   [root@centos7 ~]# rm -f/boot/bigfile

ps:关于> 的用法,用 > 文件名可以创建一个空文件,如果文件名存在则会覆盖并清空此文件,举例演示如下:

1   [root@centos7 ]# cd/data

2   [root@centos7 data]#ls

3   f10.conff1.conf f2.conf f3.conf f4.conf f5.conf f6.conf f7.conf f8.conf f9.conf

4   [root@centos7 data]# > file1

5   [root@centos7 data]# ll file1

6   -rw-r--r-- 1 root root 0 sep 24 22:03 file1

7   [root@centos7 data]# cp/etc/fstab file2

8   [root@centos7 data]# ll file2

9   -rw-r--r-- 1 root root 595 Sep 24 22:03 file2

10  [root@centos7 data]# > file2

11  [root@centos7 data]# 11 file2

12  -rw-r--r--1 root root 0 sep 24 22:03 file2

对于 >> 文件名 命令来说,如果文件名不存在,则创建一个新的空文件;如果文件名存在,原封不动,相较于> 文件名命令更加安全

1   [root@centos7 data]# >> file5

2   [root@centos7 data]#ll file5

3   rw-r--r-- 1 root root 0 Sep 24 22:04 file5

4   [root@centos7 data]#ll file4

5   rw-r--r-- 1 root root 595 Sep 24 22:04 file4

6   [root@centos7 data]#>>file4

7   [root@centos7 data]#ll file4

8   rw-r--r-- 1 root root 595 Sep 24 22:04 file4

 

二、{,.}文件备份命令

1   [root@centos7 data]#ls

2   f1.conf f10.conf f2.conf f4.conf f3.conf f5.conf f7.conf f6.conf f9.conf f8.conf file2 file3 file4 file5

3   [root@centos7 data]#cp file1{,.bak}

4   [root@centos7 data]#ls

5   f1.conf f10.conf f2.conf f3.conf f5.conf f4.conf f6.conf f7.conf f8.conf f9.conf file1 file1.bak file2 file3 file5 file4

cp file1{,.bak} 命令等价于 cp file1 file1.bak,前者比后者的好处在于当文件名很长时,前者更节省时间

 

三、rename 文件改名命令

之前学的 mv 文件改名命令一次只能改一个文件名,rename 命令可以批量改名

举例:将文件中以 conf 结尾的文件全部改成以conf.bak结尾

1   [root@centos7 data]#ls

2   f1.conf f10.conf f2.conf f3.conf f5.conf f4.conf f6.conf f7.conf f8.conf f9.conf file1 file1.bak file2 file3 file5 file4

3   [root@centos7 data]#rename conf conf.bak *.conf

4   [root@centos7 data]#ls

5   f1.conf.bak  f10.conf.bak f2.conf.bak  f3.conf.bak

f5.conf.bak f4.conf.bak  f6.conf.bak f7.conf.bak

f8. conf.bak  f9. conf.bak file1 file1.bak file2 file3 file5

file4

 

四、以- ~开头的文件

1)创建并删除以-开头的文件

1   [root@centos7 data]#touch ./-a. touch -- -a

2   [root@centos7 data]#rm./-a     或 rm -rf/data/-a  

2)创建并删除以~开头的文件

1   [root@centos7 data]#touch ‘~wang’ touch./~wang

2   [root@centos7 data]#rm -f ‘~wang’  或  rm./wang

 

五、目录操作

1tree 显示目录树

u -d:只显示目录

u -L level: 指定显示的层级数目

u -P pattern: 只显示由指定 pattern 匹配到的路径

举例:

1   [root@centos7 data]# tree/root

2   [root@centos7 data]#tree -L 1 /etcetc 文件层级比较多,可指定只显示一层)

3   [root@centos7 data]#tree -d /root(只显示 root 下的文件夹)

4   [root@centos7 data]#tree -P/etc/rc*(显示 etc 下所有 rc 开头的文件)

2mkdir 创建目录

u -p: 存在于不报错,且可自动创建所需的各目录

u -v 显示详细信息

u -m MODE: 创建目录时直接指定权限

举例:

1   [root@centos7 data]#mkdir dir1

2   [root@centos7 data]#mkdir dir1/dir2/dir3/dir4/ -Pdir1dir1dir3dir4均不存在,用P可一次性全部创建)

3rmdir 删除空目录

u -p: 递归删除父空目录

u -v: 显示详细信息

举例:

1   [root@centos7 data]#rmdir d1/d2/d3/d4(删除 dir4 文件)

2   [root@centos7 data]#rmdir d1/d/d3/ -p(若父目录为空,则会依次递归删除)

ps:需要注意的是,rmdir 只能删除空目录

4rm-r 递归删除目录树

 

六、练习

1)如何创建 /testdir/dir1/x/testdir/dir1/y/testdir/dir1/x/a, /testdir/dir1/x/b/testdir/dir1/y/a/testdir/dir1/y/b

[root@centos7 ]# mkdir -p/testdir/dir1/{x,y}/{a,b}

2)如何创建 /testdir/dir2/x/testdir/dir2/y,/testdir/dir2/x/a/testdir/dir2/x/b

[roo@centos7 ]# mkdir -pv/testdir/dir2/{x/{a,b},y}

3)如何创建 /testdir/dir3/testdir/dir4/testdir/dir5/testdir/dir5/dir6/testdir/dir5/dir7

[root@centos7 ]# mkdir -p/testdir/dir{3,4,5/dir{6,7}}

 

七、索引节点

u inode(index node) 表中包含文件系统所有文件列表

u 一个节点(索引节点)是在一个表项,包含有关文件的信息(元数据),包括:

ü  文件类型,权限,UIDGID

ü  链接数(指向这个文件名路径名称个数)

ü  该文件的大小和不同的时间戳指向磁盘上文件的数据块指针

ü  有关文件的其他数据

i [root@centos7 dir1 ]# df -i(显示可用节点)

空间用完了节点不一定用完了,节点用完了空间也不一定用完了;

空间和节点满了会提示 no space left on device,两者中任意一个用完了都会导致无法新建文件

u node节点表

u inode1.png

相关文章
|
10月前
|
机器学习/深度学习 人工智能 JSON
知识蒸馏方法探究:Google Distilling Step-by-Step 论文深度分析
大型语言模型(LLM)的发展迅速,从简单对话系统进化到能执行复杂任务的先进模型。然而,这些模型的规模和计算需求呈指数级增长,给学术界和工业界带来了挑战。为解决这一问题,知识蒸馏技术应运而生,旨在将大型模型的知识转移给更小、更易管理的学生模型。Google Research 提出的“Distilling Step-by-Step”方法不仅减小了模型规模,还通过提取推理过程使学生模型在某些任务上超越教师模型。该方法通过多任务学习框架,训练学生模型同时预测标签和生成推理过程,从而实现更高效、更智能的小型化模型。这为资源有限的研究者和开发者提供了新的解决方案,推动了AI技术的普及与应用。
557 19
知识蒸馏方法探究:Google Distilling Step-by-Step 论文深度分析
|
9月前
|
人工智能 Java 云计算
21.3亿次!阿里云支撑总台春晚实现史上最广覆盖!
21.3亿次!阿里云支撑总台春晚实现史上最广覆盖!
|
存储 安全 关系型数据库
第17章_其他数据库日志(2)
第17章_其他数据库日志
91 0
|
并行计算 数据可视化 Linux
FastDeploy 安装部署
FastDeploy 安装部署
2434 0
FastDeploy 安装部署
解决 Vuex 中异步问题:获取最新的 Token 值
解决 Vuex 中异步问题:获取最新的 Token 值
224 0
|
存储 供应链 Go
使用Go语言搭建区块链基础
使用Go语言搭建区块链基础
|
Serverless 容器
1 张图概括你的 2023 年丨AIGC 创意画作
1 张图概括你的 2023 年丨AIGC 创意画作
|
数据可视化 前端开发 JavaScript
可视化图形语法简介
在BI产品中,图表绘制一般分为两种流派,常见以分类学比如Excel选择图表分类,还有一种是图形语法。作为BI产品经理都要有所了解,下面是阿里云数据库前端团队对图形语法的大致介绍。
677 2
|
存储 数据采集 分布式计算
hadoop离线01--大数据导论、Apache Zookeeper
hadoop离线01--大数据导论、Apache Zookeeper
275 0