Linux下的基本指令(一)
文章目錄
1.檔案系統層次結構
Linux系統中的所有檔案儲存在檔案系統中,它們被組織到一個顛倒的目錄樹中,稱為檔案系統層次結構。這棵樹是顛倒的,因為樹根在該層次結構的頂部,樹根下方延伸出目錄和子目錄的分支。
/目錄是根目錄,位於檔案系統層次結構的頂部。/字元還用作檔名中的目錄分隔符。
例如:
etc是/目錄的子目錄,我們把它們稱為/etc目錄。
/etc目錄包含一個名為issue的檔案,可稱為 /etc/issue目錄。
1.1根目錄下重要的目錄
/usr | 安裝的軟體、共享的庫,包含檔案和靜態只讀程式的資料。 |
---|---|
/etc | 特定於此係統的配置檔案 |
/var | 系統的可變資料,在系統啟動之間保持永久性。 |
/run | 自上一次系統啟動以來啟動的程序的執行時資料 |
/home | 普通使用者儲存其個人資料和配置檔案的主目錄 |
/root | 管理超級使用者root的主目錄 |
/tmp | 供臨時檔案使用的全域性可寫空間 |
/boot | 開始啟動過程所需的檔案 |
/dev | 包含特殊的裝置檔案,共系統用於訪問硬體 |
2. 對目錄進行操作
命令結構的使用結構: 命令名稱 [操作選項] [操作源物件] [操作目標物件]
[] 裡面的內容可以省略
2.1 樹狀目錄結構的解釋
顛倒的樹狀目錄結構,最上次的目錄是根目錄(‘/’)
Linux是一個多使用者、多工作業系統,同時可以登入多個使用者。
特性:
- 根目錄下的home目錄功能:總的家目錄
- 總的家目錄下邊又有各個使用者自己的家目錄
- 預設情況下家目錄就是以使用者名稱定義的
2.2 目錄的基本命令
指令名稱 | 指令作用 |
---|---|
cp | 複製檔案或目錄 |
mv | 移動檔案或目錄 |
mkdir | 建立目錄 |
rm | 刪除檔案或目錄 |
rmdir | 刪除目錄 |
1. cp 指令:複製一個或多個檔案
將一個現有檔案複製為當前或另一個目錄中的新檔案,或將多個檔案複製到另一個目錄中(最後一個引數必須為目錄)。在目標位置時,新檔案都必須是唯一的。如果新檔名不唯一,那麼複製命令將覆蓋現有檔案。
常用選項:
-f 強制(force)複製檔案或目錄
-i 覆蓋檔案之前先詢問使用者
-r 複製檔案到指定位置,包含目錄
-R 將指定目錄下的檔案及子目錄
舉例:
[[email protected] workspace]$ cp study_02 study02
[[email protected] workspace]$ ls -l
總用量 16
drwxrwxr-x. 2 lemon lemon 4096 10月 20 17:09 study
-rw-rw-r--. 1 lemon lemon 2585 10月 20 17:20 study02
-rw-rw-r--. 1 lemon lemon 2585 10月 20 09:08 study_02
-rw-rw-r--. 1 lemon lemon 1641 10月 20 08:41 study_file
[[email protected] workspace]$ cp study studyfile
cp: 略過目錄"study"
[[email protected] workspace]$ cp -r study studyfile
[[email protected] workspace]$ ls
study study02 study_02 studyfile study_file
[[email protected] workspace]$ ls -R
.:
study study02 study_02 studyfile study_file
./study:
study02
./studyfile:
study02
使用cp study studyfile命令時,提示略過目錄"study",但使用-r遞迴選項時,複製成功。
2.mv指令:移動檔案或者檔案改名
功能:
a. mv命令中第二個引數型別的型別不同,mv命令將檔案重新命名或將其移至一個新的目錄中。
b. 當第二個引數是檔案時,mv命令完成檔案重新命名,此時原始檔只能有一個(也可以是源目錄名),它將所給的原始檔或目錄重新命名為給定的目標檔名。
c. 當第二個引數是已存在的目錄名稱時,原始檔或目錄引數可以有多個,mv命令將各引數指定的原始檔均移至目標目錄中。
常用選項:
-f 如果目標檔案已存在,不會詢問而直接覆蓋
-i 若目標檔案已經存在,就會詢問是否覆蓋
舉例:
[[email protected] workspace]$ ls -R
.:
study study00 study01 study02
./study:
[[email protected] workspace]$ mv study00 study_00
[[email protected] workspace]$ ls
study study_00 study01 study02
[[email protected] workspace]$ mv study_00 ./study
[[email protected] workspace]$ ls -R
.:
study study01 study02
./study:
study_00
第一個mv命令是重新命名,第二個命令會導致檔案重新放置到另外的目錄中。
3.mkdir:建立目錄
常用選項:
-p 遞迴建立目錄,為目標位置請求建立缺失的父目錄(若路徑中某些目錄尚不存在,系統將自動建立好那些不存在的目錄,即一次可以建立多層目錄)
舉例:
[[email protected] workspace]$ ls -R
.:
study study01 study02
./study:
study_00
[[email protected] workspace]$ mkdir aaa/bbb/ccc
mkdir: 無法建立目錄"aaa/bbb/ccc": 沒有那個檔案或目錄
[[email protected] workspace]$ mkdir -p aaa/bbb/ccc
[[email protected] workspace]$ ls -R
.:
aaa study study01 study02
./aaa:
bbb
./aaa/bbb:
ccc
./aaa/bbb/ccc:
./study:
study_00
mkdir通過-p命令建立了該目錄下的aaa/bbb/ccc目錄。
4.rm / rmdir:刪除檔案或目錄
rm 刪除檔案或目錄,預設是刪除檔案
常用選項:
-f 忽略所有提示資訊,強制刪除(即使檔案屬性為只讀,也直接刪除,使用時應該小心)
-r 刪除檔案,包括目錄
-i 刪除檔案時,提示是否要刪除
舉例:
[[email protected] workspace]$ ls
aaa study study01 study_01 study02
[[email protected] workspace]$ ls -R
.:
aaa study study01 study_01 study02
./aaa:
bbb
./aaa/bbb:
ccc
./aaa/bbb/ccc:
./study:
study_00
[[email protected] workspace]$ rm study_01
[[email protected] workspace]$ ls
aaa study study01 study02
[[email protected] workspace]$ rm aaa
rm: 無法刪除"aaa": 是一個目錄
[[email protected] workspace]$ rm -r aaa
[[email protected] workspace]$ ls
study study01 study02
[[email protected] workspace]$ rm -ri study
rm:是否進入目錄"study"? n
[[email protected] workspace]$ ls
study study01 study02
[[email protected] workspace]$ mkdir -p aaa/bbb/ccc
[[email protected] workspace]$ rm -ri aaa
rm:是否進入目錄"aaa"? y
rm:是否進入目錄"aaa/bbb"? y
rm:是否刪除目錄 "aaa/bbb/ccc"?y
rm:是否刪除目錄 "aaa/bbb"?y
rm:是否刪除目錄 "aaa"?y
[[email protected] workspace]$ ls
study study01 study02
以上的操作,第一個為刪除一個檔案rm study_01;第二個為刪除一個目錄rm aaa,但由於沒有加任何選項,所以沒有成功刪除;第三個加了-p選項rm -p aaa,成功刪除目錄aaa;第四個提示詢問訊息rm -i;第五個 rm -ri aaa,即詢問且一級一級的詢問提示的訊息,發現了-r遞迴刪除目錄,先進入目錄刪除目錄中的子目錄及檔案,成為空目錄後再刪除檔案。
rmdir 命令僅刪除空的目錄,刪除的目錄無法取消,也滅有回收站,所以大家需要謹慎使用
[[email protected] workspace]$ ls -R
.:
aaa study study01 study02
./aaa:
bbb
./aaa/bbb:
./study:
study_00
[[email protected] workspace]$ rmdir aaa
rmdir: 刪除 "aaa" 失敗: 目錄非空
[[email protected] workspace]$ rmdir aaa/bbb
[[email protected] workspace]$ ls -R
.:
aaa study study01 study02
./aaa:
./study:
study_00
5. ls命令:檢視當前目錄下內容
常用選項:
-a 檢視隱藏檔案(標準解釋:檢視所有檔案,並不忽略以 . 開頭的檔案) Linux以 . 開頭的檔案都是隱藏檔案 . 當前目錄 … 上一層目錄(每一個目錄下都有這一個目錄)
-l 列出目錄下內容的詳細資訊
-t 按時間排序
-r 對排序進行逆序(一般與-t一起使用)
-h 人性化顯示 (一般和-l在一起使用)
舉例:
[[email protected] workspace]$ ls -R
.:
aaa study study01 study02
./aaa:
./study:
study_00
[[email protected] workspace]$ ls -a
. .. aaa study study01 study02
[[email protected] workspace]$ ls -l
總用量 16
drwxrwxr-x. 2 lemon lemon 4096 10月 20 19:44 aaa
drwxrwxr-x. 2 lemon lemon 4096 10月 20 18:01 study
-rw-rw-r--. 1 lemon lemon 1641 10月 20 17:54 study01
-rw-rw-r--. 1 lemon lemon 2585 10月 20 17:53 study02
[[email protected] workspace]$ ls -t
aaa study study01 study02
[[email protected] workspace]$ ls -r
study02 study01 study aaa
[[email protected] workspace]$ ls -lh
總用量 16K
drwxrwxr-x. 2 lemon lemon 4.0K 10月 20 19:44 aaa
drwxrwxr-x. 2 lemon lemon 4.0K 10月 20 18:01 study
-rw-rw-r--. 1 lemon lemon 1.7K 10月 20 17:54 study01
-rw-rw-r--. 1 lemon lemon 2.6K 10月 20 17:53 study02
在這裡需要對-l選項的結構分析一下,大家需要知道。
-l選項顯示出一系列的訊息,我們可以看到第一豎列檔案型別,d代表什麼檔案型別呢?
d 目錄檔案。
l 符號連結檔案(指向另一個檔案,類似於windows的快捷方式)。
s 套接字檔案。
b 塊裝置檔案。
c 字元裝置檔案。
p 命名管道檔案。
- 普通檔案。
6. pwd命令:列印當前使用者所在目錄
先了解一下絕對路徑和相對路徑:
絕對路徑:完整路徑,從根目錄開始到達要進入目錄,/home/lemon
相對路徑:從本目錄下進入到下一個目錄,…/lemon
pwd列印的是絕對路徑
[[email protected] workspace]$ pwd
/home/lemon/workspace
我們可以瞭解到,我們在根目錄下的home目錄下的當前使用者lemon目錄下的workspace目錄。
7. cd命令:改變工作目錄
cd 將當前工作目錄改變到指定的目錄下。
常用選項:
cd … 返回上一級目錄 ~ 進入當前使用者所在的家目錄
– 返回最近訪問的目錄