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下生存啦。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?