zoukankan      html  css  js  c++  java
  • Linux文件组织,混乱中的秩序

    linux中,一切都看成文件,不管是目录还是设备。所以想要熟练使用Linux,那么对文件的本质和组织结构

    要有一定的认识。Linux中,文件都组织成字节流(byte stream)的形式,这样就有利于数据的流动和传输。

    对于字节流,可以借C++中的概念来理解,C++的标准输入输出iostream和文件流fstream的本质就是字节流。


    Linux的文件,乍看之下只能用乱来形容。其中最让人揪心的是,linux下的程序安装并不像windows

    那样给一个文件夹就行,甚至指定路径都是徒劳的。 而卸载时,往往是很难扫干净的。

    特别是在源码包安装时,连卸载的命令都没有(至少我没百度到)


    其实,只要狠下心来,花点时间了解这些文件的组织结构,就会发现混乱中自有秩序。

    Linux中很多目录的特点就是”静止”,在普通用户的使用过程中,并不会牵涉到太多。

    这种特质的目录主要有下面这些,它们的功能都是默认专用的,并不经常发生变化。

     

     

    还有几个目录是玩Linux涉及到的关键目录,所以不得不来个深刻认识。

    玩命令就很有必要把 /sbin/usr/sbin/bin/usr/bin来个”三光”政策,不扫荡一遍

    是很难用好bash的,Linux让你的工作变得简便的哲学就无法实现了。


    安装应用程序无论如何是无法避免的,安装路径很难搞?别急,尝试下面的操作吧。

    #display the location of the executable file(显示可执行文件的位置)
    $ which software_name
    $ whereis software_name
    #
    显示和该软件有关的所有文件的位置
    $ locate software_name

    就可以看到,bash所给的位置基本在几个目录下。

    安装好软件后,其相关文件会散落在很多系统默认的目录下,程序的可执行文件一般就是在

    /usr/bin目录下,只要删除这个文件,就算得上是卸载啦。至于其它的文件,就用locate定位再手动删除啦,

    其速度当然就取决于玩命令的程度啦。(我只知道这种笨方法,不知道是否有可彻底卸载的简单方式?)


    linux下进行开发时,所涉及到的几乎只有 /usr /usr目录是相当大的,系统命令文件、各种库文件和更新的

    源文件包几乎都在这个目录下,而且也是频繁变化的。其实,就C/C++编程而言,涉及到的头文件和库文件就只在这个目录下。

     

     

    所以,Linux的文件结构并不是看到的那样繁杂。对于普通用户而言,只要熟悉/usr这个目录就足够啦,这已经不止于在Linux下生存啦。


  • 相关阅读:
    camke中关于变量的一些知识
    ububtu16.04下安装protobuf
    ububtu下安装配置搜狗输入法
    anaconda资源链接
    把本地项目文件上传到github远程仓库的教程
    cmake practice一文中安装可执行文件的方法
    slam学习资源
    js中对String去空格
    去当前时间的周一
    对sql初始化的值的处理
  • 原文地址:https://www.cnblogs.com/chenwu128/p/2685564.html
Copyright © 2011-2022 走看看