`
tiankefeng0520
  • 浏览: 147253 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Linux学习记录--文件系统简单操作

阅读更多

文件系统简单操作

 

磁盘的容量查看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% /boot
tmpfs        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% /boot
tmpfs        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       /bin
6       /boot
1       /dev
…
216     /tmp
4077    /usr
99      /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 f1
846433 -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 fh1
846433 -rw-r--r-- 2 root root 0 02-24 09:33 f1
846433 -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 f2
846434 -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 f2s
846434 -rw-r--r-- 1 root root 0 02-24 09:49 f2
846435 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 f2s
cat: f2s: 没有那个文件或目录

 

目录的连接数量

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

[root@localhost ~]# ll -id /tmp
745569 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 /tmp
1008319 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连接,一个是“.”连接)

 

0
0
分享到:
评论

相关推荐

    操作系统课程设计--二级文件系统(java)

    本实验要求为Linux系统设计并实现一个简单的二级文件系统。具体要求如下: 1. **支持基本文件命令**:至少实现`login`(用户登录)、`dir`(列出文件目录)、`create`(创建文件)、`delete`(删除文件)、`open`...

    Linux创建文件系统及挂载文件系统

    在Linux系统中,管理和操作文件系统是至关重要的任务。本文将详细介绍如何创建文件系统、挂载文件系统,以及如何卸载文件系统或设备。我们将主要关注Linux中的分区、格式化和挂载操作。 首先,创建文件系统前需要对...

    一个简单的linux文件系统

    《一个简单的Linux文件系统》是基于UNIX Filesystems Evolution, Design, and Implementation一书中的代码实现,旨在帮助读者理解和学习Linux下的文件系统工作原理。在这个压缩包中,包含的uxfs_rh8文件可能是源代码...

    linux 文件系统源码

    Linux 文件系统源码是了解操作系统核心机制的重要组成部分,特别是对于那些想要深入理解Linux内核以及文件系统工作原理的开发者和研究者来说。在这个压缩包中,包含了一系列的源码文件,涉及到了多种不同的文件系统...

    linux命令记录

    Linux是一个开源的类Unix操作系统,它广泛应用于服务器、桌面计算机、嵌入式设备等领域。Linux系统的命令行界面是一个非常强大的工具,它允许用户通过输入各种命令来执行各种操作。为了方便学习和使用,下面将详细...

    C语言实现Linux文件系统模拟文档(内有程序)

    本项目旨在通过C语言实现一个简单的Linux文件系统模拟程序,帮助学习者更好地理解和掌握文件系统的基本结构和操作方法。通过这个项目的学习,不仅可以深入了解文件系统的工作原理,还能提高解决实际问题的能力。

    LINUX操作系统(电子教案,参考答案)

    本章主要介绍了Linux中的文件系统维护与监视。其中包括交换空间、/proc的信息以及各种日志文件和进程记账等。 第12章:图形界面。本章主要介绍了X Window以及它的配置,并且介绍了在KDE环境下汉化的基本思想,用实例...

    linux-command-line

    这对于理解磁盘分区以及文件系统的挂载点非常重要。 - **date**:显示系统日期和时间。可以用于查看或设置当前时间。 - **uptime**:显示系统运行时长。这有助于评估系统的稳定性和运行状态。 - **whoami**:显示...

    文件系统实验代码,操作系统

    在计算机科学领域,操作系统是控制计算机硬件与软件资源的核心程序,而文件系统则是操作系统中管理数据存储的关键组件。本实验代码集主要针对操作系统中的文件系统部分,为本科课程的实践教学设计,旨在帮助学生深入...

    Linux开发教程-At91rm9200 Linux开发教程-At91rm9200

    - **用nfs作根文件系统的参数设置**:为了使用NFS作为根文件系统,需要正确配置相关的参数。 #### 三、Linux 2.6内核的移植 ##### 3.1 内核下载及补丁过程 - **内核下载**:从官方或者社区下载Linux 2.6内核的...

    linux 编程教程 -- linux下编程入门

    - 文件系统:学习Linux的目录结构(例如/、/bin、/usr、/etc)和文件权限。 - 命令行界面:掌握基本的Linux命令,如ls、cd、mkdir、rm、cp、mv等。 - Shell脚本:了解Bash shell,编写简单的shell脚本执行自动化...

    操作系统课程设计 天津科技大学 二级文件系统设计 答案 完整代码 Liunx

    - **任务描述**:为Linux系统设计一个简单的二级文件系统,包括实现登录、列目录、创建文件、删除文件、打开文件、关闭文件、读文件、写文件以及进出目录等功能。 - **列目录**:列出文件名、物理地址、保护码和文件...

    操作系统实验报告-大作业模拟文件系统

    操作系统实验报告——大作业模拟文件系统 在计算机科学领域,操作系统是管理计算机硬件与软件资源的核心...通过这样的实验,学生能够更好地掌握操作系统和文件系统的关键概念,为未来的学习和职业发展奠定坚实的基础。

    LINUX二级文件系统.pdf

    在Linux操作系统中,文件系统是管理和组织存储设备上数据的核心组件。这个名为"LINUX二级文件系统.pdf"的文档似乎描述了一个模拟的、基于C语言的简单文件系统模型,用于教学或实验目的。以下是对该文件系统模型的...

    Linux内核源码(linux-0.11.rar)

    Linux 0.11虽然功能相对简单,但它已经包含了现代操作系统的一些基本元素,如进程管理、内存管理、文件系统和设备驱动等。 1. **进程管理**:在Linux 0.11中,进程管理包括进程创建、调度和上下文切换。每个进程都...

    linux操作系统实验指导书

    - Ext2是Linux系统中常用的一种文件系统格式,具有良好的性能和可靠性。 - **实验步骤** - 通过阅读文档和源代码,深入了解Ext2文件系统的组成元素及其作用。 - 设计并实现一个新的文件系统,包括文件和目录的...

    FAT文件系统 FAT文件系统 FAT文件系统 FAT文件系统

    FAT(File Allocation Table,文件分配表)文件系统是一种经典的磁盘分区管理方式,由微软在1970年代末期开发,广泛应用于各种类型的存储设备,包括...了解并理解FAT文件系统对于计算机硬件和操作系统的学习至关重要。

    Linux和windows文件系统格式分区软件

    首先,Linux的ext2文件系统是早期Linux系统常用的默认文件系统,它具有简单、高效的特点。然而,由于ext2不支持日志记录,所以在系统崩溃或非正常关机后可能会丢失数据。为了解决这个问题,Linux社区推出了ext3文件...

    操作系统课程设计-linux下的二级文件系统宣贯.pdf

    通过设计一个简单的二级文件系统,我们可以更直观地理解文件系统如何管理和处理文件,增强对操作系统核心概念和重要算法的掌握。同时,这一设计也提升了学生的动手能力。 设计内容与要求主要包括: 1. 用户登录功能...

Global site tag (gtag.js) - Google Analytics