Linux目錄結(jié)構(gòu)
Linux是以樹形目錄結(jié)構(gòu)的形式來構(gòu)建整個系統(tǒng)的唇辨,可以理解為樹形目錄是一個用戶可操作系統(tǒng)的骨架猴凹。雖然本質(zhì)上無論是目錄結(jié)構(gòu)還是操作系統(tǒng)內(nèi)核都是存儲在磁盤上的彤蔽,但從邏輯上來說Linux的磁盤是“掛在”(掛載在)目錄上的样傍,每一個目錄不僅能使用本地磁盤分區(qū)的文件系統(tǒng)捞附,也可以使用網(wǎng)絡(luò)上的文件系統(tǒng)泛释。舉例來說,可以利用網(wǎng)絡(luò)文件系統(tǒng)(Network File System甚带,NFS)服務(wù)器載入某特定目錄等她肯。
FHS(英文:Filesystem Hierarchy Standard中文:文件系統(tǒng)層次結(jié)構(gòu)標(biāo)準(zhǔn)),多數(shù)Linux版本采用這種文件組織形式鹰贵,F(xiàn)HS定義了系統(tǒng)中每個區(qū)域的用途辕宏、所需要的最小構(gòu)成的文件和目錄同時還給出了例外處理與矛盾處理。
FHS定義了兩層規(guī)范砾莱,第一層是瑞筐,/下面的各個目錄應(yīng)該要放什么文件數(shù)據(jù),例如/etc應(yīng)該放置設(shè)置文件腊瑟,/bin與/sbin則應(yīng)該放置可執(zhí)行文件等等聚假。
第二層則是針對/usr及/var這兩個目錄的子目錄來定義。例如/var/log放置系統(tǒng)登錄文件闰非,/usr/share放置共享數(shù)據(jù)等等膘格。
目錄路徑
使用cd命令可以切換目錄,在Linux里面使用.表示當(dāng)前目錄财松,..表示上一級目錄(注意瘪贱,我們上一節(jié)介紹過的,以.開頭的文件都是隱藏文件辆毡,所以這兩個目錄必然也是隱藏的菜秦,你可以使用ls -a命令查看隱藏文件), -表示上一次所在目錄,~通常表示當(dāng)前用戶的home目錄舶掖。使用pwd命令可以獲取當(dāng)前所在路徑(絕對路徑)球昨。
進(jìn)入上一級目錄:
$ cd ..
進(jìn)入你的home目錄:
$ cd ~
#或者cd /home/<你的用戶名>
使用pwd獲取當(dāng)前路徑:
$ pwd
絕對路徑
關(guān)于絕對路徑,簡單地說就是以根" / "目錄為起點的完整路徑眨攘,以你所要到的目錄為終點主慰,表現(xiàn)形式如:
/usr/local/bin,表示根目錄下的usr目錄中的local目錄中的bin目錄鲫售。
相對路徑
相對路徑共螺,也就是相對于你當(dāng)前的目錄的路徑,相對路徑是以當(dāng)前目錄.為起點情竹,以你所要到的目錄為終點藐不,表現(xiàn)形式如:
usr/local/bin(這里假設(shè)你當(dāng)前目錄為根目錄)。你可能注意到,我們表示相對路徑實際并沒有加上表示當(dāng)前目錄的那個.佳吞,而是直接以目錄名開頭,因為這個usr目錄為/目錄下的子目錄棉安,是可以省略這個.的(以后會講到一個類似不能省略的情況)底扳;如果是當(dāng)前目錄的上一級目錄,則需要使用..贡耽,比如你當(dāng)前目錄為home目錄衷模,根目錄就應(yīng)該表示為../../,表示上一級目錄(home目錄)的上一級目錄(/目錄)蒲赂。
下面我們以你的home目錄為起點阱冶,分別以絕對路徑和相對路徑的方式進(jìn)入/usr/local/bin目錄:
#絕對路徑
$ cd/usr/local/bin
#相對路徑
$ cd../../usr/local/bin
Linux文件的基本操作
新建空白文件
使用touch命令創(chuàng)建空白文件,關(guān)于touch命令滥嘴,其主要作用是來更改已有文件的時間戳的(比如木蹬,最近訪問時間,最近修改時間)若皱,但其在不加任何參數(shù)的情況下镊叁,只指定一個文件名,則可以創(chuàng)建一個指定文件名的空白文件(不會覆蓋已有同名文件)
新建目錄
使用mkdir(make directories)命令可以創(chuàng)建一個空目錄走触,也可同時指定創(chuàng)建目錄的權(quán)限屬性晦譬。
復(fù)制文件
使用cp(copy)命令復(fù)制一個文件到指定目錄。
復(fù)制目錄
如果直接使用cp命令復(fù)制一個目錄的話互广,會出現(xiàn)錯誤
要成功復(fù)制目錄需要加上-r或者-R參數(shù)敛腌,表示遞歸復(fù)制,就是說有點“株連九族”的意思:
刪除文件
使用rm(remove files or directories)命令刪除一個文件:
移動文件
使用mv(move or rename files)命令移動文件(剪切)惫皱。將文件“ file1 ”移動到Documents目錄:
重命名文件
mv舊的文件名新的文件名
查看文件
使用cat像樊,tac和nl命令查看文件
前兩個命令都是用來打印文件內(nèi)容到標(biāo)準(zhǔn)輸出(終端),其中cat為正序顯示旅敷,tac為倒序顯示凶硅。
使用more和less命令分頁查看文件
如果說上面的cat是用來快速查看一個文件的內(nèi)容的,那么這個more和less就是天生用來"閱讀"一個文件的內(nèi)容的扫皱,比如說man手冊內(nèi)部就是使用的less來顯示內(nèi)容足绅。其中more命令比較簡單,只能向一個方向滾動韩脑,而less為基于more和vi(一個強大的編輯器氢妈,我們有單獨的課程來讓你學(xué)習(xí))開發(fā),功能更強大段多。less的使用基本和more一致首量,具體使用請查看man手冊,這里只介紹more命令的使用。
使用head和tail命令查看文件
這兩個命令加缘,那些性子比較急的人應(yīng)該會喜歡鸭叙,因為它們一個是只查看文件的頭幾行(默認(rèn)為10行,不足10行則顯示全部)和尾幾行拣宏。還是拿passwd文件舉例沈贝,比如當(dāng)我們想要查看最近新增加的用戶,那么我們可以查看這個/etc/passwd文件勋乾,不過我們前面也看到了宋下,這個文件里面一大堆亂糟糟的東西,看起來實在費神啊辑莫。因為系統(tǒng)新增加一個用戶学歧,會將用戶的信息添加到passwd文件的最后,那么這時候我們就可以使用tail命令了