《鸟哥的Linux私房菜》学习笔记(3)——根文件

系统 1908 0

一、Linux目录结构                                                 

《鸟哥的Linux私房菜》学习笔记(3)——根文件系统

  rootfs:根文件系统,根是"/"。

1、/boot

  系统启动相关的文件,如内核、intrd、以及grub(bootloader)

      
        
          root@hao:~#
        
      
      
        ls
      
       /
      
        boot

abi
      
      -
      
        3.2
      
      .
      
        0
      
      -
      
        29
      
      -generic-pae     grub                             memtest86+.bin            System.map-
      
        3.2
      
      .
      
        0
      
      -
      
        29
      
      -generic-
      
        pae

config
      
      -
      
        3.2
      
      .
      
        0
      
      -
      
        29
      
      -generic-pae  initrd.img-
      
        3.2
      
      .
      
        0
      
      -
      
        29
      
      -generic-pae  memtest86+_multiboot.bin  vmlinuz-
      
        3.2
      
      .
      
        0
      
      -
      
        29
      
      -generic-pae
    

2、/dev

  设备文件。所有的硬件都被识别为文件,比如插入一个U盘,也会在dev目录下创建一个文件,如下图。显示为青色的是符号链接文件,黄色为特殊文件,作为设备的访问入口存在。设备文件分为块设备和字符设备,块设备可以随机访问,按数据块访问。字符设备线性访问,字符为单位,比如显示器和鼠标。

3、/etc

  配置文件。系统中所有的程序的配置文件都在该目录或其子目录下。因此,这里的文件大多是纯文本格式。

4、/home

  用户家目录。默认为home下的跟用户名同名的目录,如

      
        
          root@hao:~#
        
      
      
        ls /
        
          home hao
        
      
    

5、/root

  root用户家目录。直接在根目录下,而不是在home下。

6、/lib

  库文件及内核模块文件目录。库文件分为静态库.a和动态库.so(shared object 共享对象)两种。库是被调用的封装好的功能,在系统上执行时,共享库载入内存时,一份存储,多个程序使用。而静态库,直接链接到程序的地址空间并且作为程序的一部分存在。内核模块文件:/lib/modules。绿颜色,表示有执行权限。

7、/media

  挂载点目录。把某个设备与某个目录建立关系就叫做挂载。media 用于挂载移动设备

8、/mnt

  挂载点目录。挂载额外的临时文件系统。

9、/misc

  杂项

10、/opt

  可选目录。第三方程序的安装目录。现在通常放在/usr/local

11、/proc

  伪文件系统。系统未启动时,没有任何内容,其实为空。系统启动后便不为空,为内核映像文件,保存内核的可调参数和内核工作的统计数据,系统调优和性能监控都与其相关。

12、/sys

   伪文件系统。跟硬件设备相关的属性映射文件,修改磁盘调度队列时与其相关。

13、/tmp

  临时文件目录。一般每个月会清除。每个用户都可创建,仅可删除自己创建的文件。

14、/var

  可变化的文件目录。

15、/bin(binary)

  用户命令。可执行文件。系统启动时需要的执行文件(二进制)

16、/sbin

  管理命令。

17、/usr(Universal shared Read-Only)

  只读文件。

  /usr/(s)bin不同于/bin,这里的命令为了正常提供基本功能,与系统启动无关。

  /usr/lib不同于/lib,这里的库不是公共库

  /usr/local用来安装第三方软件

    /usr/local/(s)bin

    /usr/local/(s)bin

      
        
          root@hao:~#
        
      
      
        ls
      
       /
      
        usr

bin  games  include  lib  local  sbin  share  src
      
    

二、Linux文件目录命名规则                                

1、长度不能超过255个字符

2、严格区分大小写

3、不能使用/

三、目录管理                                                    

前面讲的ls cd pwd命令外,还有下面命令

1、mkdir(make directory):创建空目录

-p:未加该选项时,创建目录一定要保证其父目录的存在,如下面的mkdir x/y/z要创建z目录,一定要保证x与y存在,如果不存在则需要先创建x再创建y然后再创建z。加上该选项可以在没有父目录的情况下,连同父目录一块创建。

  -v(verbose):显示创建过程可以和-p选项一起使用

      
        
          root@hao:~# 
        
      
      
        mkdir
      
      
         x


        
          
            root@hao:
          
        
      
      
        
          ~#
        
      
      
        ls
      
      
        

x


        
          
            root@hao:
          
        
      
      
        
          ~#
        
      
      
        mkdir
      
       x/
      
        y


        
          
            root@hao:
          
        
      
      
        
          ~#
        
      
      
        mkdir
      
       x/y/
      
        z


        
          
            root@hao:
          
        
      
      
        
          ~#
        
      
      
        sudo
      
       apt-get 
      
        install
      
      
         tree

Reading package lists... Done

Building dependency tree       

Reading state information... Done


      
      
        ...


        
          
            root@hao:
          
        
      
      
        
          ~
        
      
      
        
          
            #
          
        
        tree x

x

`
      
      --
      
         y

    `
      
      --
      
         z




      
      
        2
      
       directories, 
      
        0
      
       files
      

root@hao:~# mkdir -p m/n/ t root@hao: ~ # tree m m ` -- n ` -- t 2 directories, 0 files

 

   使用-pv,及花括号展开,来一次创建多个目录

      
        
          root@hao:~#
        
      
      
        mkdir
      
       -pv /mnt/test/{x/
      
        m,y}


      
      
        mkdir
      
      : created directory `/mnt/test
      
        '


      
      
        mkdir
      
      : created directory `/mnt/test/x
      
        '


      
      
        mkdir
      
      : created directory `/mnt/test/x/m
      
        '


      
      
        mkdir
      
      : created directory `/mnt/test/y
      
        '


      
      
        
          root@hao:~#
        
      
      tree /
      
        mnt


      
      /
      
        mnt

`
      
      --
      
         test

    
      
      |--
      
         x

    
      
      |   `--
      
         m

    `
      
      --
      
         y




      
      
        4
      
       directories, 
      
        0
      
       files
    

  使用-pv,在/mnt/test下创建 a_b,a_c,d_b,d_c

      
        
          root@hao:
        
      
      ~# 
      
        mkdir
      
       -pv /mnt/test/
      
        {a,d}_{b,c}


      
      
        mkdir
      
      : created directory `/mnt/test/a_b
      
        '


      
      
        mkdir
      
      : created directory `/mnt/test/a_c
      
        '


      
      
        mkdir
      
      : created directory `/mnt/test/d_b
      
        '


      
      
        mkdir
      
      : created directory `/mnt/test/d_c
      
        '


      
      
        
          root@hao:~#
        
      
       tree /
      
        mnt


      
      /
      
        mnt

`
      
      --
      
         test

    
      
      |--
      
         a_b

    
      
      |--
      
         a_c

    
      
      |--
      
         d_b

    
      
      |--
      
         d_c

    
      
      |--
      
         x

    
      
      |   `--
      
         m

    `
      
      --
      
         y




      
      
        8
      
       directories, 
      
        0
      
       files
    

2、rmdir(remove directory)删除目录

  只能删除空目录,如果该目录删除,其父目录也为空,则其父目录也删除,如此递归

      
        
          root@hao:~#
        
      
      
        rmdir
      
       /mnt/test/
      
        y


        
          
            root@hao:
          
        
      
      
        
          ~#
        
      
       tree /
      
        mnt


      
      /
      
        mnt

`
      
      --
      
         test

    
      
      |--
      
         a_b

    
      
      |--
      
         a_c

    
      
      |--
      
         d_b

    
      
      |--
      
         d_c

    `
      
      --
      
         x

        `
      
      --
      
         m




      
      
        7
      
       directories, 
      
        0
      
       files
      

root@hao:~# tree / root / root |-- m | `-- n | `-- t ` -- x ` -- y ` -- z 6 directories, 0 files
root@hao:~# rmdir -p /root/x/y/ z rmdir : failed to remove directory `/root ' : Directory not empty root@hao:~# tree / root / root ` -- m ` -- n ` -- t 3 directories, 0 files

 

 

《鸟哥的Linux私房菜》学习笔记(3)——根文件系统


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论