美文网首页
Linux基础之目录结构

Linux基础之目录结构

作者: 飞鹰3995 | 来源:发表于2023-10-07 17:03 被阅读0次

    从今天开始,小编会陆续更新关于Linux一些基础操作。希望大家能从我的文章中,有自己的收获。 小编用的是macOS,部分操作和CentOS7不完全一致,针对不一致的部分,小编采用CentOS7上的截图,毕竟在小编家里,有一台陪伴我12年的笔记本电脑,活生生的被我改造成了一台CentOS7。我们知道,Windows中,可能有好几个根目录。C盘(C:)是硬盘的根目录(假如没有把C盘磁盘分区的话)

    image.png

    Windows电脑目录结构

    image.png

    Linux目录结构

    Linux有且只有一个根目录,就是 / 。Linux中没有比根目录再高一阶的目录了,没有目录包含根目录。根目录就是Linux最顶层的目录:“万有之源,斜杠青年”

    一、目录的结构

    1、Windows下,一个目录的形式是这样的:C:\Program Files\Baidu

    image.png

    Baidu这个目录是Program Files这个目录的一个子目录,Program Files这个目录是C盘这个根目录的一个子目录。同时Windows中用反斜杠\来标明目录的层级与包含关系。


    image.png image.png

    2、Linux目录结构

    Linux中用斜杠/来标明目录的层级与包含关系,Linxu的目录形式是这样的 /usr/bin。bin是usr目录的子目录,usr是/这个根目录的子目录,目录命名友情提示:Windows的目录名称可以包含空格等符号,Linux也可以。一般在Linux下命名目录时尽量不使用空格或者其他符号,尽量使用小写字母,这样会避免很多不必要的麻烦。

    二、根目录的直属子目录

    1、Windows的C盘这个根目录下一般会找到一些相同的子目录

    image.png

    2、Linux的根目录的直属子目录

    我们列出一些在Linux下的根目录的常用直属子目录(有个大概印象就好,基本都是有英文含义的)小编的是macOS,属于变种的Unix,与CentOS7不完全一样,不过这影响不大。

    image.png

    三、Linux根目录下的直属子目录简介

    1、bin

    bin是英语binary的缩写,表示“二进制文件”(我们知道可执行文件是二进制的),包含了会被所有用户使用的可执行程序

    2、boot

    英语boot表示“启动”,包含与Linux启动密切相关的文件。

    3、dev

    英语device的缩写,表示“设备”,包含外设。它里面的子目录,每一个对应一个外设。比如代表我们的光盘驱动器的文件就会出现在这个目录下面。

    4、etc

    法语et cetera的缩写。翻译城英语就是and so on,表示“...等等”,etc目录包含系统的配置文件。至于为什么放在/etc下面存放配置文件,按照原始的Unix的说法,这下面放的是一堆零零碎碎的东西,就叫etc好了,这个是历史遗留问题。

    5、home(macOS上对应的是Users)

    home:英语home表示“家”。用户的私人目录。在home目录中,我们放置私人的文件,类似Windows中的Documents文件夹,也叫“我的文档”。Linux中每个用户都在home目录下有一个私人目录(除了root用户以外)。root用户拥有所有权限,比较“任性”,跟普通用户不能住在一起。假如我的用户名是lilei,那么我的私人目录就是/home/lilei(macOS上对应/Users/lilei)

    6、lib

    英语library的缩写,表示“库”。lib目录包含被程序所调用的库文件,例如.so结尾的文件。Windows下这样的库文件则是以.dll结尾。

    7、media

    英语media表示“媒体”,可移动的外设(USB盘、SD卡、DVD、光盘等)插入电脑时,Linux可以让我们通过media的子目录来访问这些外设中的内容。

    8、mnt

    英语mount的缩写,表示“挂载”。有点类似media目录,但一般用于临时挂载一些装置(接入U盘会用到该目录)。

    9、opt

    英语optional application software package的缩写。表示“可选的应用软件包”,用于安装多数第三方软件和插件。

    10、root

    英语“根”的意思,超级用户root的家目录。一般用户的家目录位于/home下,root用户是个例外。

    11、sbin

    英语system binary的缩写,表示“系统二进制文件”,比bin目录多了一个前缀system("系统")。sbin目录包含系统级的重要可执行程序

    12、srv

    英文service的缩写,表示“服务”。包含一些网络服务启动之后所需要取用的数据。

    13、tmp

    英语temporary的缩写,表示“临时的”。普通用户和程序存放临时文件的地方。

    14、usr

    英语Unix Software Resource的缩写。表示“Unix操作系统软件资源”(类似etc,也是历史遗留的命名)。usr目录是最庞大的目录之一,类似Windows中的C:\Windows和C:\Program Files这两个文件夹的集合。usr目录里安装了大部分用户要调用的程序。

    15、var

    英语variable的缩写,表示“动态的,可变的”,var通常包含程序的数据,比如log(日志)文件。log文件记录电脑中发生了什么事。更多资源查看地址:https://linuxtoy.org/archives/linux-file-structure.html

    总之一句话。Linux目录结构像“一棵倒置的树”

    image.png

    四、pwd命令和which命令:我在哪呢?

    Linux安装完成之后,包含很多文件和目录

    1、pwd命令:显示当前目录的路径

    新打开一个终端,在用户的家目录中(),如果用户是lilei,那么这个目录就是/home/lilei。终端会告诉你现在在哪个目录下。除了看命令行提示符,还有一个方法:pwd命令

    pwd是Print Working Directory(“打印当前工作目录”)的缩写

    使用方法也很简单,直接输入pwd,然后回车,就会执行此命令(mac中对应的/Users)

    image.png

    2、which命令:获取命令的可执行文件的位置

    which命令不是一个必不可少的命令,平时用到它的机会也不多

    which命令用于显示一个命令的对应可执行程序的位置

    Linux下,每一条命令其实对应了一个可执行程序

    在终端中输入命令,按回车的时候,就是执行了对应的那个程序

    pwd命令对应的pwd程序就是存在于Linux中的

    一个命令,其实只不过是一个我们随时可以调用的程序罢了

    which命令接受一个参数,是你想知道其可执行程序位于哪里的那个命令

    pwd命令对应的pwd程序位于/usr/bin目录中

    (mac位于/bin/pwd)

    Windows可执行程序以.exe结尾,Linux中一般是没有后缀名的

    当然了,Linux中可执行程序也不是都位于相同目录的

    总结

    在Linux中,一切皆文件!这是与Windows区别很大的一点

    Linux的文件和目录都是由根目录/开始自顶向下呈乔木状分散的

    普通用户存放自己私人文件的地方是在/home(mac在/Users目录下)目录下

    如果你的用户名是lilei,你的家目录就是/home/lilei(mac下为/Users/lilei)

    pwd命令用于显示当前所在目录

    which命令用于显示一个命令的对应可执行程序的位置

    五、ls命令:列出文件和目录

    ls命令是最常用的Linux命令之一

    ls是list的缩写,是英语“列出”的意思

    ls命令用于列出文件和目录

    ls命令常用参数

    -a:显示所有文件和目录,包括隐藏

    [图片上传失败...(image-2184aa-1696755033464)]

    在Linux中,以点(.)开头的文件是隐藏文件

    不包括开头的两个.和..,这两个的含义如下

    .(一个点)表示当前目录;..(两个点)表示上一级目录

    大写的参数-A,它的作用和小写的-a几乎一样,唯一不同的是不列出.和..两个

    image.png

    大家还可以关注我的微信公众号,蜗牛全栈

    相关文章

      网友评论

          本文标题:Linux基础之目录结构

          本文链接:https://www.haomeiwen.com/subject/zjlvbdtx.html