Linux第四節目錄結構及文件基本操作

一、Linux目錄結構

LinuxWindows的不同

一種不同是體現在目錄與存儲介質(磁盤,內存,DVD等)的關系上,Windows一直是以存儲介質為主的,主要以盤符(C盤,D盤...)及分區來實現文件管理,然后之下才是目錄,目錄就顯得不是那么重要,除系統文件之外的用戶文件放在任何地方任何目錄也是沒有多大關系。所以通常Windows在使用一段時間后,磁盤上面的文件目錄會顯得雜亂無章(少數善于整理的用戶除外吧)。然而UNIX/Linux恰好相反,UNIX是以目錄為主的,Linux也繼承了這一優良特性。Linux是以樹形目錄結構的形式來構建整個系統的,可以理解為樹形目錄是一個用戶可操作系統的骨架。雖然本質上無論是目錄結構還是操作系統內核都是存儲在磁盤上的,但從邏輯上來說Linux的磁盤是“掛在”(掛載在)目錄上的,每一個目錄不僅能使用本地磁盤分區的文件系統,也可以使用網絡上的文件系統。舉例來說,可以利用網絡文件系統(Network File System,NFS)服務器載入某特定目錄等。

1. FHS標準

Linux的目錄結構復雜在于,系統的正常運行是以目錄結構為基礎的,初學者里面大部分目錄都不知道其作用,重要與否,對于那些重度Windows用戶,他們會糾結很長時間,關于我安裝的軟件在哪里這類問題。簡單是因為,其中大部分目錄結構是規定好了的(FHS標準),是不可更改的。

FHS(英文:Filesystem Hierarchy Standard中文:文件系統層次結構標準),多數Linux版本采用這種文件組織形式,FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理。

FHS定義了兩層規范,第一層是,/下面的各個目錄應該要放什么文件數據,例如/etc應該放置設置文件,/bin與/sbin則應該放置可執行文件等等。

第二層則是針對/usr及/var這兩個目錄的子目錄來定義。例如/var/log放置系統登錄文件,/usr/share放置共享數據等等。

FHS_2.3標準文檔

FHS是根據以往無數Linux用戶和開發者的經驗總結出來的,并且會維持更新,FHS依據文件系統使用的頻繁與否以及是否允許用戶隨意改動(注意,不是不能),將目錄定義為四種交互作用的形態,如下表所示:

2.目錄路徑

路徑

路徑就是要去哪兒的路線。如果想進入某個具體的目錄或者想獲得某個目錄的文件(目錄本身也是文件)就用路徑來找到。

使用cd命令可以切換目錄,在Linux里面使用.表示當前目錄,..表示上一級目錄(注意,.開頭的文件都是隱藏文件,所以這兩個目錄必然也是隱藏的,可以使用ls -a命令查看隱藏文件), -表示上一次所在目錄,~通常表示當前用戶的home目錄。使用pwd命令可以獲取當前所在路徑(絕對路徑)。

進入上一級目錄:

$ cd ..

進入你的home目錄:

$ cd ~

或者cd

/home/<你的用戶名>

使用pwd獲取當前路徑:

$ pwd

絕對路徑

關于絕對路徑,簡單地說就是以根" / "目錄為起點的完整路徑,以要到的目錄為終點,表現形式如:

/usr/local/bin,表示根目錄下的usr目錄中的local目錄中的bin目錄。

相對路徑

相對路徑,是以當前目錄.為起點,以要到的目錄為終點,表現形式如:

usr/local/bin(這里假設當前目錄為根目錄)。表示相對路徑并沒有加上表示當前目錄的那個.,而是直接以目錄名開頭,因為這個usr目錄為/目錄下的子目錄,可以省略這個.;如果是當前目錄的上一級目錄,則需要使用..,比如當前目錄為home目錄,根目錄就應該表示為../../,表示上一級目錄(home目錄)的上一級目錄(/目錄)。

以home目錄為起點,分別以絕對路徑和相對路徑的方式進入/usr/local/bin目錄:

絕對路徑

$ cd/usr/local/bin

相對路徑

$ cd../../usr/local/bin

進入一個目錄,可以使用絕對路徑也可以使用相對路徑,選擇路徑,方便就好,看個人喜好。比如假設當前在/usr/local/bin目錄,如果要進入的是usr目錄,那么cd /usr,就比cd ../..方便一點。

提示:在進行目錄切換的過程中請多使用Tab鍵自動補全,可避免輸入錯誤,連續按兩次Tab可以顯示全部候選結果。

二、Linux文件的基本操作

1.新建

新建空白文件

使用touch命令創建空白文件。touch命令,主要作用是來更改已有文件的時間戳的(e.g.最近訪問時間,最近修改時間),但其在不加任何參數的情況下,只指定一個文件名,則可以創建一個指定文件名的空白文件(不會覆蓋已有同名文件),當然也可以同時指定該文件的時間戳。

創建名為test的空白文件,因為在其它目錄沒有權限,所以需要先cd ~切換回用戶的/home/shiyanlou目錄:

$ cd ~

$ touch test

新建目錄

使用mkdir(make

directories)命令可以創建一個空目錄,也可同時指定創建目錄的權限屬性。

創建名為“ mydir ”的空目錄:

$ mkdir mydir

使用-p參數,同時創建父目錄(如果不存在該父目錄),如下我們同時創建一個多級目錄(這在安裝軟件、配置安裝路徑時非常有用):

$ mkdir -pfather/son/grandson

后面的目錄路徑,也可以用絕對路徑的方式表示。

2.復制

復制文件

使用cp(copy)命令復制一個文件到指定目錄。

將之前創建的“ test ”文件復制到“

/home/shiyanlou/father/son/grandson ”目錄中:

$ cp testfather/son/grandson

復制目錄

如果直接使用cp命令復制一個目錄的話,會出現如下錯誤:

要成功復制目錄需要加上-r或者-R參數,表示遞歸復制

3.刪除

刪除文件

使用rm(remove files

or directories)命令刪除一個文件:

$ rm test

想要刪除一些為只讀權限的文件,直接使用rm刪除會顯示一個提示,如下:

如果想忽略這提示,直接刪除文件,可以使用-f參數強制刪除:

刪除目錄

要刪除一個目錄,也需要加上-r或-R參數:

4.移動文件與文件重命名

移動文件

使用mv(move or

rename files)命令移動文件(剪切)。將文件“ file1 ”移動到Documents目錄:

mv源目錄文件目的目錄:

$ mkdirDocuments

$ mv file1Documents

重命名文件

將文件“ file1 ”重命名為“ myfile ”:

mv舊的文件名新的文件名:

$ mv file1myfile

批量重命名

使用命令rename來實現。不過它要用perl正則表達式來作為參數(正則表達式我們要在后面才會介紹到),只要記得這個rename命令可以批量重命名就好了。

使用通配符批量創建5個文件:

$ touchfile{1..5}.txt

批量將這5個后綴為.txt的文本文件重命名為以.c為后綴的文件:

$ rename's/.txt/.c/' *.txt

批量將這5個文件,文件名改為大寫:

$ rename'y/a-z/A-Z/'.c

rename是先使用第二個參數的通配符匹配所有后綴為.txt的文件,然后使用第一個參數提供的正則表達式將匹配的這些文件的.txt后綴替換為.c。

5.查看文件

使用cat,tacnl命令查看文件

前兩個命令都是用來打印文件內容到標準輸出(終端),其中cat為正序顯示,tac為倒序顯示。

標準輸入輸出:當我們執行一個shell命令行時通常會自動打開三個標準文件,即標準輸入文件(stdin),默認對應終端的鍵盤、標準輸出文件(stdout)和標準錯誤輸出文件(stderr),后兩個文件都對應被重定向到終端的屏幕,以便我們能直接看到輸出內容。進程將從標準輸入文件中得到輸入數據,將正常輸出數據輸出到標準輸出文件,而將錯誤信息送到標準錯誤文件中。

比如要查看之前從/etc目錄下拷貝來的passwd文件:

$ cat passwd

可以加上-n參數顯示行號:

$ cat -npasswd

nl命令,添加行號并打印,是比cat -n更專業的行號打印命令。

簡單列舉它的常用的幾個參數:

-b :指定添加行號的方式,主要有兩種:

-b a:表示無論是否為空行,同樣列出行號("cat

-n"就是這種方式)

-b t:只列出非空行的編號并列出(默認為這種方式)

-n :設置行號的樣式,主要有三種:

-n ln:在行號字段最左端顯示

-n rn:在行號字段最右邊顯示,且不加0

-n rz:在行號字段最右邊顯示,且加0

-w :行號字段占用的位數(默認為6位)

使用moreless命令分頁查看文件

more和less就是天生用來"閱讀"一個文件的內容的,比如說man手冊內部就是使用的less來顯示內容。more命令比較簡單,只能向一個方向滾動,而less為基于more和vi(一個強大的編輯器)開發,功能更強大。less的使用基本和more一致,具體使用請查看man手冊,這里只介紹more命令的使用。

使用more命令打開passwd文件:

$ more passwd

打開后默認只顯示一屏內容,終端底部顯示當前閱讀的進度。可以使用Enter鍵向下滾動一行,使用Space鍵向下滾動一屏,按下h顯示幫助,q退出。

使用headtail命令查看文件

它們一個是只查看文件的頭幾行(默認為10行,不足10行則顯示全部)和尾幾行。拿passwd文件舉例,比如當我們想要查看最近新增加的用戶,那么我們可以查看這個/etc/passwd文件,因為系統新增加一個用戶,會將用戶的信息添加到passwd文件的最后,這時候使用tail命令:

$ tail/etc/passwd

甚至更直接的只看一行,加上-n參數,后面緊跟行數:

$ tail -n 1/etc/passwd

6.查看文件類型

在Linux中文件的類型不是根據文件后綴來判斷的,通常使用file命令查看文件的類型:

$ file/bin/ls

說明這是一個可執行文件,運行在64位平臺,并使用了動態鏈接文件(共享庫)。

7.編輯文件

在Linux下面編輯文件通常使用專門的命令行編輯器比如(emacs,vim,nano),可以直接使用Linux內部的vim學習教程,輸入如下命令即可開始:

$ vimtutor

三、召喚眼睛

$ xeyes

可以使用如下命令將它放到后臺運行:

$ nohup xeyes&

*五、作業

圖片版詳見http://t.cn/RaWorGA

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380

推薦閱讀更多精彩內容