從今天開始,小編會陸續(xù)更新關(guān)于Linux一些基礎(chǔ)操作。希望大家能從我的文章中,有自己的收獲。 小編用的是macOS,部分操作和CentOS7不完全一致,針對不一致的部分,小編采用CentOS7上的截圖,畢竟在小編家里,有一臺陪伴我12年的筆記本電腦,活生生的被我改造成了一臺CentOS7。我們知道,Windows中,可能有好幾個根目錄。C盤(C:)是硬盤的根目錄(假如沒有把C盤磁盤分區(qū)的話)

Windows電腦目錄結(jié)構(gòu)

Linux目錄結(jié)構(gòu)
Linux有且只有一個根目錄,就是 / 。Linux中沒有比根目錄再高一階的目錄了,沒有目錄包含根目錄。根目錄就是Linux最頂層的目錄:“萬有之源,斜杠青年”
一、目錄的結(jié)構(gòu)
1、Windows下,一個目錄的形式是這樣的:C:\Program Files\Baidu

Baidu這個目錄是Program Files這個目錄的一個子目錄,Program Files這個目錄是C盤這個根目錄的一個子目錄。同時Windows中用反斜杠\來標(biāo)明目錄的層級與包含關(guān)系。


2、Linux目錄結(jié)構(gòu)
Linux中用斜杠/來標(biāo)明目錄的層級與包含關(guān)系,Linxu的目錄形式是這樣的 /usr/bin。bin是usr目錄的子目錄,usr是/這個根目錄的子目錄,目錄命名友情提示:Windows的目錄名稱可以包含空格等符號,Linux也可以。一般在Linux下命名目錄時盡量不使用空格或者其他符號,盡量使用小寫字母,這樣會避免很多不必要的麻煩。
二、根目錄的直屬子目錄
1、Windows的C盤這個根目錄下一般會找到一些相同的子目錄

2、Linux的根目錄的直屬子目錄
我們列出一些在Linux下的根目錄的常用直屬子目錄(有個大概印象就好,基本都是有英文含義的)小編的是macOS,屬于變種的Unix,與CentOS7不完全一樣,不過這影響不大。

三、Linux根目錄下的直屬子目錄簡介
1、bin
bin是英語binary的縮寫,表示“二進(jìn)制文件”(我們知道可執(zhí)行文件是二進(jìn)制的),包含了會被所有用戶使用的可執(zhí)行程序
2、boot
英語boot表示“啟動”,包含與Linux啟動密切相關(guān)的文件。
3、dev
英語device的縮寫,表示“設(shè)備”,包含外設(shè)。它里面的子目錄,每一個對應(yīng)一個外設(shè)。比如代表我們的光盤驅(qū)動器的文件就會出現(xiàn)在這個目錄下面。
4、etc
法語et cetera的縮寫。翻譯城英語就是and so on,表示“...等等”,etc目錄包含系統(tǒng)的配置文件。至于為什么放在/etc下面存放配置文件,按照原始的Unix的說法,這下面放的是一堆零零碎碎的東西,就叫etc好了,這個是歷史遺留問題。
5、home(macOS上對應(yīng)的是Users)
home:英語home表示“家”。用戶的私人目錄。在home目錄中,我們放置私人的文件,類似Windows中的Documents文件夾,也叫“我的文檔”。Linux中每個用戶都在home目錄下有一個私人目錄(除了root用戶以外)。root用戶擁有所有權(quán)限,比較“任性”,跟普通用戶不能住在一起。假如我的用戶名是lilei,那么我的私人目錄就是/home/lilei(macOS上對應(yīng)/Users/lilei)
6、lib
英語library的縮寫,表示“庫”。lib目錄包含被程序所調(diào)用的庫文件,例如.so結(jié)尾的文件。Windows下這樣的庫文件則是以.dll結(jié)尾。
7、media
英語media表示“媒體”,可移動的外設(shè)(USB盤、SD卡、DVD、光盤等)插入電腦時,Linux可以讓我們通過media的子目錄來訪問這些外設(shè)中的內(nèi)容。
8、mnt
英語mount的縮寫,表示“掛載”。有點(diǎn)類似media目錄,但一般用于臨時掛載一些裝置(接入U盤會用到該目錄)。
9、opt
英語optional application software package的縮寫。表示“可選的應(yīng)用軟件包”,用于安裝多數(shù)第三方軟件和插件。
10、root
英語“根”的意思,超級用戶root的家目錄。一般用戶的家目錄位于/home下,root用戶是個例外。
11、sbin
英語system binary的縮寫,表示“系統(tǒng)二進(jìn)制文件”,比bin目錄多了一個前綴system("系統(tǒng)")。sbin目錄包含系統(tǒng)級的重要可執(zhí)行程序
12、srv
英文service的縮寫,表示“服務(wù)”。包含一些網(wǎng)絡(luò)服務(wù)啟動之后所需要取用的數(shù)據(jù)。
13、tmp
英語temporary的縮寫,表示“臨時的”。普通用戶和程序存放臨時文件的地方。
14、usr
英語Unix Software Resource的縮寫。表示“Unix操作系統(tǒng)軟件資源”(類似etc,也是歷史遺留的命名)。usr目錄是最龐大的目錄之一,類似Windows中的C:\Windows和C:\Program Files這兩個文件夾的集合。usr目錄里安裝了大部分用戶要調(diào)用的程序。
15、var
英語variable的縮寫,表示“動態(tài)的,可變的”,var通常包含程序的數(shù)據(jù),比如log(日志)文件。log文件記錄電腦中發(fā)生了什么事。更多資源查看地址:https://linuxtoy.org/archives/linux-file-structure.html
總之一句話。Linux目錄結(jié)構(gòu)像“一棵倒置的樹”

四、pwd命令和which命令:我在哪呢?
Linux安裝完成之后,包含很多文件和目錄
1、pwd命令:顯示當(dāng)前目錄的路徑
新打開一個終端,在用戶的家目錄中(),如果用戶是lilei,那么這個目錄就是/home/lilei。終端會告訴你現(xiàn)在在哪個目錄下。除了看命令行提示符,還有一個方法:pwd命令
pwd是Print Working Directory(“打印當(dāng)前工作目錄”)的縮寫
使用方法也很簡單,直接輸入pwd,然后回車,就會執(zhí)行此命令(mac中對應(yīng)的/Users)

2、which命令:獲取命令的可執(zhí)行文件的位置
which命令不是一個必不可少的命令,平時用到它的機(jī)會也不多
which命令用于顯示一個命令的對應(yīng)可執(zhí)行程序的位置
Linux下,每一條命令其實(shí)對應(yīng)了一個可執(zhí)行程序
在終端中輸入命令,按回車的時候,就是執(zhí)行了對應(yīng)的那個程序
pwd命令對應(yīng)的pwd程序就是存在于Linux中的
一個命令,其實(shí)只不過是一個我們隨時可以調(diào)用的程序罷了
which命令接受一個參數(shù),是你想知道其可執(zhí)行程序位于哪里的那個命令
pwd命令對應(yīng)的pwd程序位于/usr/bin目錄中
(mac位于/bin/pwd)
Windows可執(zhí)行程序以.exe結(jié)尾,Linux中一般是沒有后綴名的
當(dāng)然了,Linux中可執(zhí)行程序也不是都位于相同目錄的
總結(jié)
在Linux中,一切皆文件!這是與Windows區(qū)別很大的一點(diǎn)
Linux的文件和目錄都是由根目錄/開始自頂向下呈喬木狀分散的
普通用戶存放自己私人文件的地方是在/home(mac在/Users目錄下)目錄下
如果你的用戶名是lilei,你的家目錄就是/home/lilei(mac下為/Users/lilei)
pwd命令用于顯示當(dāng)前所在目錄
which命令用于顯示一個命令的對應(yīng)可執(zhí)行程序的位置
五、ls命令:列出文件和目錄
ls命令是最常用的Linux命令之一
ls是list的縮寫,是英語“列出”的意思
ls命令用于列出文件和目錄
ls命令常用參數(shù)
-a:顯示所有文件和目錄,包括隱藏
[圖片上傳失敗...(image-2184aa-1696755033464)]
在Linux中,以點(diǎn)(.)開頭的文件是隱藏文件
不包括開頭的兩個.和..,這兩個的含義如下
.(一個點(diǎn))表示當(dāng)前目錄;..(兩個點(diǎn))表示上一級目錄
大寫的參數(shù)-A,它的作用和小寫的-a幾乎一樣,唯一不同的是不列出.和..兩個

大家還可以關(guān)注我的微信公眾號,蝸牛全棧