设为首页 收藏本站
查看: 367|回复: 0

[经验分享] Linux根文件系统详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-5 09:31:27 | 显示全部楼层 |阅读模式
1 常见的可以执行的二进制文件格式   
   Linux   ELF 可执行,可链接的文件格式  
   Windows PE
2 文件系统
   rootfs:根文件系统   每一个文件都必须根文件的一个路径  或者说是都必须通过根文件系统才能访问
   目录:路径
   文件:叶子

   FHS:文件系统层级标准   规定了linux发行版应该创建那些目录用来存储特定的文件

   ls /  显示一级子目录:
              /boot:系统启动相关的文件,如 内核,initrd ,以及grub(bootloader)
              /dev: 设备文件    符号链接文件可以理解为windows的快捷方式
                          设备文件:
                               块设备: 随机访问的设备 (无所谓先后)  数据块 如磁盘,硬盘
                               字符设备: 线性访问的设备 (有次序的)按字符为单位,逐个字符访问     
                                           比如一个字符一个字符读入的设备的模型就是线性访问模型  鼠标键盘显示器都是线性设备
                               设备号: 主设备号(major)和次设备号(minor)
                               特殊文件是没有大小的,他们之间存储为元数据,而且是作为设备的访问入口存在的
              /etc: 配置文件 大多数纯文本文件
              /home:用户的家目录,每一个家目录通常默认为/home/USERNAME
              /root:管理员的家目录
              /lib: 库文件      和内核模块文件(/lib/modules)  库就是被调用封装好的某些功能   库文件没有程序的访问入口,所以是不能单独执行的,只能被调用
                               静态库:    .a(Linux)      .la(Windows)
                               动态库:    .so[shared object共享库](Linux)   .dll(Windows)

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

                            共享库好处在于第一个程序启动后,它如果用到某个共享库 ,它就会直接把共享库载入内存中 ,
                            其他程序如果在用的这个库就不用在载入内存了,所以这个库文件在内存中只用存储一份就行

                            静态库就不一样了,它是直接链接到程序的地址空间中去,而且是作为程序的一部分而运行的,
                            所以静态方式便于程序单个文件的管理

              /lost+found: 这不算 这是任何一个新建分区上都会有的目录,它通常跟我们的文件系统相关,是用于存储那些文件系统中
                    机器突然断电时候,那些尚未保存的文件,所以它是为了实现丢失能够重新找回的这样一个目的的

            挂载点目录:
              /media:通常用于挂载移动设备    把某个设备跟当前文件系统上某一个目录相建立关联关系的过程就叫挂载的过程
              /mnt:  通常额外的临时文件系统(如另一块硬盘等)


              /misc: 杂项目录
              /opt:  可选目录:  早期用于安装第三方程序安装目录
              /proc: 伪文件系统:内核映像文件    事实上这个目录中没有任何内容,这个目录其实是空的,但系统启动后就不是空的了
                                  这里面所显示的文件其实是内核映射文件,所以这里面大多数文件都是内核中的可调参数或者是内核工作的统计数据
                                  所以,我们想改变操作系统的根本工作属性,通常都是改变这个目录下某个文件完成的,因为事实上你改的不是文件而是内核属性
                                  它们只不过被映射成了文件,都是假文件,它们只不过表现出文件的样子
              /sys伪文件系统: 跟硬件设备相关属性的映射文件  通常用于硬件设备的管理

              /tmp 临时文件系统: 公共的临时文件  一般每隔一个月会自动清除没有访问的文件   每个人都可以在该目录下创建文件 ,但删除只能删除自己的
              /var 可变化文件:

            这个与系统启动功能相关
              /bin : binary   可执行文件(二进制)  用户命令
              /sbin:  管理命令

              /usr: share,read-only    全局的共享的只读文件

                    这个与系统平时功能相关
                     /usr/bin   
                     /usr/sbin
                     /user/lib

                     /user/local:第三方软件
                             /user/local/bin
                             /user/local/sbin
                             /user/local/lib

    命名规则:
         1,文件名不能超过255个字符
         2,不能使用/当文件名
         3,严格区分大小写

    相对路径:相当于当前位置查找的路径
    绝对路径:由根开始

    文件管理
    目录管理
      ls
      cd
      pwd

      mkdir:创建空目录
           -p:自动创建父目录
           {}:命令行展开
            ~:波浪线展开
           -v: verbose 显示详细信息


       -pv创建目录并显示其创建过程

     创建目录 /mnt/test/x/m,y ?
     mkdir -pv /mnt/test/{x/m,y}      {}花括号展开或者叫命令行展开  当它遇见花括号的时候会自动把逗号分隔的路径自动展开为两个路径
     mkdir -pv /mnt/test/{x,y}/m     x,y路径下各有一个m

     创建a_b,a_c,d_b,d_c这几个目录都在/mnt/test目录下
     (a+d)(b+c)=ad+ac+db+dc
     mkdir -pv /mnt/test/{a,d}_{b,c}             {x,y}/m = x/m y/m    {a,d}_{b,c}=a_b a_c d_b d_c


      tree:查看目录树

      rmdir:(remove directory)删除目录    只能删除空目录       remdir -p只能删除的是一脉单传的目录 (只有一个分支的目录)
      比如删除test目录  必须先删除其下面的空目录后才能删除该目录


      文件创建和删除   file显示文件   目录也是文件    在linux目录和文件是不能重名的
       touch:  touch a   创建文件a     默认修改为当前时间
        touch主要用来修改文件的时间戳的   如果修改这个文件不存在,就会默认创建一个
       touch -c 不创建任何文件 只修改时间戳
       touch -a 只改变访问时间
       touch -m 只改变修改时间   
            -t 修改为指定的时间     touch -m -t 201412121212 a    这样就把a文件的修改时间指定为2014 1212 1212
       一个文件都有三个时间戳: 最近一次的访问时间   最近一次的修改时间(内容)   最近一次的改变时间(属性)

      stat 显示文件或者系统的状态信息

    创建文件,也可以使用文件编辑器   文本编辑器:只是编辑纯ASCIT码的    word叫文字处理器不是文本编辑器
     nano 简单的文本编辑器   
        nano a  编辑文件a的内容  ^表示Crtl键

    删除文件  rm a  删除文件a  
        rm是rm -i的别名  
               -f强行删除
               -r递归删除目录  就是删除这个目录下所以文件

        rm -rf / 删除根目录以及根目录下所有文件
            -i提示管理要不要删除
             \\rm 使用rm自身   当我们想使用这个命令自身而不是别名 可以在这个命令前加\\




    运行程序
    设备管理
    软件管理
    进程管理
    网络管理






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-135279-1-1.html 上篇帖子: ifconfig 没有eth0 以及设置eth0 下篇帖子: linux 系统监控、诊断工具之 top 详解 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表