首页 > 系统服务 > 详细

05 Linux根文件系统

时间:2017-01-15 18:28:04      阅读:298      评论:0      收藏:0      [点我收藏+]

1、file 命令及其用法


man file


file /root 

  /root: directory


file /bin/ls

  /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped


Windows 

  PE: 可移植的可执行文件

Linux

  ELF: 

   一种可执行文件的存储格式 

   可执行的可链接的文件类型

   Linux上常见的可执行二进制文件格式




文件系统是内核的核心功能之一,目的是实现本机上某一个分区上的文件管理


文件系统:

rootfs: 根文件系统

  对 Linux 而言,每一个文件都必须是根文件系统下的某一个路径

  必须要通过根文件系统才能访问


根, root ,用 / 表示 


文件系统分为目录和文件,除了目录的都是文件

所有的文件都存放在目录当中,都能够通过目录查找的到


FHS: Filesystem Hierarchy Standard(文件系统层次化标准) 


ls / :


/boot: 系统启动相关的文件,如内核、initrd,以及 grub (bootloader 引导加载器)

  如果 /boot 目录不存在,或对应的几个文件不存在,系统根本无法启动。


  操作系统启动时所要用到的内核 vmlinuz ,以及暂时性的小 linux 系统

  vmlinuz :

  initrd (initramfs) : 磁盘映像文件,类似虚拟机,假的赢怕,能创建分区


/dev: 设备文件 

  设备文件:

    块设备: 随机访问,数据块, 磁盘,硬盘

    字符设备: 线性访问,键盘,输入 abc 显示 abc ,鼠标,显示器

         整个屏幕上显示的内容都是在显存中按位存储的

    设备号: 主设备号(major) 和次设备号(minor)

        一个设备只有有设备文件,才能被 linux 所访问


    在主机上要接入一个新设备,例如插入U盘,要想访问U盘,首先在 dev 目录下创建一个设备文件, 由系统自动完成。


  Linux 哲学思想,一切皆文件。因此,所有的硬件设备,也被识别为各个文件

  device 设备


  ls -l /dev 

    

    lrwxrwxrwx. 1 root root           3 Jan 15 05:08 cdrom -> sr0

    lrwxrwxrwx. 1 root root           3 Jan 15 05:08 dvd -> sr0

    链接 (Windows 快捷方式) 

   

    brw-rw----. 1 root cdrom    11,   0 Jan 15 05:08 sr0

    设备文件没有大小,直接存储元数据,而且是作为设备的访问入口存在的


/etc : 配置文件

   Linux 哲学思想,将程序的配置文件保存为纯文本格式


/home: 用户的家目录,每一个用户的家目录通常默认为 /home/USERNAME

/root: root 用户的家目录不再 /home 下,并且他的名称就叫 /root

   在传统的 Unix 系统上,root 用户是没有家目录的,因为 root 用户从来都不需要登录操作系统


   Windows 下不允许格式化 C 盘,Linux 不阻止你自杀

   生产环境使用普通用户登录,不要用 root 用户登录,只有要用到管理功能的时候,才切换到 root 用户。


/lib: 库文件

  静态库: .a

  动态库: .dll , .so (shared object)


  任何程序和数据都必须要载入内存之后才能被程序所使用,

  对于共享库,任何程序要使用共享库,把共享库载入内存就可以使用,如果第二个程序也用到这个共享库,它就不用再载入了,因为内存中已经有了,拿来就用。共享库在内存中只存在一份即可。

  对于静态库,直接链接到程序的地址空间中去,作为程序的一部分运行的。


  静态方式便于程序单个文件管理,例如把一个程序从一个 linux 主机移动到另一个 linux 主机,只需要把文件从 a 主机复制到 b 主机就能直接运行

  但是,如果要使用动态链接库的方式的话,那就意味着它自己的运行还要依赖于库。所以将程序从 a 主机挪到 b 主机还不够,还必须保证 b 主机有程序运行时所依赖的共享对象才行。


  /lib/modules: 内核模块文件


/lost+found:

  任何一个新建的分区上都会有的目录,通常跟文件系统相关,是用于存储那些文件系统在机器突然间断电的时候,文件没有输入属组,并且尚未来得及保存的文件,是为了实现丢失并找回的目的的。







05 Linux根文件系统

原文:http://pengjuguo.blog.51cto.com/9974321/1892074

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!