Linux文件系统及相关命令

1.Linux文件系统及目录结构

        Linux中文件是一个任意长度的字节序列,Linux中文件可以包含任意信息,如ASCLL码,二进制文件和其它类型的文件都是不会加以区分的。为方便起见,文件可以被组织分配在一个目录中,目录存储成文件的形式在很大程度上可作为文件处理。文件可以有子目录,形成有层次的文件系统,Linux系统下的根目录是/,包含很多子目录。

        输入命令

[root@localhost ~]# ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

        目录解释:

        /根目录:

                /bin:Binary,该目录存放常用命令;

                /sbin:Super User,存放着系统管理员使用的系统管理程序;

                /boot:存放Linux启动时的核心文件,连接文件及镜像文件等; 

                /dev:Device,该目录下存放的是Linux外部设备,Linux中访问设备和访问文件方式相同;

                /etc:存放所有系统管理所需的配置文件和子目录;

                /lib:存放系统最基本的动态连接共享库,作用类似于Windows的DLL文件;

                /lost+found:一般是空,系统非法关机后,这里存放了一些文件;

                /media:Linux系统会识别一些设备,U盘、光驱等,识别后挂载到这个目录下;

                /mnt:用户临时挂载别的文件系统;

                /opt:给主机额外安装软件摆放的目录;

                /proc:虚拟目录,系统内存的映射;

                /root:系统管理员,也称超级用户主目录;

                /srv:存放一些服务启动后需要提取的数据;

                /sys:安装了2.6内核中新文件系统sysfs;

                /tmp:存放一些临时文件;

                /usr:用户很多应用程序和文件都放在该目录下;

                /usr/bin:系统用户使用的应用程序;

                /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序;

                /var:存放着在不断扩充的东西,将被修改目录放在其下,包括各种日志文件

2.inode,block,superblock

        inode是Linux/Unix文件系统的基础。

        扇区(Sector)是硬盘最小存储单位,操作系统读取硬盘中的文件是以(block)读取,块也是文件最小存储单位,常见块大小为4kB,约为8个扇区,每个扇区存储为512字节。

        一个文件可能会占多个块,但一个块只能存放一个文件。文件实际存储在data block区块中,而硬盘还有一个超级区块(superblock),超级区块会记录整个文件系统整体信息,如inode和block的总量、使用量、剩余量等。

        inode是来存储文件的元信息(metadata),译为索引节点(i+node)。每个文件都有一个inode。

        使用stat命令来查看文件inode信息,Linux操作系统不使用文件名来区分文件,而是使用inode区分。

                  

3.硬链接、软链接

        3.1硬链接

        Unix/Linux允许多个文件名指向同一个inode号,意味着不同文件名可以访问同一内容;对文件内容进行修改,会影响所有文件名,但是删除一个文件名,不影响另一个文件访问,这就是硬链链接

        3.2软链接 

        文件A和Binode号虽然不一样,但文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终都会读取文件B。这时文件A就称为文件B的“软链接”或“符号链接”。文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:“No such file or directory”

        用实际案例来体会下:

        建立硬链接:ln  源文件  目标文件

        建立软链接:ln -s  源文件  目标文件

[root@localhost second]# cat booz  #查看booz文件内容
zhangsan
[root@localhost second]# ln booz booz3  #建立硬链接
[root@localhost second]# cat booz3    #查看链接后的文件
zhangsan
[root@localhost second]# rm -f booz  #删除源文件
[root@localhost second]# cat booz3  #查看链接文件依然能看到源文件内容
zhangsan
[root@localhost second]# touch boozz  
[root@localhost second]# echo lisi > boozz
[root@localhost second]# cat boozz
lisi
[root@localhost second]# ln -s boozz boozz1  #建立软链接
[root@localhost second]# cat boozz1  #查看软链接后的文件
lisi
[root@localhost second]# rm -f boozz   #删除源文件
[root@localhost second]# cat boozz1   #查看不能再看到文件内容
cat: boozz1: 没有那个文件或目录

               

4.文件删除原理

        硬链接:一个文件可以有多个有效的路径名,是文件的另一个入口,当一个文件有多个硬链接时,只有将所有的硬链接文件和源文件删除,才会彻底删除源文件。

        软链接:软链接文件存放者源文件的路径。源文件删除时,软链接文件依然存在,但不能再访问源文件。

        Linux时通过控制link数量来删除文件的。只有当一个文件不存在任何link时,文件才会被删除,一般来说,每个文件都有2个link计数器:i_count和i_nlink。

        i_count:当前文件被调用次数(内存计数器)。

        i_nlink:当前文件硬链接的数量(磁盘引用计数器)。

        rm命令原理:通过删除命令删除文件,实际上就是减少文件的磁盘引用计数i_nlink的数量(及硬件数量)。

                

                     

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值