博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux学习记录--文件系统简单操作
阅读量:4212 次
发布时间:2019-05-26

本文共 3254 字,大约阅读时间需要 10 分钟。

文件系统简单操作

磁盘的容量查看df

目录的容量查看du

连接文件ln

 

 

磁盘的容量查看(df)

语法:df[-ahikhtm] 目录或文件名

选项与参数:

-a:列出所有的文件系统,包括系统特有的proc等文件系统

-k:以KB为单位显示

-m:以MB为单位显示

-h:以GB,MB,KB等格式显示

-H:以M=1000K 代替M=1024K显示

-T:连同该分区的文件系统名称一起列出

-i:以inode的数量来显示

举例:

[root@localhost ~]# df -hT文件系统      类型    容量  已用 可用 已用% 挂载点/dev/sda2     ext3    9.5G  4.2G  4.9G  47% //dev/sda3     ext3    4.8G  138M  4.4G   4% /home/dev/sda1     ext3     99M   12M   83M  13% /boottmpfs        tmpfs   1014M     0 1014M   0% /dev/shm/dev/sda6     ext3    1.9G   42M  1.8G   3% /mnt/sda6.host:/     vmhgfs     77G   57G   21G  74% /mnt/hgfs[root@localhost ~]# df -ihT文件系统      类型     Inode (I)已用 (I)可用 (I)已用% 挂载点/dev/sda2     ext3      2.5M    168K    2.3M    7% //dev/sda3     ext3      1.3M      22    1.3M    1% /home/dev/sda1     ext3       26K      35     26K    1% /boottmpfs        tmpfs      219K       1    219K    1% /dev/shm/dev/sda6     ext3      247K      11    247K    1% /mnt/sda6.host:/     vmhgfs         0       0       0    -  /mnt/hgfs

目录的容量查看(du)

 

语法:du[-ahskm] 目录或文件名

选项与参数:

-a:列出所有文件与目录容量

-h:以G/M容量格式显示

-s:列出总量,不在列出目录下面文件量

-S:不包括子目录下的统计()

-k:以KB为单位显示

-m: 以MB为单位显示

举例:

[root@localhost ~]# du 8       /bin6       /boot1       /dev…216     /tmp4077    /usr99      /var[root@localhost ~]#

连接文件ln

语法:ln [-sf]源文件 目标文件

选项与参数:

-s:如果不加任何参数默认是hardlink ,加上-s 是symboliclink

-f:如果目标文件存在,就主动将目标文件删除后创建

 

Hard link(硬连接)

Hard link只是在某个目录下新建一个文件名连接到某个inode上

 

说明:

1.      创建文件F1,文件系统为其分配一个INODE(F1I)和若干IBLOCK, 此时连接到INODE(F1I)只有F1因此INODE(F1I)连接数为1

[root@localhost ~]# touch f1[root@localhost ~]# ll -i f1846433 -rw-r--r-- 1 root root 0 02-24 09:33 f1

2.      创建F1的Hard Link FH1, Hard link并不会分配新的INODE和 IBLOCK,只是将文件名连接都F1的INode上

[root@localhost ~]# ln f1 fh1[root@localhost ~]# ll -i f1 fh1846433 -rw-r--r-- 2 root root 0 02-24 09:33 f1846433 -rw-r--r-- 2 root root 0 02-24 09:33 fh1

 可以看到inode有1变成了2,INODE所指向的文件现在是f1,fh1,指向的数据还是以前的那份iblock

硬连接的好处:

1.不会创建新的INODE和iblock

2.硬连接文件或源文件删除不会影响其他(删除只是接触inode与文件的连接关系,猜想只要连接数不为0,就不会删除)

Symbolic link

symbolic link创建的文件时一个独立的新文件会占用一个新的INODE和若干iblock

 

说明:

1.      创建文件F2,文件系统为其分配一个INODE(F2I)和若干IBLOCK, 此时连接到INODE(F2I)只有F1因此INODE(F2I)连接数为1

[root@localhost ~]# touch f2[root@localhost ~]# ll -i f2846434 -rw-r--r-- 1 root root 0 02-24 09:49 f2

2.  创建F2的符号文件F2S, 文件系统会分配一个新的INODE(F2SI)和若干IBLOCK给F2S

[root@localhost ~]# ln -s f2 f2s[root@localhost ~]# ll -i f2 f2s846434 -rw-r--r-- 1 root root 0 02-24 09:49 f2846435 lrwxrwxrwx 1 root root 2 02-24 09:51 f2s -> f2

可以看到f2,f2S的INODE不是同一个,并且连接数都是1.说明他们是不同的独立文件,但是f2S对f2进行符号链接的呢?原因就是f2s的iblock其大小为2,记录就是f2的文件名。因此可以这样理解,\

1.      f2s对应的INODE(F2SI)记录了iblock编号

2.      iblock里记录了F2的文件名

3.      通过F2的文件名就可以找到F2对应的INODE和iblock

所以加入我们删除了F2 那么F2S就无法再开启,印在F2S需要去讯在F2这个文件,此时已经被删除了

[root@localhost ~]# rm -f f2[root@localhost ~]# cat f2scat: f2s: 没有那个文件或目录

目录的连接数量

当我们创建一个目录是默认会在这个目录下创建两个隐藏文件“.与..” 其中.指的是本层目录..指的是上层目录

[root@localhost ~]# ll -id /tmp745569 drwxrwxrwt 26 root root 409[root@localhost ~]# cd /tmp[root@localhost tmp]# mkdir newdir[root@localhost tmp]# ll -id /tmp /tmp/newdir 745569 drwxrwxrwt 27 root root 4096 02-24 10:05 /tmp1008319 drwxr-xr-x  2 root root 4096 02-24 10:05 /tmp/newdir

由上面可以看出

1.      在未创建newdir是,tmp文件夹对应INODE的连接数26

2.      当创建newdir后,系统默认创建“.与..”文件,一个指向自己,一个指向上一层(/tmp)

3.      “.与..”文件都是以硬链接的方式连接,因此可以看到此时,tmp文件夹对应INODE连接数27,newdir的连接数为2(一个是newdir连接,一个是“.”连接)

转载地址:http://sbumi.baihongyu.com/

你可能感兴趣的文章
MSM8X60 USB控制器流程分析
查看>>
sd卡驱动分析之card
查看>>
sd卡驱动分析之core
查看>>
sd卡驱动分析之host
查看>>
sd卡驱动分析之相关硬件操作和总结
查看>>
好的播文
查看>>
linux dd命令解析
查看>>
linux find命令详解
查看>>
S3C2440上touchscreen触摸屏驱动
查看>>
ARM-Linux驱动-触摸屏驱动分析
查看>>
GPIO的上拉电阻的作用
查看>>
kernel power off流程分析
查看>>
Qualcomm pmic充电流程分析(msm8660)
查看>>
web开发了解
查看>>
android switch模块
查看>>
linux内核中container_of
查看>>
USB History Viewing
查看>>
Android 关机流程分析-案例高通平台
查看>>
android restart reason机制
查看>>
linux cpufeq相关知识
查看>>