Linux從入門到凌波微步之2:文件的基本操作
時間:2023-05-11 10:51:01 | 來源:網(wǎng)站運營
時間:2023-05-11 10:51:01 來源:網(wǎng)站運營
Linux從入門到凌波微步之2:文件的基本操作:和學(xué)習(xí)windows不一樣,學(xué)習(xí)Linux一般強調(diào)從命令行入門,其中原因是 Linux環(huán)境中的命令操作無可替代,同時也是高效管理Linux的最主要方式。當然, 從命令行入門,也會帶來一定的問題,最大的問題就是入門學(xué)習(xí)曲線陡峭。對于有些初學(xué)者來說, 其陡峭程度不亞于華山天險。
Linux系統(tǒng)中的文件操作和管理,大約是初學(xué)者遇到的第1險。因此,將文件管理分解成五個梯級,盡量降低入門難度。這五個梯級分別是:文件基本操作、文件查找、文件的進階操作、文件編輯、文件和目錄屬性。
這一節(jié)先講文件的基本操作。
Linux文件系統(tǒng)是一棵樹,搞清楚文件在樹中的位置是首要問題, 其次才是怎么新增、刪除等等操作。
一、在樹形結(jié)構(gòu)的文件系統(tǒng)中準確定位
在圖1中我們想像一個大盒子。這個盒子叫做Linux的根文件夾。因為經(jīng)常稱呼文件夾為目錄, 所以這個盒子也叫做根目錄。
在根文件夾這個大盒子中, 又有home, bint , var , mnt .... 等等20個左右的小盒子。而每一個小盒子里面還有更小一點的盒子......如此深入下去,組成了Linux的文件系統(tǒng); 這個文件系統(tǒng)的最大邊界,就是根目錄,用' / ' 表示。
對于文件來說,任意一個文件必定裝在某一個級別的盒子中,即存放在某一文件夾中。比如上面圖1中 a.txt 就放在test文件夾,而b.txt 就放在xy目錄下。
對于Linux文件系統(tǒng)的第二個觀察角度是, 一個用戶登錄到Linux后,經(jīng)常要在不同的文件夾中切換。那么這個切換就有路徑問題。當前在哪里,要換到哪里去,這就是LInux下的路徑問題,需要用到圖2來解釋。
二、絕對路徑和相對路徑
1 . 絕對路徑
在圖2中,我們看到一個倒立的樹形結(jié)構(gòu),我們把樹中每一個節(jié)點,都和文件夾或文件對應(yīng)起來。樹的最頂端節(jié)點是根目錄。
從根目錄開始往下,有4個節(jié)點,我們稱之為根目錄的孩子節(jié)點,相應(yīng)的,根目錄就是這4個節(jié)點的父節(jié)點。
這種父節(jié)點和子節(jié)點的關(guān)系從圖2看就是上一層和下一層關(guān)系,從圖1看就是1個文件夾包含幾個文件夾的關(guān)系。
因此,當用戶要在不同的文件中切換時,就是在這棵樹的不同層中移動。移動需要按層一步一步進行。而文件(文件夾)路徑就是把移動經(jīng)歷記錄下來。樹的分叉結(jié)構(gòu),保證了每個文件夾和文件都有一個唯一的路徑,互不相同。
絕對路徑:從根節(jié)點往下依次經(jīng)歷每一個節(jié)點,到達當前位置,為文件或文件夾的絕對路徑。每經(jīng)過一層節(jié)點用‘/’表示。比如:
test 文件夾的絕對路徑是: /home/dh/test
a.txt文件的絕對路徑是 :/home/dh/test/a.txt
b.txt 文件的絕對路徑是:/home/xy/b.txt
絕對路徑的特點:
任何一個文件/文件夾,必定從根目錄開始,所以必定以'/' 開頭;
每經(jīng)過一層,用/ 分隔。
2. pwd 和用戶當前位置
用戶登錄Linux后,任何時侯都處在根目錄下的某一個文件夾中,也就是圖2的某一個節(jié)點下方。使用pwd就可以 查看當前位置。如:
dh@server# pwd/home/dh/test
3. 相對路徑
由于絕對路徑的特點,每一個文件夾和文件的位置必須從最頂端開始寫,導(dǎo)致路徑可能很長。
為了方便提出相對路徑表示方法。
在使用相對路徑前,必須用上面pwd命令明確用戶當前的位置,位于樹的哪個節(jié)點下方,也就是哪個文件夾中。
4. 用cd 命令在樹中移動
一般情況下,用戶登錄后會進入Linux默認的個人目錄下,如 dh 用戶進入/home/dh
dh@server# pwd/home/dh
可以用cd 命令,參數(shù)為路徑, 指定進入到某一個目錄:
dh@server# cd /var/logdh@server# pwd/var/logdh@server# cd - dh@server# pwd/home/dh
cd - 用來返回到上一次的目錄。
用相對路徑同樣可以跳轉(zhuǎn)
dh@server# cd testdh@server# pwd/home/dh/test
test 的絕對路徑是/home/dh/test, 對用戶來說,相對路徑是test, 所以:cd test和 cd /home/dh/test 效果一樣。
dh@server# cd ..dh@server# pwd/home/dh/
cd .. 用來跳轉(zhuǎn)到當前位置的上一層目錄。
dh@server# cd ./testdh@server# pwd/home/dh/test
cd ./test 用來跳轉(zhuǎn)到當前目錄某一下級目錄。和 cd test 效果一樣。用./ 的好處是可以方便使用tab 鍵補齊名稱。
二、 新建 文件
新建 文 件的方式有很多種,touch 通常用來新建 一個空文件。它的好處是可以同時新建多個空文件, 用空格分隔文件名。
dh@server# pwd
/home/dh/test
dh@server# touch a.txt b.txt c.txt
使用vi/ vim 或其它編輯工具,也可以創(chuàng)建文件。
三、刪除
dh@server# pwd
/home/dh/test
dh@server#rm a.txt
刪除某一個文件
dh@server#rm -f b.txt
強制刪除某一個文件, 不能刪除文件夾
dh@server#rmdir test
刪除文件夾,但是只能刪除空的文件夾
dh@server#rm -rf test
最強大的刪除命令,可以直接刪除有權(quán)限的任意文件或文件夾。
練習(xí)一:
四、移動和復(fù)制
五、重命名
練習(xí)二:
六、顯示文件內(nèi)容
練習(xí)三:
七、綜合演練