新聞中心
1.絕對路徑與相對路徑
? 與Windows一樣,linux也有絕對路徑與相對路徑的區(qū)別:

? Windows的絕對路徑是以某個盤為起點,如win的桌面的絕對路徑為:
| cd C:\Users\Administrator\Desktop |
? 而win的相對路徑,如桌面上有兩個文件test1.txt和test2.txt,那么他們的相對路徑就是他們互相的文件名。
? linux的相對路徑與win相同,而絕對路徑是從?/?也就是根目錄(root)寫起,如linux的桌面路徑為:
| cd /usr/Administrator/home/Desktop |
? 由路徑就引向了linux的目錄架構(gòu)
??絕對路徑和相對路徑的區(qū)別就是,當錨定的文件移動時,絕對路徑是依然能找到目標文件的,而相對路徑則不行。它們各有優(yōu)劣,相對路徑可以在大量文件整體移動時保持相對完整的引用鏈;而絕對路徑在對文件的定位時更為準確清晰。
2.linux的目錄結(jié)構(gòu)
? Linux的不管是redhat還是debian都有相似的目錄架構(gòu),在尋找文件或安裝文件時,能作為參考。Linux因為一切皆文件的特性,會有一些特殊的文件路徑,如?/proc, **/dev **等
?
- /bin:
bin 是 Binaries (二進制文件) 的縮寫, 這個目錄存放著最經(jīng)常使用的命令。 - /boot:
這里存放的是啟動 Linux 時使用的一些核心文件,包括一些連接文件以及鏡像文件。 - /dev :
dev 是 Device(設備) 的縮寫, 該目錄下存放的是 Linux 的外部設備,在 Linux 中訪問設備的方式和訪問文件的方式是相同的。 - /etc:
etc 是 Etcetera(等等) 的縮寫,這個目錄用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄。 - /home:
用戶的主目錄,在 Linux 中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的,如上圖中的 alice、bob 和 eve。 - /lib:
lib 是 Library(庫) 的縮寫這個目錄里存放著系統(tǒng)最基本的動態(tài)連接共享庫,其作用類似于 Windows 里的 DLL 文件。幾乎所有的應用程序都需要用到這些共享庫。 - /lost+found:
這個目錄一般情況下是空的,當系統(tǒng)非法關機后,這里就存放了一些文件。 - /media:
linux 系統(tǒng)會自動識別一些設備,例如U盤、光驅(qū)等等,當識別后,Linux 會把識別的設備掛載到這個目錄下。 - /mnt:
系統(tǒng)提供該目錄是為了讓用戶臨時掛載別的文件系統(tǒng)的,我們可以將光驅(qū)掛載在 /mnt/ 上,然后進入該目錄就可以查看光驅(qū)里的內(nèi)容了。 - /opt:
opt 是 optional(可選) 的縮寫,這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數(shù)據(jù)庫則就可以放到這個目錄下。默認是空的。 - /proc:
proc 是 Processes(進程) 的縮寫,/proc 是一種偽文件系統(tǒng)(也即虛擬文件系統(tǒng)),存儲的是當前內(nèi)核運行狀態(tài)的一系列特殊文件,這個目錄是一個虛擬的目錄,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個目錄來獲取系統(tǒng)信息。
這個目錄的內(nèi)容不在硬盤上而是在內(nèi)存里,我們也可以直接修改里面的某些文件,以達到修改進程的目的 ,如:
| echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all |
- /root:
該目錄為系統(tǒng)管理員,也稱作超級權(quán)限者的用戶主目錄。 - /sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超級用戶的二進制文件) 的縮寫,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序。 - /selinux:
這個目錄是 Redhat/CentOS 所特有的目錄,Selinux 是一個安全機制,類似于 windows 的防火墻,但是這套機制比較復雜,這個目錄就是存放selinux相關的文件的。 - /srv:
該目錄存放一些服務啟動之后需要提取的數(shù)據(jù)。 - /sys:這是 Linux2.6 內(nèi)核的一個很大的變化。該目錄下安裝了 2.6 內(nèi)核中新出現(xiàn)的一個文件系統(tǒng) sysfs 。
sysfs 文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對進程信息的 proc 文件系統(tǒng)、針對設備的 devfs 文件系統(tǒng)以及針對偽終端的 devpts 文件系統(tǒng)。
該文件系統(tǒng)是內(nèi)核設備樹的一個直觀反映。
當一個內(nèi)核對象被創(chuàng)建的時候,對應的文件和目錄也在內(nèi)核對象子系統(tǒng)中被創(chuàng)建。
- /tmp:
tmp 是 temporary(臨時) 的縮寫這個目錄是用來存放一些臨時文件的。 - /usr:
usr 是 unix shared resources(共享資源) 的縮寫,這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似于 windows 下的 program files 目錄。 - /usr/bin:
系統(tǒng)用戶使用的應用程序。 - /usr/sbin:
超級用戶使用的比較高級的管理程序和系統(tǒng)守護程序。 - /usr/src:
內(nèi)核源代碼默認的放置目錄。 - /var:
var 是 variable(變量) 的縮寫,這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經(jīng)常被修改的目錄放在這個目錄下。包括各種日志文件。 - /run:
是一個臨時文件系統(tǒng),存儲系統(tǒng)啟動以來的信息。當系統(tǒng)重啟時,這個目錄下的文件應該被刪掉或清除。如果你的系統(tǒng)上有 /var/run 目錄,應該讓它指向 run。
3.全局變量$PATH
? 在liunx中要使用一個可執(zhí)行文件一般都是以?./文件名?的方式執(zhí)行,但是為什么像?ls cd ps?這些系統(tǒng)內(nèi)置命令,和一些通過安裝包安裝的軟件可以在任意位置使用呢?
? 就是因為有全局變量\(PATH**的存在:在執(zhí)行這些命令時,會從**全局變量\)PATH所指的那些路徑中從前到后尋找相應的命令進行執(zhí)行。
? 我們可以用以下命令查看$PATH的內(nèi)容:
| echo $PATH |
? 在Ubuntu 18.04 Desktop里會得到以下內(nèi)容:
| /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin |
? 在Centos 3.10.0里會得到以下內(nèi)容:
| /usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin |
? 那么因此可以把自己寫的腳本放到這些目錄下,就可以在任意地方執(zhí)行了。當然也可以將惡意程序放在優(yōu)先級更高的目錄來偽裝成某個程序誘導執(zhí)行。
? 可能每個人的$PATH并不全是一樣的,也有可能根據(jù)不同的系統(tǒng),不同的賬戶發(fā)生改變,當然,也可以自行進行增刪改。
4.目錄查看和增刪
4.1查看目錄
? 在查看目錄的可以時候使用:
| ls -l |
? 或者:
| ll |
? 來查看文件的具體情況:有權(quán)限,創(chuàng)建者,所屬人,最后改動的時間戳,詳細的文件名(如目錄、鏈接文件等特殊文件),這些是有關文件的內(nèi)容,這里不做贅述。
? 在查看目錄時使用:
| ls -a |
? 來查看當前目錄所有的文件或目錄。
? 這兩個參數(shù)當然也可以合起來使用,來查看所有文件的詳細情況。
4.2增、刪、移目錄
? 在創(chuàng)建目錄時使用:
| mkdir 目錄的相對/絕對路徑 |
? 當在創(chuàng)建目錄時,可以使用?-m?來指定該目錄的權(quán)限,一般來說目錄都應含有執(zhí)行權(quán)限(x權(quán)限)和讀取權(quán)限(r權(quán)限),這樣才能進入(對應x權(quán)限)和讀?。▽?strong>r權(quán)限)該目錄。
? 也可以遞歸創(chuàng)建目錄,只需要加上?-p?則可以依次創(chuàng)建不存在的目錄。
? 在刪除目錄時使用:
| rmdir 目錄的相對/絕對路徑 |
??但是這樣只能刪除空目錄!也就是說如果該目錄中有文件或者其他目錄時,則不能使用該命令,而要用:
| rm -r 目錄的相對/絕對路徑 |
? 來刪除該目錄和該目錄下的所有內(nèi)容。
? 在移動或重命名目錄時:(對于文件也可以使用這個命令)
| mv 要移動的目錄的相對/絕對路徑 移動到的目錄的相對/絕對路徑 |
由此可見,其實重命名的本質(zhì)也是移動。
網(wǎng)站題目:Linux目錄與路徑
文章地址:http://m.fisionsoft.com.cn/article/coojsoo.html


咨詢
建站咨詢
