1. 程式人生 > >[Linux][入門系列]CentOS 的基礎命令詳解-磁碟基礎操作

[Linux][入門系列]CentOS 的基礎命令詳解-磁碟基礎操作

[Linux][入門系列]CentOS 的基礎命令詳解-磁碟基礎操作

前言

繼上次我們安裝完CentOS之後,我們就要在CentOS進行一波操作了。OS,顧名思義,就是作業系統。既然是作業系統,那它就是可以進行一系列基礎操作的。作業系統的操作我們可以簡單的分為幾類:
1. 磁碟操作。類似於我們在Windows中,開啟“我的電腦”,在裡面進行新建資料夾、新建檔案、刪除等。
2. 軟體的安裝與解除安裝。 類似於我們在Windows開啟電腦中的EXE檔案執行,然後安裝相應軟體。
3. 軟體的使用。類似於我們開啟桌面上的QQ,使用一些常用的軟體一樣。
4. 系統操作。類似於我們使用Windows中的控制面板,來進行系統設定。
5. 其他操作。

這幾類操作共同形成了我們使用Cent OS(也同時包括其他Liunx)的常用操作,我們將對如上所說的操作逐一講解。
在此之前,我們可以看到,當我們啟動了電腦之後,我們進入瞭如下的命令列介面。
這裡寫圖片描述

在進入這個介面之後,我們將要使用一些命令(鍵盤操作),來控制電腦,可能剛開始會有點難受哦,因為習慣了圖形介面的我們,可能還需要一些時間適應黑白的shell操作。

可能在眾多操作中,磁碟操作是最頻繁的OS操作。就像我們在使用Windows的時候,可能桌面上開啟最多的圖示就是“我的電腦”。我們在其中拷貝圖片,開啟電影……同樣,在Cent中,我們如何進行操作呢?
本期主要講述LInux系統諸多操作中的磁碟基礎操作命令。包括 cd/ls/pwd/cp/mv/rm/mkdir。

cd (Change Directory)

cd命令是Cent使用人員最常用的命令之一,英文名為change directory,就是改變當前的目錄,比如,我們要進入某一個目錄,只需要cd+空格+目錄名稱就可以了,如下我們展示了root使用者進入/root目錄的命令

[root@localhost ~]# cd /root

TIPS - Linux系統磁碟目錄

想使用cd進入某一目錄,就需要了解我們輸入怎麼樣的目錄名字才可以進入到我們想進的目錄,在Windows下,我們在圖形介面上,看位址列是這樣的。
這裡寫圖片描述

這個時候,Windows會自動把路徑解析為你看到的目錄,即此時,你在我的電腦-》E盤-》DNSnew目錄下。

但是我們把滑鼠點到位址列上,我們可以到位址列的目錄展示方式變了,變成了如下
這裡寫圖片描述

這裡我們能夠看到目錄是E盤DNSnew目錄下,如果後續還有資料夾的話,會加一個反斜槓(\,鍵盤迴車鍵上方的鍵)然後加入目錄名字。
而在使用Linux的時候,我們通過剛才的例子可以看到,LInux本身並沒有碟符的概念(不是沒有分割槽,有關分割槽的知識我們額外再講),而是直接使用正斜槓(/,右手shift左面的那個斜槓鍵)加上我們想進的資料夾。
此時,Linux規定,正斜槓代表的是整個系統的根目錄(如果是隻有一塊磁碟,那就是整塊磁碟的根目錄)。如圖展示的是系統根目錄下的預設資料夾。
這裡寫圖片描述
所以如果我們想進根目錄,只需要輸入
[[email protected] ~]# cd /
但是,假如我們進入了根目錄下的usr目錄下的local資料夾,想返回usr目錄,我們應該怎麼做呢?
當然,我們可以直接進入根目錄,然後進入usr目錄。
[[email protected] local]# cd /
[[email protected] /]# cd usr
同時我們也可以直接使用全路徑
[[email protected] local]# cd /usr
這兩種方法在此時都對,但是請注意,我現在的目錄是/usr/local,而我想進入/usr,我們想進入的目錄是當前目錄的父目錄。
在Windows下,如果我們想進入當前目錄的父目錄,只需要點選管理器的上一級就行了。
這裡寫圖片描述
在Linux中,路徑可以使用“..”來進入上一級。以本情況為例,我們在local目錄時,可以使用如下進入上一級。
[[email protected] local]# cd ..
在LInux使用場景中,..的使用會非常的靈活和使用,這在之後我們的工作中會遇到很多。

-

TIPS - 巧妙使用tab鍵

在你輸入目錄的時候,如果你當前路徑下的檔案有你所要的檔案,且前幾個字母會匹配,此時點選tab鍵,系統會自動補全你的目錄,如
[[email protected] testDir]# ls
testFile
[[email protected] testDir]# cd test
此時點解tab鍵,我們可以看到路徑就會被補全。
如果我們在目錄下,連續點選兩次tab鍵,會發生什麼呢?

同樣,cd 命令還有

[root@localhost usr]# cd ~
[root@localhost ~]# cd -

請同學們自行嘗試這樣的命令會有什麼效果。

ls (List)

在Windows中,如果你進入了一個目錄,那麼檔案瀏覽器會自動的展現當前目錄的所有檔案和資料夾,同樣,在Linux中,如果你進入一個目錄,可以使用ls命令來展現檔案中的所有內容。我們之前的圖,展示了當我們在根目錄下使用ls命令時系統展示的情況
這裡寫圖片描述
ls在平時的使用中是不加引數的,當然你也可以因為不同的命令而加引數。比如我們使用-a(all)引數

[[email protected] ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc

當我們使用-a引數時,展現的是此目錄下所有的檔案,包括前面帶“.”的檔案,在LInux中,帶“.”的檔案我們預設為隱藏檔案,即使用普通ls命令看不到,只有加上-a引數後我們擦可能看到。
同時在使用時,還有一些比較習慣的用法,這裡一併給出。

[[email protected] usr]# ls -lht
總用量 100K
dr-xr-xr-x.  2 root root  12K 2月  21 19:02 sbin
dr-xr-xr-x.  2 root root  20K 2月  21 19:02 bin
dr-xr-xr-x. 40 root root  20K 2月  17 13:01 lib64
drwxr-xr-x. 16 root root 4.0K 2月  17 13:00 libexec

ls的引數中, -l代表使用長列表展示,h代表使用可讀方式進行讀取,t代表根據時間從新到舊進行排序。同時我們也可以使用如下命令,達到同樣的效果。

[[email protected] usr]# ll
總用量 100
dr-xr-xr-x.  2 root root 20480 2月  21 19:02 bin
drwxr-xr-x.  2 root root     6 11月  5 23:38 etc
drwxr-xr-x.  2 root root     6 11月  5 23:38 games
drwxr-xr-x.  3 root root    23 2月  17 13:00 include

在返回的幾列中,第一列代表檔案的許可權,有關許可權的內容我們後續再。
第二列代表檔案硬連結數或目錄子目錄數,第三列代表檔案的擁有著,第四列代表檔案擁有者所在組,第五列代表檔案的大小(預設以位元組為單位),之後是日期以及檔案的名字。具體詳情如下:

許可權 | 子目錄數 | 擁有者 | 所在組 | 檔案大小 | 日期 | 名字
dr-xr-xr-x. 2 root root 20480 221 19:02 bin

有關更多ls的用法,可以使用ls的help文件獲得

[root@localhost usr]# ls -help

pwd (print name of current/working directory)

pwd命令是我們在使用中不怎麼頻繁,但是較為有用的命令,它的主要作用是輸入當前所在目錄的路徑,比如

[root@localhost ~]# pwd -P
/root

結合這個命令,我們很方便的看到目錄名稱。

cp(copy)

cp是拷貝檔案的常用命令,在Windows中,如果我們要拷貝一個檔案或者資料夾,只需要到資源管理器中,右擊該檔案,點選複製,到你想拷貝到的目錄,點選貼上,即可完成操作。
所以我們可以看到,拷貝操作有如下幾個要素:
1. 源目錄A(從哪拷貝)
2. 目的目錄B (拷貝到哪)
3. 檔名字
4. 拷貝引數(拷貝方式)
先不看第四個引數,我們可以發現一個有趣的問題,檔名字和源目錄應當是一個條件,因為我們在拷貝時需要指定是哪個目錄的下的哪個檔案,所以我們拷貝最基礎的要素應當是兩個,檔案(包含目錄)+目的目錄。請看如下程式碼

[root@localhost ~]# ls
testDir  testFile
[root@localhost ~]# cp testFile testDir/
[root@localhost ~]# cd testDir/
[root@localhost testDir]# ls
testFile

在例子中,我們將目錄下testFile拷貝至了當前目錄下的testDir,之後我們進入了目錄看到了我們拷貝的檔案。
當然,這裡的兩個引數我使用了相對路徑(相對於當前路徑),同樣可以靈活的使用絕對路徑進行拷貝。
但是當我們拷貝資料夾的時候出了問題。

[root@localhost ~]# cp testDir/ /
cp: 略過目錄"testDir/"

當我們想把testDir資料夾拷貝至根目錄下時,我們發現系統略過了目錄,不進行拷貝,這是為什麼呢?
原來我們cp預設是不拷貝目錄(資料夾)的,當我們想要拷貝資料夾到另一個目錄時,需要加一個命令引數,就是我們上面提到的第四點

[root@localhost ~]# cp -r testDir/

-r引數幫助我們遞迴地拷貝資料夾(就是把資料夾中的資料夾什麼的都拷貝過去)
當然,cp還有許許多多中用法,包括是否覆蓋同名檔案等等。詳細的請參照

[root@localhost ~]# cp --help

mv(move)

mv英文中是移動,就是我們在Windows上面常用的剪下功能,具體基本引數和cp一樣,需要原始檔(夾)和目的目錄,如

[root@localhost ~]# mv testFile testDir/

需要注意的是,mv命令不用-r引數就可以移動資料夾。

TIPS - mv更改檔名

mv命令還有一些其他用法,比如更改檔案/資料夾名字。
其實很簡單,mv操作時,兩個引數寫成一樣的,在後面的引數裡,更改檔名,如下列程式碼
[[email protected] ~]# mv /root/testFile /root/testFile2
這段程式碼敘述的是吧明文testFile的檔案更名為testFile2,

rm(remove)

rm在英文中就是移除的意思,顧名思義,就是刪除的意思,像使用cd一樣,我們可以在rm加上一個路徑上的檔名,刪除檔案。如果你加的是一個路徑,需要增加-r引數刪除路徑所代表的資料夾

[root@localhost ~]# rm -r testDir/
rm:是否進入目錄"testDir/"? y

這裡rm會詢問是否刪除,輸入y回車就刪除成功。但是有時一個目錄裡很多檔案,針對每一個檔案,系統都會問是否刪除,就有點煩了,於是我們就有-f引數,使用時通常和-r引數一起使用.

[root@localhost ~]# rm -rf testDir/

一定要注意,-rf引數一定不能隨便使用,請看如下程式碼(千萬不要嘗試!!!)

[root@localhost ~]# rm -rf /

這個程式碼代表刪除根目錄裡所有檔案,即系統的所有檔案,在有root使用者的支援下,你所有的檔案將被清空!!

mkdir(make directory)

這個命令時用來建立資料夾的,同時也可以使用-r引數遞迴建立路徑(就是假設裡/root目錄下什麼都沒有,如果建立/root/father/son,系統會同時建立father和son兩個資料夾)。通常情況下它都是單獨使用。

總結

我們本次大體敘述了一些基礎的磁碟命令操作,同時我們其實還有很多檔案操作的命令,這些有些需要使用其他軟體來實現,相關的實現我們下次再說。
如果你有相關的問題,歡迎探討,郵箱 [email protected]