- 查看删除的文件,但空间没有被立即释放
df -h
dd if=/dev/zero of=/boot/bigfile bs=1M count=800
ll /boot/bigfile -h
rm -f /boot/bigfile
df
空间腾出来了,好像没有问题
dd if=/dev/zero of=/boot/bigfile bs=1M count=800
df
假设有个程序正在使用此文件
vim /boot/bigfile
rm -f /boot/bigfile
df 发现空间没有腾出来
ls /boot/bigfile 文件真删了
lsof |grep deleted 查看删除未释放空间的文件
- 清空文件,再删除文件,快速释放空间
/boot/bigfile
ll /boot/bigfile
rm -f /boot/bigfile
cp file1{,.bak} 备份文件
-
多文件重名
rename --help
rename conf conf.bak *.conf -
其他字符文件的创建与删除
touch '~wang'
touch ./~wang -
目录操作
tree /root
tree -L 2 /root
tree -d /root 只显示文件夹
ls /etc/rc*
tree -P /etc/rc* -
建立文件夹
mkdir dir1
mkdir dir1/dir2/dir3/ -p 创建多文件 -
删除空文件夹
rmdir dir1/dir2/dir3/ -p 空了自动删除父目录 -
索引节点
文件名 文件内容 文件元数据
元数据中有个很关键的内容:节点 inode number 分区中唯一
ls -i
df
操作系统看文件是不是一样,看的就是节点号。不会跟人一样看文件名
这些文件属性存放的地方有个表,称为节点表
一个分区分成了两部分:一部分是inode节点表,一部分是放数据的真正空间
上图中,指针直接就指向了数据块
实际上没那么直接,有可能用到了间接指针
-
直接指针12个(大致的数量,不精确到具体哪个文件系统)
-
间接指针
文件越大间接指针就越多,找起来就慢一点
ll -i
rm f1 这个文件删了,节点号就没人用了
ls -i
touch f3 f3就用上了前面的节点号
df -h 查分区大小
df -i 查节点号数量
空间满了或者节点号没了,都会出现空间不足
touch f{1..524288} 参数太多建不了
echo f{1..524288}| xargs touch 这样可以建立
rm 文件名删了 inode号回收了 磁盘数据区没删
!dd 执行历史中的dd开头的命令