本文带来Linux文件系统相关操作,主要介绍虚拟目录树、文件元数据以及df、mount、umount相关命令。
虚拟目录树的各个目录用途
| 目录 |
用途 |
| / |
虚拟目录的根目录。通常不会在这里存储文件 |
| /bin |
二进制目录,存放许多用户级的GNU工具 |
| /boot |
启动目录,存放启动文件 |
| /dev |
设备目录,Linux在这里创建设备节点 |
| /etc |
系统配置文件目录 |
| /home |
主目录,Linux在这里创建用户目录 |
| /lib |
库目录,存放系统和应用程序的库文件 |
| /media |
媒体目录,可移动媒体设备的常用挂载点 |
| /mnt |
挂载目录,另一个可移动媒体设备的常用挂载点 |
| /opt |
可选目录,常用于存放第三方软件包和数据文件 |
| /proc |
进程目录,存放现有硬件及当前继承的相关信息 |
| /root |
root用户的主目录 |
| /sbin |
系统二进制目录,存放许多GNU管理员级工具 |
| /srv |
服务目录,存放本地服务的相关文件 |
| /sys |
系统目录,存放系统硬件信息的相关文件 |
| /tmp |
临时目录,可以在该目录中创建和删除临时工作文件 |
| /usr |
大量用户级的GNU工具和数据文件都存储在这里 |
| /var |
可变目录,用以存放经常变化的文件,比如日志文件 |
文件元数据
输入ll -i会发现:
第一列表示inode
第二列,有10个字符
- 第一个字符表示文件类型,有
-表示文件,l表示链接,d表示目录
- 后面9个字符,3个为一组,分别表示拥有者、用户组、others的权限,
r表示读,w表示写,x表示执行,b开始块设备文件,c表示字符设备文件
第三列现在先忽略
第四列表示所属者
第五列表示用户组
第六列:
- 文件所在行的数字表示文件的大小,目录所在的行数字那列一般显示4096(并不是所里面的文件有4096byte大小)
第七列:文件创建时间或文件最后一次的修改时间
第八列:文件或目录名
相关命令
df
显示文件系统的磁盘使用情况统计
输入df显示以下信息:
1 2 3 4 5
| [root@layne laydir] Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 18375548 3570988 13871136 21% / tmpfs 502204 0 502204 0% /dev/shm /dev/sda1 198337 27804 160293 15% /boot
|
- 第一列指定文件系统的名称
- 第二列指定一个特定的文件系统1K-块,1K是1024字节为单位的总内存,这里1837554K表示总共的磁盘容量(sda相当于windows下的卷)
- 第三列表示已经使用的磁盘容量
- 第四列表示空闲的磁盘容量
- 第五列是以百分比的形式显示已经使用的磁盘容量
- 第六列是磁盘挂载的路径
df也可以显示磁盘使用的文件系统信息,输入df 文件名(或目录名) 即可显示该文件或目录所使用的磁盘信息:
1 2 3
| [root@layne laydir] Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 18375548 3570988 13871136 21% /
|
上面就显示ln1使用磁盘情况,可以看到,ln1使用的是sda3的磁盘。
加上-h(–human-readable )表示使用人类可读的格式(预设值是不加这个选项的…)
1 2 3 4 5
| [root@layne laydir] Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 3.5G 14G 21% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 194M 28M 157M 15% /boot
|
mount
用于挂载Linux系统外的文件。
现在,我们试着将光驱挂载到/mnt目录
首先,查看光驱(cdrom)的文件:
1 2 3 4 5 6 7 8
| [root@layne laydir] lrwxrwxrwx 1 root root 3 Feb 7 10:15 cdrom -> sr0 lrwxrwxrwx 1 root root 3 Feb 7 10:15 cdrw -> sr0 lrwxrwxrwx 1 root root 3 Feb 7 10:15 scd0 -> sr0 crw-rw---- 1 root cdrom 21, 1 Feb 7 10:15 sg1 brw-rw---- 1 root cdrom 11, 0 Feb 7 10:15 sr0 [root@layne laydir] total 0
|
可以看到,cdrom是sr0的软链接文件,而sr0是块设备文件。
然后,我们通过mount /dev/cdrom /mnt挂载光驱:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [root@layne laydir] mount: block device /dev/sr0 is write-protected, mounting read-only [root@layne laydir] total 82 1863 -r--r--r-- 1 root root 14 Nov 29 2013 CentOS_BuildTag 3264 dr-xr-xr-x 3 root root 2048 Nov 29 2013 EFI 1871 -r--r--r-- 1 root root 212 Nov 28 2013 EULA 1874 -r--r--r-- 1 root root 18009 Nov 28 2013 GPL 3648 dr-xr-xr-x 3 root root 2048 Nov 29 2013 images 3584 dr-xr-xr-x 2 root root 2048 Nov 29 2013 isolinux 1984 dr-xr-xr-x 2 root root 40960 Nov 29 2013 Packages 1889 -r--r--r-- 1 root root 1354 Nov 28 2013 RELEASE-NOTES-en-US.html 3392 dr-xr-xr-x 2 root root 4096 Nov 29 2013 repodata 1907 -r--r--r-- 1 root root 1706 Nov 28 2013 RPM-GPG-KEY-CentOS-6 1911 -r--r--r-- 1 root root 1730 Nov 28 2013 RPM-GPG-KEY-CentOS-Debug-6 1902 -r--r--r-- 1 root root 1730 Nov 28 2013 RPM-GPG-KEY-CentOS-Security-6 1897 -r--r--r-- 1 root root 1734 Nov 28 2013 RPM-GPG-KEY-CentOS-Testing-6 1915 -r--r--r-- 1 root root 3380 Nov 29 2013 TRANS.TBL
|
可看到,光驱已经挂载到/mnt目录下,这是/mnt下的文件就是光驱里面的文件。
注意,如果/mnt没有显示任何文件,可能是文件还没有刷新出来,尝试cd到别的目录,然后再次查看/mnt下的文件。
通过df -h查看文件系统的磁盘使用情况:
1 2 3 4 5 6
| [root@layne laydir] Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 3.5G 14G 21% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 194M 28M 157M 15% /boot /dev/sr0 398M 398M 0 100% /mnt
|
umount
卸载掉挂载的分区
注意卸载/mnt时,当前目录不能在/mnt下面,否则报出如下图所示提示:
现在我们卸载挂载到/mnt下的光驱:
1 2 3 4 5 6 7 8
| [root@layne laydir] [root@layne laydir] total 0 [root@layne laydir] Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 3.5G 14G 21% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 194M 28M 157M 15% /boot
|