天天看點

Linux目錄結構(Linux檔案系統結構)

Linux目錄結構(Linux檔案系統結構)

來源:部落格園

連結:http://www.cnblogs.com/Bob-FD/archive/2012/07/12/2588233.html 和 http://www.cnblogs.com/peida/archive/2012/11/21/2780075.html

Linux目錄結構(Linux檔案系統結構)

初學Linux,首先需要弄清Linux 标準目錄結構

/

●root --- 啟動Linux時使用的一些核心檔案。如作業系統核心、引導程式Grub等。

●home --- 存儲普通使用者的個人檔案

  • ftp --- 使用者所有服務
  • httpd
  • samba
  • user1
  • user2

●bin --- 系統啟動時需要的執行檔案(二進制)

●sbin --- 可執行程式的目錄,但大多存放涉及系統管理的指令。隻有root權限才能執行

●proc --- 虛拟,存在linux核心鏡像;儲存所有核心參數以及系統配置資訊

  • 1 --- 程序編号

●usr --- 使用者目錄,存放使用者級的檔案

  • bin --- 幾乎所有使用者所用指令,另外存在與/bin,/usr/local/bin
  • sbin --- 系統管理者指令,與使用者相關,例如,大部分伺服器程式
  • include ---  存放C/C++頭檔案的目錄
  • lib --- 固定的程式資料
  • local --- 本地安裝軟體儲存位置
  • man --- 手工生成的目錄
  • info --- 資訊文檔
  • doc --- 不同封包檔資訊
  • tmp
  • X11R6 ---  該目錄用于儲存運作X-Window所需的所有檔案。該目錄中還包含用于運作GUI要的配置檔案和二進制檔案。
  • X386 --- 功能同X11R6,X11 發行版5 的系統檔案

●boot --- 引導加載器所需檔案,系統所需圖檔儲存于此

●lib --- 根檔案系統目錄下程式和核心子產品的公共庫

  • modules --- 可加載子產品,系統崩潰後重新開機所需子產品

●dev --- 裝置檔案目錄

●etc --- 配置檔案

  • skel --- home目錄建立,該目錄初始化
  • sysconfig --- 網絡,時間,鍵盤等配置目錄

●var

  • file
  • lib --- 該目錄下的檔案在系統運作時,會改變
  • local --- 安裝在/usr/local的程式資料,變化的
  • lock --- 檔案使用特定外設或檔案,為其上鎖,其他檔案暫時不能通路
  • log --- 記錄日志
  • run --- 系統運作合法資訊
  • spool --- 列印機、郵件、代理伺服器等假脫機目錄
  • catman --- 緩存目錄

●mnt --- 臨時用于挂載檔案系統的地方。一般情況下這個目錄是空的,而在我們将要挂載分區時在這個目錄下建立目錄,再将我們将要通路的裝置挂載在這個目錄上,這樣我們就可通路檔案了。

●tmp --- 臨時檔案目錄,系統啟動後的臨時檔案存放在/var/tmp

●lost+found --- 在檔案系統修複時恢複的檔案

/:根目錄,一般根目錄下隻存放目錄,不要存放檔案,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中

/bin:/usr/bin:可執行二進制檔案的目錄,如常用的指令ls、tar、mv、cat等。

/boot:放置linux系統啟動時用到的一些檔案。/boot/vmlinuz為linux的核心檔案,以及/boot/gurb。建議單獨分區,分區大小100M即可

/dev:存放linux系統下的裝置檔案,通路該目錄下某個檔案,相當于通路某個裝置,常用的是挂載光驅mount /dev/cdrom /mnt。

/etc:系統配置檔案存放的目錄,不建議在此目錄下存放可執行檔案,重要的配置檔案有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置檔案之前記得備份。

注:/etc/X11存放與x windows有關的設定。

/home:系統預設的使用者家目錄,新增使用者賬号時,使用者的家目錄都存放在此目錄下,~表示目前使用者的家目錄,~test表示使用者test的家目錄。建議單獨分區,并設定較大的磁盤空間,友善使用者存放資料

/lib:/usr/lib:/usr/local/lib:系統使用的函數庫的目錄,程式在執行過程中,需要調用一些額外的參數時需要函數庫的協助,比較重要的目錄為/lib/modules。

/lost+fount:系統異常産生錯誤時,會将一些遺失的片段放置于此目錄下,通常這個目錄會自動出現在裝置目錄下。如加載硬碟于/disk 中,此目錄下就會自動産生目錄/disk/lost+found

/mnt:/media:CD光牒預設挂載點,通常CD光牒挂載于/mnt/cdrom下,也不一定,可以選擇任意位置進行挂載。

/opt:給主機額外安裝軟體所擺放的目錄。如:FC4使用的Fedora 社群開發軟體,如果想要自行安裝新的KDE 桌面軟體,可以将該軟體安裝在該目錄下。以前的 Linux 系統中,習慣放置在 /usr/local 目錄下

/proc:此目錄的資料都在記憶體中,如系統核心,外部裝置,網絡狀态,由于資料都存放于記憶體中,是以不占用磁盤空間,比較重要的目錄有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系統管理者root的家目錄,系統第一個啟動的分區為/,是以最好将/root和/放置在一個分區下。

/sbin:/usr/sbin:/usr/local/sbin:放置系統管理者使用的可執行指令,如fdisk、shutdown、mount等。與/bin不同的是,這幾個目錄是給系統管理者root使用的指令,一般使用者隻能"檢視"而不能設定和使用。

/tmp:一般使用者或正在執行的程式臨時存放檔案的目錄,任何人都可以通路,重要資料不可放置在此目錄下

/srv:服務啟動之後需要通路的資料目錄,如www服務需要通路的網頁資料存放在/srv/www内

/usr:應用程式存放目錄,/usr/bin存放應用程式,/usr/share存放共享資料,/usr/lib存放不能直接運作的,卻是許多程式運作所必需的一些函數庫檔案。/usr/local:存放軟體更新包。/usr/share/doc:系統說明檔案存放目錄。/usr/share/man: 程式說明檔案存放目錄,使用 man ls時會查詢/usr/share/man/man1/ls.1.gz的内容建議單獨分區,設定較大的磁盤空間

/var:放置系統執行過程中經常變化的檔案,如随時更改的日志檔案/var/log,/var/log/message:所有的登入檔案存放目錄,/var/spool/mail:郵件存放的目錄,/var/run:程式或服務啟動後,其PID存放在該目錄下。建議單獨分區,設定較大的磁盤空間

Linux 目錄結構 詳解

對于每一個Linux學習者來說,了解Linux檔案系統的目錄結構,是學好Linux的至關重要的一步.,深入了解linux檔案目錄結構的标準和每個目錄的詳細功能,對于我們用好linux系統隻管重要,下面我們就開始了解一下linux目錄結構的相關知識。

當在使用Linux的時候,如果您通過ls –l / 就會發現,在/下包涵很多的目錄,比如etc、usr、var、bin ... ... 等目錄,而在這些目錄中,我們進去看看,發現也有很多的目錄或檔案。檔案系統在Linux下看上去就象樹形結構,是以我們可以把檔案系統的結構形象的稱為 樹形結構。

檔案系統的是用來組織和排列檔案存取的,是以她是可見的,在Linux中,我們可以通過ls等工具來檢視其結構,在Linux系統中,我們見到的都是樹形結構;比如作業系統安裝在一個檔案系統中,他表現為由/ 起始的樹形結構。linux檔案系統的最頂端是/,我們稱/為Linux的root,也就是 Linux作業系統的檔案系統。Linux的檔案系統的入口就是/,所有的目錄、檔案、裝置都在/之下,/就是Linux檔案系統的組織者,也是最上級的上司者。

由于linux是開放源代碼,各大公司和團體根據linux的核心代碼做各自的操作,程式設計。這樣就造成在根下的目錄的不同。這樣就造成個人不能使用他人的linux系統的PC。因為你根本不知道一些基本的配置,檔案在哪裡。。。這就造成了混亂。這就是FHS(Filesystem Hierarchy Standard )機構誕生的原因。該機構是linux愛好者自發的組成的一個團體,主要是是對linux做一些基本的要求,不至于是操作者換一台主機就成了linux的‘文盲’。

根據FHS(http://www.pathname.com/fhs/)的官方檔案指出, 他們的主要目的是希望讓使用者可以了解到已安裝軟體通常放置于那個目錄下, 是以他們希望獨立的軟體開發商、作業系統制作者、以及想要維護系統的使用者,都能夠遵循FHS的标準。 也就是說,FHS的重點在于規範每個特定的目錄下應該要放置什麼樣子的資料而已。 這樣做好處非常多,因為Linux作業系統就能夠在既有的面貌下(目錄架構不變)發展出開發者想要的獨特風格。

事實上,FHS是根據過去的經驗一直再持續的改版的,FHS依據檔案系統使用的頻繁與否與是否允許使用者随意更動, 而将目錄定義成為四種互動作用的形态,用表格來說有點像底下這樣:

可分享的(shareable) 不可分享的(unshareable)
不變的(static) /usr (軟體放置處) /etc (配置檔案)
/opt (第三方協力軟體) /boot (開機與核心檔)
可變動的(variable) /var/mail (使用者郵件信箱) /var/run (程式相關)
/var/spool/news (新聞討論區) /var/lock (程式相關)

四中類型:

1.可分享的:

可以分享給其他系統挂載使用的目錄,是以包括執行檔案與使用者的郵件等資料, 是能夠分享給網絡上其他主機挂載用的目錄;

2.不可分享的:

自己機器上面運作的裝置檔案或者是與程式有關的socket檔案等, 由于僅與自身機器有關,是以當然就不适合分享給其他主機了。

3.不變的:

有些資料是不會經常變動的,跟随着distribution而不變動。 例如函式庫、檔案說明檔案、系統管理者所管理的主機服務配置檔案等等;

4.可變動的:

經常改變的資料,例如登入檔案、一般使用者可自行收受的新聞討論區等。

事實上,FHS針對目錄樹架構僅定義出三層目錄底下應該放置什麼資料而已,分别是底下這三個目錄的定義:

/ (root, 根目錄):與開機系統有關;

/usr (unix software resource):與軟體安裝/執行有關;

/var (variable):與系統運作過程有關。

一. 根目錄 (/) 的意義與内容:

根目錄是整個系統最重要的一個目錄,因為不但所有的目錄都是由根目錄衍生出來的, 同時根目錄也與開機/還原/系統修複等動作有關。 由于系統開機時需要特定的開機軟體、核心檔案、開機所需程式、 函式庫等等檔案資料,若系統出現錯誤時,根目錄也必須要包含有能夠修複檔案系統的程式才行。 因為根目錄是這麼的重要,是以在FHS的要求方面,他希望根目錄不要放在非常大的分區, 因為越大的分區内你會放入越多的資料,如此一來根目錄所在分區就可能會有較多發生錯誤的機會。

是以FHS标準建議:根目錄(/)所在分區應該越小越好, 且應用程式所安裝的軟體最好不要與根目錄放在同一個分區内,保持根目錄越小越好。 如此不但效能較佳,根目錄所在的檔案系統也較不容易發生問題。說白了,就是根目錄和Windows的C槽一個樣。

根據以上原因,FHS認為根目錄(/)下應該包含如下子目錄:

目錄 應放置檔案内容
/bin 系統有很多放置執行檔的目錄,但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。在/bin底下的指令可以被root與一般帳号所使用,主要有:cat,chmod(修改權限), chown, date, mv, mkdir, cp, bash等等常用的指令。
/boot 主要放置開機會使用到的檔案,包括Linux核心檔案以及開機選單與開機所需設定檔等等。Linux kernel常用的檔名為:vmlinuz ,如果使用的是grub這個開機管理程式,則還會存在/boot/grub/這個目錄。
/dev 在Linux系統上,任何裝置與周邊裝置都是以檔案的型态存在于這個目錄當中。 隻要通過存取這個目錄下的某個檔案,就等于存取某個裝置。比要重要的檔案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等
/etc

系統主要的設定檔幾乎都放置在這個目錄内,例如人員的帳号密碼檔、各種服務的啟始檔等等。 一般來說,這個目錄下的各檔案屬性是可以讓一般使用者查閱的,但是隻有root有權力修改。 FHS建議不要放置可執行檔(binary)在這個目錄中。 比較重要的檔案有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。 另外,其下重要的目錄有:/etc/init.d/ :所有服務的預設啟動script都是放在這裡的,例如要啟動或者關閉iptables的話: /etc/init.d/iptables start、/etc/init.d/ iptables stop

/etc/xinetd.d/ :這就是所謂的super daemon管理的各項服務的設定檔目錄。

/etc/X11/ :與X Window有關的各種設定檔都在這裡,尤其是xorg.conf或XF86Config這兩個X Server的設定檔。

/home

這是系統預設的使用者家目錄(home directory)。 在你新增一個一般使用者帳号時,預設的使用者家目錄都會規範到這裡來。比較重要的是,家目錄有兩種代号:

~ :代表目前使用者的家目錄,而 ~guest:則代表使用者名為guest的家目錄。

/lib 系統的函式庫非常的多,而/lib放置的則是在開機時會用到的函式庫,以及在/bin或/sbin底下的指令會呼叫的函式庫而已 。 什麼是函式庫呢?妳可以将他想成是外挂,某些指令必須要有這些外挂才能夠順利完成程式的執行之意。 尤其重要的是/lib/modules/這個目錄,因為該目錄會放置核心相關的模組(驅動程式)。
/media media是媒體的英文,顧名思義,這個/media底下放置的就是可移除的裝置。 包括軟碟、光碟、DVD等等裝置都暫時挂載于此。 常見的檔名有:/media/floppy, /media/cdrom等等。
/mnt 如果妳想要暫時挂載某些額外的裝置,一般建議妳可以放置到這個目錄中。在古早時候,這個目錄的用途與/media相同啦。 隻是有了/media之後,這個目錄就用來暫時挂載用了。
/opt 這個是給第三方協力軟體放置的目錄 。 什麼是第三方協力軟體啊?舉例來說,KDE這個桌面管理系統是一個獨立的計畫,不過他可以安裝到Linux系統中,是以KDE的軟體就建議放置到此目錄下了。 另外,如果妳想要自行安裝額外的軟體(非原本的distribution提供的),那麼也能夠将你的軟體安裝到這裡來。 不過,以前的Linux系統中,我們還是習慣放置在/usr/local目錄下。
/root 系統管理者(root)的家目錄。 之是以放在這裡,是因為如果進入單人維護模式而僅挂載根目錄時,該目錄就能夠擁有root的家目錄,是以我們會希望root的家目錄與根目錄放置在同一個分區中。
/sbin Linux有非常多指令是用來設定系統環境的,這些指令隻有root才能夠利用來設定系統,其他使用者最多隻能用來查詢而已。放在/sbin底下的為開機過程中所需要的,裡面包括了開機、修複、還原系統所需要的指令。至于某些伺服器軟體程式,一般則放置到/usr/sbin/當中。至于本機自行安裝的軟體所産生的系統執行檔(system binary),則放置到/usr/local/sbin/當中了。常見的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。
/srv srv可以視為service的縮寫,是一些網路服務啟動之後,這些服務所需要取用的資料目錄。 常見的服務例如WWW, FTP等等。 舉例來說,WWW伺服器需要的網頁資料就可以放置在/srv/www/裡面。呵呵,看來平時我們編寫的代碼應該放到這裡了。
/tmp 這是讓一般使用者或者是正在執行的程式暫時放置檔案的地方。這個目錄是任何人都能夠存取的,是以你需要定期的清理一下。當然,重要資料不可放置在此目錄啊。 因為FHS甚至建議在開機時,應該要将/tmp下的資料都删除。

事實上FHS針對根目錄所定義的标準就僅限于上表,不過仍舊有些目錄也需要我們了解一下,具體如下:

應放置檔案内容
/lost+found 這個目錄是使用标準的ext2/ext3檔案系統格式才會産生的一個目錄,目的在于當檔案系統發生錯誤時,将一些遺失的片段放置到這個目錄下。 這個目錄通常會在分割槽的最頂層存在,例如你加裝一個硬碟于/disk中,那在這個系統下就會自動産生一個這樣的目錄/disk/lost+found
/proc 這個目錄本身是一個虛拟檔案系統(virtual filesystem)喔。 他放置的資料都是在記憶體當中,例如系統核心、行程資訊(process)(是程序嗎?)、周邊裝置的狀态及網絡狀态等等。因為這個目錄下的資料都是在記憶體(記憶體)當中,是以本身不占任何硬碟空間。比較重要的檔案(目錄)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。呵呵,是虛拟記憶體嗎[guest]?
/sys 這個目錄其實跟/proc非常類似,也是一個虛拟的檔案系統,主要也是記錄與核心相關的資訊。 包括目前已載入的核心模組與核心偵測到的硬體裝置資訊等等。 這個目錄同樣不占硬碟容量。

除了這些目錄的内容之外,另外要注意的是,因為根目錄與開機有關,開機過程中僅有根目錄會被挂載, 其他分區則是在開機完成之後才會持續的進行挂載的行為。就是因為如此,是以根目錄下與開機過程有關的目錄, 就不能夠與根目錄放到不同的分區去。那哪些目錄不可與根目錄分開呢?有底下這些:

/etc:配置檔案

/bin:重要執行檔

/dev:所需要的裝置檔案

/lib:執行檔所需的函式庫與核心所需的子產品

/sbin:重要的系統執行檔案

這五個目錄千萬不可與根目錄分開在不同的分區。請背下來啊。

二. /usr 的意義與内容:

依據FHS的基本定義,/usr裡面放置的資料屬于可分享的與不可變動的(shareable, static), 如果你知道如何透過網絡進行分區的挂載(例如在伺服器篇會談到的NFS伺服器),那麼/usr确實可以分享給區域網路絡内的其他主機來使用喔。

/usr不是user的縮寫,其實usr是Unix Software Resource的縮寫, 也就是Unix作業系統軟體資源所放置的目錄,而不是使用者的資料啦。這點要注意。 FHS建議所有軟體開發者,應該将他們的資料合理的分别放置到這個目錄下的次目錄,而不要自行建立該軟體自己獨立的目錄。

因為是所有系統預設的軟體(distribution釋出者提供的軟體)都會放置到/usr底下,是以這個目錄有點類似Windows 系統的C:\Windows\ + C:\Program files\這兩個目錄的綜合體,系統剛安裝完畢時,這個目錄會占用最多的硬碟容量。 一般來說,/usr的次目錄建議有底下這些:

/usr/X11R6/ 為X Window System重要資料所放置的目錄,之是以取名為X11R6是因為最後的X版本為第11版,且該版的第6次釋出之意。
/usr/bin/ 絕大部分的使用者可使用指令都放在這裡。請注意到他與/bin的不同之處。(是否與開機過程有關)
/usr/include/ c/c++等程式語言的檔頭(header)與包含檔(include)放置處,當我們以tarball方式 (*.tar.gz 的方式安裝軟體)安裝某些資料時,會使用到裡頭的許多包含檔。
/usr/lib/ 包含各應用軟體的函式庫、目标檔案(object file),以及不被一般使用者慣用的執行檔或腳本(script)。 某些軟體會提供一些特殊的指令來進行伺服器的設定,這些指令也不會經常被系統管理者操作, 那就會被擺放到這個目錄下啦。要注意的是,如果你使用的是X86_64的Linux系統, 那可能會有/usr/lib64/目錄産生
/usr/local/ 統管理者在本機自行安裝自己下載下傳的軟體(非distribution預設提供者),建議安裝到此目錄, 這樣會比較便于管理。舉例來說,你的distribution提供的軟體較舊,你想安裝較新的軟體但又不想移除舊版, 此時你可以将新版軟體安裝于/usr/local/目錄下,可與原先的舊版軟體有分别啦。 你可以自行到/usr/local去看看,該目錄下也是具有bin, etc, include, lib...的次目錄
/usr/sbin/ 非系統正常運作所需要的系統指令。最常見的就是某些網絡伺服器軟體的服務指令(daemon)
/usr/share/

放置共享檔案的地方,在這個目錄下放置的資料幾乎是不分硬體架構均可讀取的資料, 因為幾乎都是文本檔案嘛。在此目錄下常見的還有這些次目錄:/usr/share/man:聯機幫助檔案

/usr/share/doc:軟體雜項的檔案說明

/usr/share/zoneinfo:與時區有關的時區檔案

/usr/src/ 一般原始碼建議放置到這裡,src有source的意思。至于核心原始碼則建議放置到/usr/src/linux/目錄下。

三. /var 的意義與内容:

如果/usr是安裝時會占用較大硬碟容量的目錄,那麼/var就是在系統運作後才會漸漸占用硬碟容量的目錄。 因為/var目錄主要針對常态性變動的檔案,包括緩存(cache)、登入檔(log file)以及某些軟體運作所産生的檔案, 包括程式檔案(lock file, run file),或者例如MySQL資料庫的檔案等等。常見的次目錄有:

/var/cache/ 應用程式本身運作過程中會産生的一些暫存檔
/var/lib/ 程式本身執行的過程中,需要使用到的資料檔案放置的目錄。在此目錄下各自的軟體應該要有各自的目錄。 舉例來說,MySQL的資料庫放置到/var/lib/mysql/而rpm的資料庫則放到/var/lib/rpm去
/var/lock/ 某些裝置或者是檔案資源一次隻能被一個應用程式所使用,如果同時有兩個程式使用該裝置時, 就可能産生一些錯誤的狀況,是以就得要将該裝置上鎖(lock),以確定該裝置隻會給單一軟體所使用。 舉例來說,刻錄機正在刻錄一塊CD光牒,你想一下,會不會有兩個人同時在使用一個刻錄機燒片? 如果兩個人同時刻錄,那片子寫入的是誰的資料?是以當第一個人在刻錄時該刻錄機就會被上鎖, 第二個人就得要該裝置被解除鎖定(就是前一個人用完了)才能夠繼續使用
/var/log/ 非常重要。這是登入檔案放置的目錄。裡面比較重要的檔案如/var/log/messages, /var/log/wtmp(記錄登入者的資訊)等。
/var/mail/ 放置個人電子郵件信箱的目錄,不過這個目錄也被放置到/var/spool/mail/目錄中,通常這兩個目錄是互為連結檔案。
/var/run/ 某些程式或者是服務啟動後,會将他們的PID放置在這個目錄下
/var/spool/ 這個目錄通常放置一些隊列資料,所謂的“隊列”就是排隊等待其他程式使用的資料。 這些資料被使用後通常都會被删除。舉例來說,系統收到新信會放置到/var/spool/mail/中, 但使用者收下該信件後該封信原則上就會被删除。信件如果暫時寄不出去會被放到/var/spool/mqueue/中, 等到被送出後就被删除。如果是工作排程資料(crontab),就會被放置到/var/spool/cron/目錄中。

由于FHS僅是定義出最上層(/)及次層(/usr, /var)的目錄内容應該要放置的檔案或目錄資料, 是以,在其他次目錄層級内,就可以随開發者自行來配置了。

四. 目錄樹(directory tree) :

在Linux底下,所有的檔案與目錄都是由根目錄開始的。那是所有目錄與檔案的源頭, 然後再一個一個的分支下來,是以,我們也稱這種目錄配置方式為:目錄樹(directory tree), 這個目錄樹的主要特性有:

目錄樹的啟始點為根目錄 (/, root);

每一個目錄不止能使用本地端的 partition 的檔案系統,也可以使用網絡上的 filesystem 。舉例來說, 可以利用 Network File System (NFS) 伺服器挂載某特定目錄等。

每一個檔案在此目錄樹中的檔案名(包含完整路徑)都是獨一無二的。

如果我們将整個目錄樹以圖的方法來顯示,并且将較為重要的檔案資料列出來的話,那麼目錄樹架構就如下圖所示:

五. 絕對路徑與相對路徑

除了需要特别注意的FHS目錄配置外,在檔案名部分我們也要特别注意。因為根據檔名寫法的不同,也可将所謂的路徑(path)定義為絕對路徑(absolute)與相對路徑(relative)。 這兩種檔案名/路徑的寫法依據是這樣的:

絕對路徑:

由根目錄(/)開始寫起的檔案名或目錄名稱, 例如 /home/dmtsai/.bashrc;

相對路徑:

相對于目前路徑的檔案名寫法。 例如 ./home/dmtsai 或 http://www.cnblogs.com/home/dmtsai/ 等等。反正開頭不是 / 就屬于相對路徑的寫法

而你必須要了解,相對路徑是以你目前所在路徑的相對位置來表示的。舉例來說,你目前在 /home 這個目錄下, 如果想要進入 /var/log 這個目錄時,可以怎麼寫呢?

cd /var/log (absolute)

cd ../var/log (relative)

因為你在 /home 底下,是以要回到上一層 (../) 之後,才能繼續往 /var 來移動的,特别注意這兩個特殊的目錄:

. :代表目前的目錄,也可以使用 ./ 來表示;

.. :代表上一層目錄,也可以 ../ 來代表。

這個 . 與 .. 目錄概念是很重要的,你常常會看到 cd .. 或 ./command 之類的指令下達方式, 就是代表上一層與目前所在目錄的工作狀态。

執行個體1:如何先進入/var/spool/mail/目錄,再進入到/var/spool/cron/目錄内?

指令:

cd /var/spool/mail

cd ../cron

說明:

由于/var/spool/mail與/var/spool/cron是同樣在/var/spool/目錄中。如此就不需要在由根目錄開始寫起了。這個相對路徑是非常有幫助的,尤其對于某些軟體開發商來說。 一般來說,軟體開發商會将資料放置到/usr/local/裡面的各相對目錄。 但如果使用者想要安裝到不同目錄呢?就得要使用相對路徑。

執行個體2:網絡檔案常常提到類似./run.sh之類的資料,這個指令的意義為何?

繼續閱讀