Linux基础之目录结构
从今天开始,小编会陆续更新关于Linux一些基础操作。希望大家能从我的文章中,有自己的收获。 小编用的是macOS,部分操作和CentOS7不完全一致,针对不一致的部分,小编采用CentOS7上的截图,毕竟在小编家里,有一台陪伴我12年的笔记本电脑,活生生的被我改造成了一台CentOS7。我们知道,Windows中,可能有好几个根目录。C盘(C:)是硬盘的根目录(假如没有把C盘磁盘分区的话)
image.pngWindows电脑目录结构
image.pngLinux目录结构
Linux有且只有一个根目录,就是 / 。Linux中没有比根目录再高一阶的目录了,没有目录包含根目录。根目录就是Linux最顶层的目录:“万有之源,斜杠青年”
一、目录的结构
1、Windows下,一个目录的形式是这样的:C:\Program Files\Baidu
image.pngBaidu这个目录是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.png2、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.png2、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大家还可以关注我的微信公众号,蜗牛全栈