Linux文件/目录管理(高级)
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux文件/目录管理(高级)相关的知识,希望对你有一定的参考价值。
Linux文件/目录管理(高级)
前言
Linux
将一个磁盘划分为不同的分区,每个分区可以有不同的格式,Linux
用的系统格式有ext2
、ext3
和ext4
。
Linux
能够识别大多数的文件系统格式,包括Windows
的系统格式,但是Windows
无法直接识别Linux
系统格式。
为解决文件的共享使用,Linux系统引入了两种链接:硬链接(hard link)
与软链接(又称符号链接,即soft link或symbolic link)
。使用链接的好处可以提高磁盘使用率和文件的安全。
Linux
中为了实现不同格式的文件系统可以同时访问,Linux
采用的挂载的方法将不同格式的文件系统组织起来。
Linux文件/目录相关命令操作(df、du)
在Windows
系统上查看磁盘的使用情况比较容易,直接打开我的电脑即可看到该磁盘使用情况,而在Linux
上没有像Windows
那么强大的图像化界面,那么要想查看Linux
下磁盘的使用情况该如何操作。
我们将通过简单的几个命令就可以实现查看Linux
磁盘的使用情况。
df 命令详解
df
命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB
。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
具体命令如下:
df 命令参数 参数
常用参数如下:
-a或--all
:包含全部的文件系统,包括系统特有的/proc等文件系统;-k
: 以KB为单位显示各文件系统;-m
: 以MB为单位显示各文件系统;-h
: 以可读性较高的方式来显示信息;-i或--inodes
:显示inode的信息。
案例演示一:
查看系统所有磁盘设备,默认是KB
为单位,可以使用如下命令:
df
案例演示二:
使用-h
选项以KB
以上的单位来显示,可读性高,可以使用如下命令:
df -h
案例演示三:
将/etc
目录下的可用的磁盘容量以易读的格式显示出来,可以使用如下命令:
df -h /etc
du 命令详解
du
命令也是查看使用空间的,但是与df
命令不同的是Linux du
命令是对文件和目录磁盘使用的空间的查看,还是和df
命令有一些区别的。
具体命令如下:
du 命令参数 参数
常用参数如下:
- -a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
- -h : 以可读性较高的方式来显示信息;
- -k : 以KB为单位显示容量;
- -m : 以MB为单位显示容量;
- -s : 列出总量,不列出每个目录占用的容量。
案例演示一:
列出当前目录下的所有文件的总容量,可以使用如下命令:
du
注: 直接输入du
命令没有加任何参数时,则du
会分析当前所在目录的文件与目录所占用的磁盘空间,但是,实际显示时仅会显示目录容量。
案例演示二:
列出当前目录下的所有文件的总容量,同时将每个文件大小也列出来,可以使用如下命令:
du -a
案例演示三:
以可读性较高的方式显示多个文件所占磁盘大小,可以使用如下命令:
du -h c++ g++
案例演示四:
- 以可读性较高的方式显示系统已存在文件
oldFile
的所占磁盘大小; - 列出系统已存在目录
./oldDir
下的所有文件的总容量,同时将每个文件大小也列出来;
du -h oldFile
du -a oldDir
实力的来源不是胜利。唯有奋斗才能增强实力。当你历经苦难而不气馁,那就是实力。
Linux文件/目录链接
如何在Linux
系统上创建一个超链接文件,在Windows
上创建一个链接文件非常简单,只需要点右键选择创建链接就可以,而在Linux
上创建就相对比较麻烦。
相关文件
Linux
中的链接类似于Windows
的快捷方式,也就是很多的链接文件(link file)
其实都指向同一个源文件(source file)
。
Linux
中链接文件又分为硬链接
和软链接
两种。
Linux硬链接
硬链接
指通过索引节点
来进行链接
。在Linux
的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号
,称为索引节点号(Inode Index)
。在Linux
中,多个文件名指向同一索引节点是存在的。一般这种链接就是硬链接
。
硬链接
的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
硬链接特点如下:
- 文件有相同的
inode
及data block
; - 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同
inode
号的文件。
具体命令如下:
ln 源文件 目标文件
案例演示一:
为当前目录下的文件testFile
创建一个硬链接testFileLink
,可以使用如下命令:
ln testFile testFileLink
在ls
结果的最左边一列,是文件的inode
值,你可以简单把它想成C
语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。可以看到,这两个文件就如同一个文件一样,inode
值相同,都指向同一个区块。
Linux软链接
软链接文件有类似于Windows
的快捷方式。它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
与硬链接不同的是,符号链接确实是一个新文件,当然它具有不同的I节点号;而硬链接并没有建立新文件。
软链接特点如下:
- 源文件和目标文件有不相同的
inode
及data block
; - 软链接没有硬链接的限制,可以对目录文件做符号链接;
- 软链接可以在不同文件系统之间做软链接;
- 在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是
l
; - 符号链接的大小是其链接文件的路径名中的字节数;
具体命令如下:
ln -s 源文件 目标文件
案例演示一·:
为当前目录下的文件testFile
创建一个软链接myLink
,可以使用如下命令:
ln -s testFile myLink
使用ls -li
查看两个文件的详细信息,可以看到两个文件的inode节点号不同,文件myLink
的类型为l
,可以看到myLink
是指向文件testFile
的,同时myLink
文件的大小为8,正是文件名testFile
的字符个数。
案例演示二:
为当前目录下的目录testDir
创建一个软链接myDirLink
,可以使用如下命令:
ln -s testDir myDirLink
案例演示三:
- 为系统已存在文件
oldFile
创建硬链接oldFileHardLink
; - 为系统已存在文件
oldFile
创建软链接oldFileSoftLink
; - 为系统已存在目录
oldDir
创建软链接oldDirSoftLink
。
ln oldFile oldFileHardLink
ln -s oldFile oldFileSoftLink
ln -s oldDir oldDirSoftLink
学习是一次独立的行动,需要探索、琢磨、积极应战、顽强应战,艰辛由你独自承担,胜利由你独立争取。
以上是关于Linux文件/目录管理(高级)的主要内容,如果未能解决你的问题,请参考以下文章
【学了就忘Linux高级文件系统管理】— 5.图形界面进行LVM分区
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段