Linux目錄與路徑
1.絕對路徑與相對路徑
? 與Windows一樣,linux也有絕對路徑與相對路徑的區別:
? Windows的絕對路徑是以某個盤為起點,如win的桌面的絕對路徑為:
cd C:\Users\Administrator\Desktop
? 而win的相對路徑,如桌面上有兩個檔案test1.txt和test2.txt,那么他們的相對路徑就是他們互相的檔案名,
? linux的相對路徑與win相同,而絕對路徑是從 / 也就是根目錄(root)寫起,如linux的桌面路徑為:
cd /usr/Administrator/home/Desktop
? 由路徑就引向了linux的目錄架構
? 絕對路徑和相對路徑的區別就是,當錨定的檔案移動時,絕對路徑是依然能找到目標檔案的,而相對路徑則不行,它們各有優劣,相對路徑可以在大量檔案整體移動時保持相對完整的參考鏈;而絕對路徑在對檔案的定位時更為準確清晰,
2.linux的目錄結構
? Linux的不管是redhat還是debian都有相似的目錄架構,在尋找檔案或安裝檔案時,能作為參考,Linux因為一切皆檔案的特性,會有一些特殊的檔案路徑,如 /proc, **/dev **等

? 這里參考菜鳥教程的目錄結構介紹,非常清晰明了:
-
/bin:
bin 是 Binaries (二進制檔案) 的縮寫, 這個目錄存放著最經常使用的命令, -
/boot:
這里存放的是啟動 Linux 時使用的一些核心檔案,包括一些連接檔案以及鏡像檔案, -
/dev :
dev 是 Device(設備) 的縮寫, 該目錄下存放的是 Linux 的外部設備,在 Linux 中訪問設備的方式和訪問檔案的方式是相同的, -
/etc:
etc 是 Etcetera(等等) 的縮寫,這個目錄用來存放所有的系統管理所需要的組態檔和子目錄, -
/home:
用戶的主目錄,在 Linux 中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的,如上圖中的 alice、bob 和 eve, -
/lib:
lib 是 Library(庫) 的縮寫這個目錄里存放著系統最基本的動態連接共享庫,其作用類似于 Windows 里的 DLL 檔案,幾乎所有的應用程式都需要用到這些共享庫, -
/lost+found:
這個目錄一般情況下是空的,當系統非法關機后,這里就存放了一些檔案, -
/media:
linux 系統會自動識別一些設備,例如U盤、光驅等等,當識別后,Linux 會把識別的設備掛載到這個目錄下, -
/mnt:
系統提供該目錄是為了讓用戶臨時掛載別的檔案系統的,我們可以將光驅掛載在 /mnt/ 上,然后進入該目錄就可以查看光驅里的內容了, -
/opt:
opt 是 optional(可選) 的縮寫,這是給主機額外安裝軟體所擺放的目錄,比如你安裝一個ORACLE資料庫則就可以放到這個目錄下,默認是空的, -
/proc:
proc 是 Processes(行程) 的縮寫,/proc 是一種偽檔案系統(也即虛擬檔案系統),存盤的是當前內核運行狀態的一系列特殊檔案,這個目錄是一個虛擬的目錄,它是系統記憶體的映射,我們可以通過直接訪問這個目錄來獲取系統資訊,
這個目錄的內容不在硬碟上而是在記憶體里,我們也可以直接修改里面的某些檔案,以達到修改行程的目的 ,如:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
-
/root:
該目錄為系統管理員,也稱作超級權限者的用戶主目錄, -
/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超級用戶的二進制檔案) 的縮寫,這里存放的是系統管理員使用的系統管理程式, -
/selinux:
這個目錄是 Redhat/CentOS 所特有的目錄,Selinux 是一個安全機制,類似于 windows 的防火墻,但是這套機制比較復雜,這個目錄就是存放selinux相關的檔案的, -
/srv:
該目錄存放一些服務啟動之后需要提取的資料, -
/sys:
這是 Linux2.6 內核的一個很大的變化,該目錄下安裝了 2.6 內核中新出現的一個檔案系統 sysfs ,
sysfs 檔案系統集成了下面3種檔案系統的資訊:針對行程資訊的 proc 檔案系統、針對設備的 devfs 檔案系統以及針對偽終端的 devpts 檔案系統,
該檔案系統是內核設備樹的一個直觀反映,
當一個內核物件被創建的時候,對應的檔案和目錄也在內核物件子系統中被創建,
-
/tmp:
tmp 是 temporary(臨時) 的縮寫這個目錄是用來存放一些臨時檔案的, -
/usr:
usr 是 unix shared resources(共享資源) 的縮寫,這是一個非常重要的目錄,用戶的很多應用程式和檔案都放在這個目錄下,類似于 windows 下的 program files 目錄, -
/usr/bin:
系統用戶使用的應用程式, -
/usr/sbin:
超級用戶使用的比較高級的管理程式和系統守護程式, -
/usr/src:
內核源代碼默認的放置目錄, -
/var:
var 是 variable(變數) 的縮寫,這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下,包括各種日志檔案, -
/run:
是一個臨時檔案系統,存盤系統啟動以來的資訊,當系統重啟時,這個目錄下的檔案應該被刪掉或清除,如果你的系統上有 /var/run 目錄,應該讓它指向 run,
3.全域變數$PATH
? 在liunx中要使用一個可執行檔案一般都是以 ./檔案名 的方式執行,但是為什么像 ls cd ps 這些系統內置命令,和一些通過安裝包安裝的軟體可以在任意位置使用呢?
? 就是因為有全域變數$PATH的存在:在執行這些命令時,會從全域變數$PATH所指的那些路徑中從前到后尋找相應的命令進行執行,
? 我們可以用以下命令查看$PATH的內容:
echo $PATH
? 在Ubuntu 18.04 Desktop里會得到以下內容:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
? 在Centos 3.10.0里會得到以下內容:
/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
? 那么因此可以把自己寫的腳本放到這些目錄下,就可以在任意地方執行了,當然也可以將惡意程式放在優先級更高的目錄來偽裝成某個程式誘導執行,
? 可能每個人的$PATH并不全是一樣的,也有可能根據不同的系統,不同的賬戶發生改變,當然,也可以自行進行增刪改,
4.目錄查看和增刪
4.1查看目錄
? 在查看目錄的可以時候使用:
ls -l
? 或者:
ll
? 來查看檔案的具體情況:有權限,創建者,所屬人,最后改動的時間戳,詳細的檔案名(如目錄、鏈接檔案等特殊檔案),這些是有關檔案的內容,這里不做贅述,
? 在查看目錄時使用:
ls -a
? 來查看當前目錄所有的檔案或目錄,
? 這兩個引數當然也可以合起來使用,來查看所有檔案的詳細情況,
4.2增、刪、移目錄
? 在創建目錄時使用:
mkdir 目錄的相對/絕對路徑
? 當在創建目錄時,可以使用 -m 來指定該目錄的權限,一般來說目錄都應含有執行權限(x權限)和讀取權限(r權限),這樣才能進入(對應x權限)和讀取(對應r權限)該目錄,
? 也可以遞回創建目錄,只需要加上 -p 則可以依次創建不存在的目錄,
? 在洗掉目錄時使用:
rmdir 目錄的相對/絕對路徑
? 但是這樣只能洗掉空目錄!也就是說如果該目錄中有檔案或者其他目錄時,則不能使用該命令,而要用:
rm -r 目錄的相對/絕對路徑
? 來洗掉該目錄和該目錄下的所有內容,
? 在移動或重命名目錄時:(對于檔案也可以使用這個命令)
mv 要移動的目錄的相對/絕對路徑 移動到的目錄的相對/絕對路徑
由此可見,其實重命名的本質也是移動,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/512951.html
標籤:其他
上一篇:Mac效率軟體:Multitouch for Mac(TouchOven觸控板手勢增強軟體)
下一篇:使用yum管理軟體包
