Linux標(biāo)準(zhǔn)目錄結(jié)構(gòu)(FHS)
所有unix和類unix操作系統(tǒng)的目錄結(jié)構(gòu)均是以根開(kāi)始的倒掛樹(shù)形結(jié)構(gòu)
======================================
路徑
所謂路徑即目錄組成結(jié)構(gòu)
一個(gè)linux路徑由"/"和目錄(文件)名稱兩部分組成
比如:/etc/passwd
如果"/"出現(xiàn)在路徑開(kāi)頭,則其表示根目錄,在路徑中間出現(xiàn)"/"骤视,其含義是某
一個(gè)目錄下,那么上面所示路徑的意思就是"根目錄下的etc目錄下的
passwd文件"
如果路徑最后出現(xiàn)"/",則表示這是一個(gè)目錄
路徑分為兩類:絕對(duì)路徑和相對(duì)路徑
絕對(duì)路徑:凡是從根開(kāi)始的路徑
比如: /etc/sysconfig/? /etc/grub.conf
相對(duì)路徑:凡是非根開(kāi)始的路徑
比如:etc? var/ftp/pub? ../test.txt? ./test.sh
使用pwd命令查看當(dāng)前所在的絕對(duì)路徑:
pwd: 即print work directory
/? 下目錄
/dev設(shè)備文件目錄(塊設(shè)備和字符設(shè)備)
/usr應(yīng)用程序目錄
/var日志,服務(wù)文件(服務(wù)器數(shù)據(jù)目錄)
/etc配置文件目錄
/home普通用戶家目錄
/root管理員家目錄
/boot系統(tǒng)啟動(dòng)目錄(內(nèi)核 啟動(dòng)文件 引導(dǎo)程序)
/proc偽文件系統(tǒng)(硬件信息,內(nèi)核參數(shù),進(jìn)程在內(nèi)存中的信息)
/sys偽文件系統(tǒng)(硬件信息,內(nèi)核參數(shù),進(jìn)程在內(nèi)存中的信息)
/mnt其他掛載點(diǎn)
/opt第三方軟件(flush,splunk,open office)
/media媒介目錄(光盤(pán) u盤(pán))
/cgroup資源控制目錄(內(nèi)存 cpu....)
/selinuxselinux安全組件使用的目錄
/misc和/netautofs服務(wù)使用的目錄
/srv服務(wù)器數(shù)據(jù)目錄
/tmp臨時(shí)文件目錄
比如:
[root@wing etc]# pwd
/etc
切換路徑:
最常用使用的是cd命令,全稱:change? directory
比如:
#cd? ? ? ? ? //切換到當(dāng)前登陸用戶的家目錄
#cd test? ? //切換到當(dāng)前目錄下的test目錄
#cd -? ? ? ? //切換到上一次去過(guò)的目錄
#cd ..? ? ? ? //切換到父目錄
======================================
必知目錄作用
根目錄下所有一級(jí)目錄全部因安裝軟件"filesystem"而生
/usr? 軟件默認(rèn)安裝目錄,類似于windows系統(tǒng)內(nèi)的programs目錄
系統(tǒng)內(nèi)所安裝軟件的文件會(huì)分散存儲(chǔ)到其各個(gè)子目錄下
/usr/local/src? 通常存儲(chǔ)下載的源安裝文件
/usr/src? ? ? ? ? ? 通常存儲(chǔ)下載的源安裝文件
/bin? ? 目錄/usr/bin的符號(hào)鏈接芋类,用來(lái)存儲(chǔ)所有人可以使用的命令
/sbin? 目錄/usr/sbin的符號(hào)鏈接姜贡,用來(lái)存儲(chǔ)只有root可用的命令
/proc? 虛擬文件系統(tǒng)? 映射當(dāng)前內(nèi)核狀態(tài)? 系統(tǒng)進(jìn)程文件所處目錄
cpuinfo? ? cpu信息
meminfo? 內(nèi)存信息
/sys? ? 虛擬文件系統(tǒng),和proc不同的是如果硬件設(shè)備沒(méi)有插拔操作霍弹,其子目
錄結(jié)構(gòu)不會(huì)發(fā)生變化
/root? ? root賬戶的家目錄
/home 所有普通賬戶的家目錄
/etc? ? ? 存儲(chǔ)配置文件
/var? ? ? variable 存儲(chǔ)一些經(jīng)常變化的文件(ftp發(fā)布文件的目錄,web發(fā)布
網(wǎng)站的目錄娃弓,日志典格,郵件,計(jì)劃任務(wù))
/lib
/lib64? ? library存儲(chǔ)庫(kù)文件
/dev? ? ? 存儲(chǔ)設(shè)備文件
常用設(shè)備文件:/dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/
pts/1, /dev/zero, /dev/null, /dev/random
/boot? ? ? 存儲(chǔ)啟動(dòng)文件台丛,比如grub和內(nèi)核文件
/media? 圖形自動(dòng)掛載所使用的目錄(rhel7已經(jīng)沒(méi)用)
/run rhel7新增加目錄耍缴,是/var/run的硬鏈接,之前的光驅(qū)和u盤(pán)自
動(dòng)掛載目錄從/media換到了/run/media
/mnt? ? ? 手動(dòng)掛載目錄
/opt? ? ? ? 空目錄,某些軟件也會(huì)把它作為默認(rèn)安裝目錄
/cgroup? 資源控制
/tmp? ? ? 存儲(chǔ)臨時(shí)文件和因軟件退出而沒(méi)有被回收的垃圾文件
/net? /srv? /selinux? /lost+found這幾個(gè)目錄平時(shí)用的很少
--------------------------------------
根分區(qū)? ? ? ? ? ? -----/
啟動(dòng)分區(qū)? ? ? ? -----/boot
切換路徑擴(kuò)展
pushd 切換到指定路徑
popd? ? 回到上次的目錄
======================================
pushd可以切換到后面指定的路徑防嗡,順便累積堆棧目錄
堆棧:這里把pushd累積的目錄稱為堆棧
[root@wing etc]# pushd /etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts /etc//這兩個(gè)目錄就是累積的堆棧
再次累積一個(gè)堆棧目錄/test
[root@wing network-scripts]# pushd /test/
/test/etc/sysconfig/network-scripts /etc
dirs可以查看當(dāng)前累積的堆棧目錄变汪,也可以用dirs -c清空堆棧
[root@wing test]# dirs
/test /etc/sysconfig/network-scripts /etc
每次pushd都會(huì)切換到堆棧中排位第2的目錄
[root@wing etc]# pushd
/test /etc /etc/sysconfig/network-scripts
可以pushd +1把堆棧目錄向前挪一位,順便進(jìn)入挪位后排在第一的目錄
[root@wing etc]# pushd +1
/etc/sysconfig/network-scripts /test /etc
可以加更多數(shù)字挪更多目錄:
[root@wing network-scripts]# pushd +2
/etc /etc/sysconfig/network-scripts /test
======================================
popd 回到上一次去過(guò)的目錄
======================================
popd 和 pushd 命令的實(shí)際應(yīng)用中本鸣,在編寫(xiě) shell 腳本時(shí)會(huì)派上用場(chǎng) - 你不需要記住你從哪里來(lái)疫衩;只要執(zhí)行一下 popd,你就能回到你來(lái)的目錄荣德。