节点表结构 | 学习笔记

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

开发者学堂课程【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

相关文章
|
6月前
|
存储 缓存 NoSQL
关于数据库分片我们需要知道的
本文探讨了数据库分片的解决方案,强调了数据库分片在数据存储规模增长时的实用性。分片是将数据分布到多台机器上的技术,通过横向扩展和纵向扩展实现。文章还详细介绍了数据库分片的四种主要实现方式:什么都不做、垂直扩展、复制和专用数据库。每种方式都有其优点和限制,例如,垂直扩展可能需要更多的硬件资源,而复制可以提高读取性能,但可能需要更多的存储空间。最终,选择数据库分片方案应根据问题的复杂性和资源可用性来决定。
112 1
关于数据库分片我们需要知道的
|
4月前
|
SQL 数据处理 定位技术
数据库基础(二):数据库表创建、修改、复制、删除与表数据处理
数据库基础(二):数据库表创建、修改、复制、删除与表数据处理
103 2
|
4月前
|
SQL 前端开发 关系型数据库
MYSQL基础之【创建数据表,删除数据表】
MYSQL基础之【创建数据表,删除数据表】
39 0
|
SQL 存储 关系型数据库
OushuDB 创建和管理表的基本结构之表的基本概念
OushuDB 创建和管理表的基本结构之表的基本概念
50 0
|
JSON 监控 数据可视化
Navicat数据同步,主键重复无法插入
Navicat是一个非常好用的可视化mysql管理软件(其他数据库也有对应版本的支持) 它拥有非常丰富的功能,结构同步、数据同步、数据传输、进程监控、数据导出导入等等 但这是一个付费软件,新用户可以免费试用,这个问题是笔者在以前试用处理数据的时候遇到的。
360 0
Navicat数据同步,主键重复无法插入
|
关系型数据库 中间件 MySQL
MyCat分库分表之逻辑库、逻辑表及分片规则
MyCat分库分表之逻辑库、逻辑表及分片规则
128 0
MyCat分库分表之逻辑库、逻辑表及分片规则
|
存储 SQL 关系型数据库
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)
存储数据是处理数据的第一步 。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)
|
Oracle 关系型数据库 数据库
OGG重新同步表
OGG在线重新同步表的步骤
227 0
|
存储
Clickhouse-基本操作之引擎与表的创建
表引擎资料参考:https://clickhouse.com/docs/zh/engines/table-engines/
499 0
|
存储 SQL NoSQL
OushuDB 表介绍
OushuDB表由行(rows)和(columns)组成。每一个列有一个列名和一个数据类型,一个表的列数和列的顺序是固定的。一个表的行数是可变的。SQL并不假设表中行的顺序。当读一个表时,除非显示要求排序,返回的行会以任意顺序出现。另外,SQL并不给每一行一个唯一标志符,所以,一个表中具有同样几个同样的行是可能的。
124 0
OushuDB 表介绍

热门文章

最新文章