深入理解linux根目录结构
在根目錄(/,也稱為root)下很多的目錄,比如etc、usr、var、bin、sys...等目錄,而在這些目錄下也有很多的目錄或文件。文件系統(tǒng)在Linux下看上去就是一個樹形結(jié)構(gòu),linux文件系統(tǒng)的最頂端就是/,所有的目錄、文件、設(shè)備都在/之下,/就是Linux文件系統(tǒng)的組織者,也是最上級的領(lǐng)導(dǎo)者。
由于linux是開放源代碼,各大公司和團體根據(jù)linux的核心代碼做各自的操作,編程。這樣就造成在根下的目錄的不同。這樣就造成個人不能使用他人的linux系統(tǒng)的PC。因為你根本不知道一些基本的配置,文件在哪里。。。這就造成了混亂。這就是FHS(Filesystem?Hierarchy?Standard)機構(gòu)誕生的原因。該機構(gòu)是linux愛好者自發(fā)的組成的一個團體,主要是是對linux做一些基本的要求,不至于是操作者換一臺主機就成了linux的‘文盲’。
根據(jù)FHS(http://www.pathname.com/fhs/)的官方文件指出,他們的主要目的是希望讓使用者可以了解到已安裝軟件通常放置于那個目錄下,所以他們希望獨立的軟件開發(fā)商、操作系統(tǒng)制作者、以及想要維護系統(tǒng)的用戶,都能夠遵循FHS的標(biāo)準(zhǔn)。也就是說,FHS的重點在于規(guī)范每個特定的目錄下應(yīng)該要放置什么樣子的數(shù)據(jù)而已。這樣做好處非常多,因為Linux操作系統(tǒng)就能夠在既有的面貌下(目錄架構(gòu)不變)發(fā)展出開發(fā)者想要的獨特風(fēng)格。
事實上,FHS是根據(jù)過去的經(jīng)驗一直再持續(xù)的改版的,FHS依據(jù)文件系統(tǒng)使用的頻繁與否與是否允許使用者隨意更動,而將目錄定義成為四種交互作用的形態(tài),用表格來說有點像這樣:
| ? | 可分享的(shareable) | 不可分享的(unshareable) |
| 不變的(static) | /usr?(軟件放置處) | /etc?(配置文件) |
| /opt?(第三方協(xié)力軟件) | /boot?(開機與核心檔) | |
| 可變動的(variable) | /var/mail?(使用者郵件信箱) | /var/run?(程序相關(guān)) |
| /var/spool/news?(新聞組) | /var/lock?(程序相關(guān)) |
四種類型:
1.可分享的:
可以分享給其他系統(tǒng)掛載使用的目錄,所以包括執(zhí)行文件與用戶的郵件等數(shù)據(jù),是能夠分享給網(wǎng)絡(luò)上其他主機掛載用的目錄;
2.不可分享的:
自己機器上面運作的裝置文件或者是與程序有關(guān)的socket文件等,由于僅與自身機器有關(guān),所以當(dāng)然就不適合分享給其他主機了。
3.不變的:
有些數(shù)據(jù)是不會經(jīng)常變動的,跟隨著distribution而不變動。例如函式庫、文件說明文件、系統(tǒng)管理員所管理的主機服務(wù)配置文件等等;
4.可變動的:
經(jīng)常改變的數(shù)據(jù),例如登錄文件、一般用戶可自行收受的新聞組等。
事實上,FHS針對目錄樹架構(gòu)僅定義出三層目錄底下應(yīng)該放置什么數(shù)據(jù)而已,分別是底下這三個目錄的定義:
/??? :與開機系統(tǒng)有關(guān);
/usr :與軟件安裝/執(zhí)行有關(guān);
/var :與系統(tǒng)運作過程有關(guān)。
?
一.?根目錄?(/)?的意義與內(nèi)容:
根目錄是整個系統(tǒng)最重要的一個目錄,因為不但所有的目錄都是由根目錄衍生出來的,同時根目錄也與開機/還原/系統(tǒng)修復(fù)等動作有關(guān)。由于系統(tǒng)開機時需要特定的開機軟件、核心文件、開機所需程序、函式庫等等文件數(shù)據(jù),若系統(tǒng)出現(xiàn)錯誤時,根目錄也必須要包含有能夠修復(fù)文件系統(tǒng)的程序才行。因為根目錄是這么的重要,所以在FHS的要求方面,他希望根目錄不要放在非常大的分區(qū),因為越大的分區(qū)內(nèi)你會放入越多的數(shù)據(jù),如此一來根目錄所在分區(qū)就可能會有較多發(fā)生錯誤的機會。
因此FHS標(biāo)準(zhǔn)建議:根目錄(/)所在分區(qū)應(yīng)該越小越好,且應(yīng)用程序所安裝的軟件最好不要與根目錄放在同一個分區(qū)內(nèi),保持根目錄越小越好。如此不但效能較佳,根目錄所在的文件系統(tǒng)也較不容易發(fā)生問題。說白了,就是根目錄和Windows的C盤一個樣。
根據(jù)以上原因,FHS認(rèn)為根目錄(/)下應(yīng)該包含如下子目錄:
| 目錄 | 應(yīng)放置檔案內(nèi)容 |
| /bin | 系統(tǒng)有很多放置執(zhí)行檔的目錄,但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。在/bin底下的指令可以被root與一般帳號所使用,主要有:cat,chmod(修改權(quán)限),chown,date,mv,mkdir,cp,bash等等常用的指令。 |
| /boot | 主要放置開機會使用到的檔案,包括Linux核心檔案以及開機選單與開機所需設(shè)定檔等等。Linux?kernel常用的檔名為:vmlinuz,如果使用的是grub這個開機管理程式,則還會存在/boot/grub/這個目錄。 |
| /dev | 在Linux系統(tǒng)上,任何裝置與周邊設(shè)備都是以檔案的型態(tài)存在于這個目錄當(dāng)中。只要通過存取這個目錄下的某個檔案,就等于存取某個裝置。比要重要的檔案有/dev/null,/dev/zero,/dev/tty,/dev/lp*,/dev/hd*,/dev/sd*等等 |
| /etc | etc就是Et cetra,表示其他、等等什么的。該目錄包含系統(tǒng)啟動腳本、服務(wù)啟動配置文件、用戶登陸配置文件、網(wǎng)絡(luò)配置文件、httpd 配置文件、IPSec 配置文件和其他文件。系統(tǒng)主要的設(shè)定檔幾乎都放置在這個目錄內(nèi),例如人員的帳號密碼檔、各種服務(wù)啟動/停止等等。一般來說,這個目錄下的各檔案屬性是可以讓一般使用者查閱的,但是只有root有權(quán)力修改。FHS建議不要放置可執(zhí)行檔(binary)在這個目錄中。比較重要的檔案有:/etc/inittab,/etc/init.d/,/etc/modprobe.conf,/etc/X11/,/etc/fstab,/etc/sysconfig/等等。另外,其下重要的目錄有:/etc/init.d/下存放所有服務(wù)的預(yù)設(shè)啟動停止,例如要啟動或者關(guān)閉iptables的話:/etc/init.d/iptables start或/etc/init.d/iptables stop /etc/xinetd.d:就是所謂superdaemon(后臺程序)管理的各項服務(wù)的設(shè)定檔目錄。 /etc/X11/:與X Window有關(guān)的各種設(shè)定檔都在這里,尤其是xorg.conf或XF86Config這兩個X Server的設(shè)定檔。 |
| /home | 這是系統(tǒng)預(yù)設(shè)的使用者家目錄(home directory)。在你新增一個一般使用者帳號時,預(yù)設(shè)的使用者家目錄都會規(guī)范到這里來。比較重要的是,家目錄有兩種代號:? |
| /lib | 系統(tǒng)的函式庫非常的多,而/lib放置的則是在開機時會用到的函式庫,以及在/bin或/sbin底下的指令會呼叫的函式庫而已。什么是函式庫呢?可以將他想成是外掛,某些指令必須要有這些外掛才能夠順利完成程式的執(zhí)行之意。尤其重要的是/lib/modules/這個目錄,因為該目錄會放置核心相關(guān)的模組(驅(qū)動程式)。 |
| /media | media是媒體的英文,顧名思義,這個/media底下放置的就是可移除的裝置。包括軟碟、光碟、DVD等等裝置都暫時掛載于此。?常見的檔名有:/media/floppy,/media/cdrom等等。 |
| /mnt | 如果想要暫時掛載某些額外的裝置,一般建議妳可以放置到這個目錄中。在古早時候,這個目錄的用途與/media相同。只是有了/media之后,這個目錄就用來暫時掛載用了。 |
| /opt | 這個是給第三方協(xié)力軟體放置的目錄。什么是第三方協(xié)力軟體?舉例來說,KDE這個桌面管理系統(tǒng)是一個獨立的,不過他可以安裝到Linux系統(tǒng)中,因此KDE的軟體就建議放置到此目錄下了。另外,如果妳想要自行安裝額外的軟體(非原本的distribution提供的),那么也能夠?qū)⒛愕能涹w安裝到這里來。不過,以前的Linux系統(tǒng)中,我們還是習(xí)慣放置在/usr/local目錄下。 |
| /root | 系統(tǒng)管理員(root)的家目錄。之所以放在這里,是因為如果進入單人維護模式而僅掛載根目錄時,該目錄就能夠擁有root的家目錄,所以我們會希望root的家目錄與根目錄放置在同一個分區(qū)中。 |
| /sbin | 可視為super bin的縮寫,Linux有非常多指令是用來設(shè)定系統(tǒng)環(huán)境的,這些指令只有root才能夠利用來設(shè)定系統(tǒng),其他使用者最多只能用來查詢而已。放在/sbin底下的為開機過程中所需要的,里面包括了開機、修復(fù)、還原系統(tǒng)所需要的指令。至于某些伺服器軟體程式,一般則放置到/usr/sbin/當(dāng)中。至于本機自行安裝的軟體所產(chǎn)生的系統(tǒng)執(zhí)行檔(system binary),則放置到/usr/local/sbin/當(dāng)中了。常見的指令包括:fdisk,fsck,ifconfig,init,mkfs等等。 |
| /srv | srv可以視為service的縮寫,是一些網(wǎng)路服務(wù)啟動之后,這些服務(wù)所需要取用的資料目錄。常見的服務(wù)例如WWW,FTP等等。舉例來說,WWW伺服器需要的網(wǎng)頁資料就可以放置在/srv/www/里面。呵呵,看來平時我們編寫的代碼應(yīng)該放到這里了。 |
| /tmp | 本意就是temp臨時的意思,這是讓一般使用者或者是正在執(zhí)行的程序暫時放置檔案的地方。這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。當(dāng)然,重要資料不可放置在此目錄啊。?因為FHS甚至建議在開機時,應(yīng)該要將/tmp下的資料都刪除。 |
?事實上FHS針對根目錄所定義的標(biāo)準(zhǔn)就僅限于上表,不過FHS標(biāo)準(zhǔn)定義之外的一些目錄也需要我們了解一下,具體如下:
| 目錄 | 應(yīng)放置文件內(nèi)容 |
| /lost+found | 這個目錄是使用標(biāo)準(zhǔn)的ext2/ext3檔案系統(tǒng)格式才會產(chǎn)生的一個目錄,目的在于當(dāng)檔案系統(tǒng)發(fā)生錯誤時,將一些遺失的片段放置到這個目錄下。這個目錄通常會在分割槽的最頂層存在,例如你加裝一個硬盤于/disk中,那在這個系統(tǒng)下就會自動產(chǎn)生一個這樣的目錄/disk/lost+found |
| /proc | 這個目錄本身是一個虛擬文件系統(tǒng)(virtual?filesystem)喔。他放置的資料都是在內(nèi)存當(dāng)中,例如系統(tǒng)核心、行程資訊(process)(是進程嗎?)、周邊裝置的狀態(tài)及網(wǎng)絡(luò)狀態(tài)等等。因為這個目錄下的資料都是在記憶體(內(nèi)存)當(dāng)中,所以本身不占任何硬盤空間。比較重要的檔案(目錄)例如:?/proc/cpuinfo,/proc/dma,/proc/interrupts,/proc/ioports,/proc/net/*等等。呵呵,是虛擬內(nèi)存嗎[guest]? |
| /sys | 這個目錄其實跟/proc非常類似,也是一個虛擬的檔案系統(tǒng),主要也是記錄與核心相關(guān)的資訊。?包括目前已載入的核心模組與核心偵測到的硬體裝置資訊等等。?這個目錄同樣不占硬盤容量。 |
除了這些目錄的內(nèi)容之外,另外要注意的是,因為根目錄與開機有關(guān),開機過程中僅有根目錄會被掛載,其他分區(qū)則是在開機完成之后才會持續(xù)的進行掛載的行為。就是因為如此,因此根目錄下與開機過程有關(guān)的目錄,就不能夠與根目錄放到不同的分區(qū)去。那哪些目錄不可與根目錄分開呢?有底下這些:
/etc:配置文件
/bin:重要執(zhí)行檔
/dev:所需要的裝置文件
/lib:執(zhí)行檔所需的函式庫與核心所需的模塊
/sbin:重要的系統(tǒng)執(zhí)行文件
這五個目錄千萬不可與根目錄分開在不同的分區(qū)。請背下來啊。?
下面是詳細(xì)說明/etc目錄:
| 目錄 | 描述 |
| /etc/rc /etc/rc.d /etc/rc*.d | 啟動、或改變運行級時運行的scripts或scripts的目錄. |
| /etc/hosts | 本地域名解析文件 |
| /etc/sysconfig/network或/etc/network 注意:RedHat或CentOS有/etc/sysconfig這個配置目錄,但如Debian是沒有這個目錄的。 | IP、掩碼、網(wǎng)關(guān)、主機名配置 |
| /etc/resolv.conf | DNS服務(wù)器配置 |
| /etc/fstab | 開機自動掛載系統(tǒng),所有分區(qū)開機都會自動掛載 |
| /etc/inittab | 設(shè)定系統(tǒng)啟動時Init進程將把系統(tǒng)設(shè)置成什么樣的runlevel及加載相關(guān)的啟動文件配置 |
| /etc/exports | 設(shè)置NFS系統(tǒng)用的配置文件路徑 |
| /etc/init.d | 這個目錄來存放系統(tǒng)啟動腳本 |
| /etc/profile, /etc/csh.login, /etc/csh.cshrc | 全局系統(tǒng)環(huán)境配置變量 |
| /etc/issue | 認(rèn)證前的輸出信息,默認(rèn)輸出版本內(nèi)核信息 |
| /etc/motd | 設(shè)置認(rèn)證后的輸出信息, |
| /etc/mtab | 當(dāng)前安裝的文件系統(tǒng)列表.由scripts初始化,并由mount?命令自動更新.需要一個當(dāng)前安裝的文件系統(tǒng)的列表時使用,例如df?命令 |
| /etc/group | 類似/etc/passwd?,但說明的不是用戶而是組. |
| /etc/passwd | 用戶數(shù)據(jù)庫,其中的域給出了用戶名、真實姓名、家目錄、加密的口令和用戶的其他信息. |
| /etc/shadow | 在安裝了影子口令軟件的系統(tǒng)上的影子口令文件.影子口令文件將/etc/passwd?文件中的加密口令移動到/etc/shadow?中,而后者只對root可讀.這使破譯口令更困難. |
| /etc/sudoers | 可以sudo命令的配置文件 |
| /etc/syslog.conf | 系統(tǒng)日志參數(shù)配置 |
| /etc/login.defs | 設(shè)置用戶帳號限制的文件 |
| /etc/securetty | 確認(rèn)安全終端,即哪個終端允許root登錄.一般只列出虛擬控制臺,這樣就不可能(至少很困難)通過modem或網(wǎng)絡(luò)闖入系統(tǒng)并得到超級用戶特權(quán). |
| /etc/printcap | 類似/etc/termcap?,但針對打印機.語法不同. |
| /etc/shells | 列出可信任的shell.chsh?命令允許用戶在本文件指定范圍內(nèi)改變登錄shell.提供一臺機器FTP服務(wù)的服務(wù)進程ftpd?檢查用戶shell是否列在?/etc/shells?文件中,如果不是將不允許該用戶登錄. |
| /etc/xinetd.d | 如果服務(wù)器是通過xinetd模式運行的,它的腳本要放在這個目錄下。有些系統(tǒng)沒有這個目錄,比如Slackware,有些老的版本也沒有。在Redhat Fedora中比較新的版本中存在。 |
| /etc/opt/ | /opt/的配置文件 |
| /etc/X11/ | X_Window系統(tǒng)(版本11)的配置文件 |
| /etc/sgml/ | SGML的配置文件 |
| /etc/xml/ | XML的配置文件 |
| /etc/skel/ | 默認(rèn)創(chuàng)建用戶時,把該目錄拷貝到家目錄下 |
二./usr的意義與內(nèi)容:
依據(jù)FHS的基本定義,/usr里面放置的數(shù)據(jù)屬于可分享的與不可變動的,如果你知道如何透過網(wǎng)絡(luò)進行分區(qū)的掛載(例如在服務(wù)器篇會談到的NFS服務(wù)器),那么/usr確實可以分享給局域網(wǎng)絡(luò)內(nèi)的其他主機來使用。
/usr不是user的縮寫,其實usr是Unix Software Resource的縮寫,也就是Unix操作系統(tǒng)軟件資源所放置的目錄,而不是用戶的數(shù)據(jù),這點要注意。FHS建議所有軟件開發(fā)者,應(yīng)該將他們的數(shù)據(jù)合理的分別放置到這個目錄下的次目錄,而不要自行建立該軟件自己獨立的目錄。
因為是所有系統(tǒng)默認(rèn)的軟件(distribution發(fā)布者提供的軟件)都會放置到/usr底下,因此這個目錄有點類似Windows系統(tǒng)的C:\Windows\ + C:\Program files\這兩個目錄的綜合體,系統(tǒng)剛安裝完畢時,這個目錄會占用最多的硬盤容量。一般來說,/usr的次目錄建議有底下這些:
| 目錄 | 應(yīng)放置文件內(nèi)容 |
| /usr/X11R6/? | 為X?Window?System重要數(shù)據(jù)所放置的目錄,之所以取名為X11R6是因為最后的X版本為第11版,且該版的第6次釋出之意。? |
| /usr/bin/? | 絕大部分的用戶可使用指令都放在這里。請注意到他與/bin的不同之處。(是否與開機過程有關(guān))? |
| /usr/include/? | c/c++等程序語言的檔頭(header)與包含檔(include)放置處,當(dāng)我們以tarball方式?(*.tar.gz?的方式安裝軟件)安裝某些數(shù)據(jù)時,會使用到里頭的許多包含檔。? |
| /usr/lib/? | 包含各應(yīng)用軟件的函式庫、目標(biāo)文件(object?file),以及不被一般使用者慣用的執(zhí)行檔或腳本(script)。?某些軟件會提供一些特殊的指令來進行服務(wù)器的設(shè)定,這些指令也不會經(jīng)常被系統(tǒng)管理員操作,?那就會被擺放到這個目錄下啦。要注意的是,如果你使用的是X86_64的Linux系統(tǒng),?那可能會有/usr/lib64/目錄產(chǎn)生? |
| /usr/local/? | 統(tǒng)管理員在本機自行安裝自己下載的軟件(非distribution默認(rèn)提供者),建議安裝到此目錄,?這樣會比較便于管理。舉例來說,你的distribution提供的軟件較舊,你想安裝較新的軟件但又不想移除舊版,?此時你可以將新版軟件安裝于/usr/local/目錄下,可與原先的舊版軟件有分別啦。?你可以自行到/usr/local去看看,該目錄下也是具有bin,etc,include,lib...的次目錄? |
| /usr/sbin/? | 非系統(tǒng)正常運作所需要的系統(tǒng)指令。最常見的就是某些網(wǎng)絡(luò)服務(wù)器軟件的服務(wù)指令(daemon, )? |
| /usr/share/? | 放置共享文件的地方,在這個目錄下放置的數(shù)據(jù)幾乎是不分硬件架構(gòu)均可讀取的數(shù)據(jù),?因為幾乎都是文本文件。在此目錄下常見的還有這些次目錄:/usr/share/man:聯(lián)機幫助文件 /usr/share/doc:軟件雜項的文件說明 /usr/share/zoneinfo:與時區(qū)有關(guān)的時區(qū)文件 |
| /usr/src/? | src有source的意思。linux核心源碼放置到/usr/src/linux/目錄下。? |
?
三./var的意義與內(nèi)容:
如果/usr是安裝時會占用較大硬盤容量的目錄,那么/var就是在系統(tǒng)運作后才會漸漸占用硬盤容量的目錄。因為/var目錄主要針對常態(tài)性變動的文件,包括緩存(cache)、登錄檔(log file)以及某些軟件運作所產(chǎn)生的文件,包括程序文件(lock file,run file),或者例如MySQL數(shù)據(jù)庫的文件等等。常見的次目錄有:
| 目錄 | 應(yīng)放置文件內(nèi)容 |
| /var/cache/ | 應(yīng)用程序本身運作過程中會產(chǎn)生的一些暫存檔 |
| /var/lib/ | 程序本身執(zhí)行的過程中,需要使用到的數(shù)據(jù)文件放置的目錄。在此目錄下各自的軟件應(yīng)該要有各自的目錄。舉例來說,MySQL的數(shù)據(jù)庫放置到/var/lib/mysql/而rpm的數(shù)據(jù)庫則放到/var/lib/rpm去 |
| /var/lock/ | 某些裝置或者是文件資源一次只能被一個應(yīng)用程序所使用,如果同時有兩個程序使用該裝置時,就可能產(chǎn)生一些錯誤的狀況,因此就得要將該裝置上鎖(lock),以確保該裝置只會給單一軟件所使用。舉例來說,刻錄機正在刻錄一塊光盤,你想一下,會不會有兩個人同時在使用一個刻錄機燒片?如果兩個人同時刻錄,那片子寫入的是誰的數(shù)據(jù)?所以當(dāng)?shù)谝粋€人在刻錄時該刻錄機就會被上鎖,第二個人就得要該裝置被解除鎖定(就是前一個人用完了)才能夠繼續(xù)使用 |
| /var/log/ | 非常重要。這是登錄文件放置的目錄。里面比較重要的文件如/var/log/messages,/var/log/wtmp(記錄登入者的信息)等。 |
| /var/mail/ | 放置個人電子郵件信箱的目錄,不過這個目錄也被放置到/var/spool/mail/目錄中,通常這兩個目錄是互為鏈接文件。 |
| /var/run/ | 某些程序或者是服務(wù)啟動后,會將他們的PID放置在這個目錄下 |
| /var/spool/ | 這個目錄通常放置一些隊列數(shù)據(jù),所謂的“隊列”就是排隊等待其他程序使用的數(shù)據(jù)。這些數(shù)據(jù)被使用后通常都會被刪除。舉例來說,系統(tǒng)收到新信會放置到/var/spool/mail/中,但使用者收下該信件后該封信原則上就會被刪除。信件如果暫時寄不出去會被放到/var/spool/mqueue/中,等到被送出后就被刪除。如果是工作排程數(shù)據(jù)(crontab),就會被放置到/var/spool/cron/目錄中。 |
由于FHS僅是定義出最上層(/)及次層(/usr,/var)的目錄內(nèi)容應(yīng)該要放置的文件或目錄數(shù)據(jù),因此,在其他次目錄層級內(nèi),就可以隨開發(fā)者自行來配置了。
四.?目錄樹(directory?tree):
在Linux底下,所有的文件與目錄都是由根目錄開始的。那是所有目錄與文件的源頭,然后再一個一個的分支下來,因此,我們也稱這種目錄配置方式為:目錄樹(directory tree),這個目錄樹的主要特性有:
① 目錄樹的啟始點為根目錄(/,root);
②?每一個目錄不止能使用本地端的partition的文件系統(tǒng),也可以使用網(wǎng)絡(luò)上的filesystem。舉例來說,可以利用Network File System (NFS)服務(wù)器掛載某特定目錄等。
③每一個文件在此目錄樹中的文件名(包含完整路徑)都是獨一無二的。
錄樹架構(gòu)就如下圖所示:
五.?絕對路徑與相對路徑
絕對路徑:
由根目錄(/)開始寫起的文件名或目錄名稱,例如/home/dmtsai/.bashrc;
相對路徑:
相對路徑是以你當(dāng)前所在路徑的相對位置來表示的。例如./home/dmtsai或http://www.cnblogs.com等等。反正開頭不是/就屬于相對路徑
特別注意這兩個特殊的目錄:
.? :代表當(dāng)前的目錄,也可以使用 ./ 來表示;
.. :代表上一層目錄,也可以 ../ 來代表。
實例1:如何先進入/var/spool/mail/目錄,再進入到/var/spool/cron/目錄內(nèi)?
cd /var/spool/mail
cd ../cron
說明:由于/var/spool/mail與/var/spool/cron是同樣在/var/spool/目錄中。如此就不需要在由根目錄開始寫起了。這個相對路徑是非常有幫助的,尤其對于某些軟件開發(fā)商來說。一般來說,軟件開發(fā)商會將數(shù)據(jù)放置到/usr/local/里面的各相對目錄。但如果用戶想要安裝到不同目錄呢?就得要使用相對路徑。
實例2:比如網(wǎng)絡(luò)文件run.sh在/home/wang/下面,此時路徑已經(jīng)處于home/wang/這里了,為什么不能直接執(zhí)行run.sh執(zhí)行腳本,而是要執(zhí)行指令./run.sh?
說明:若你的執(zhí)行文件放置在本目錄,并且本目錄并非正規(guī)的執(zhí)行文件目錄(/bin,/usr/bin等稱為正規(guī)的執(zhí)行文件目錄),此時要執(zhí)行指令就得要嚴(yán)格指定該執(zhí)行目錄。./代表本目錄的意思,所以./run.sh代表執(zhí)行本目錄下, 名為run.sh的文件。
參見:“https://m.jb51.net/LINUXjishu/151820.html”
?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的深入理解linux根目录结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工具SSHSecure连接远程服务器步骤
- 下一篇: 编译linux-2.6.29内核,报错解