Linux-1. 基本命令的基本格式
1 基本命令的基本格式
目錄1. 命令提示符說明
[root@localhost~]# * []: 這是提示符的分隔符號,沒有特殊含義 * root:顯示的是當前的登陸使用者 * @:分隔符號,沒有特殊含義 * localhost:當前系統的簡寫主機名(完整主機名localhost.localdomain) * ~:代表使用者當前所在的目錄的最後一級目錄 * #:表示命令提示符。#是超級使用者,$是普通使用者
提示:~
為當前的家目錄
2. 命令的基本格式
[root@localhost~]# [選項][引數]
- (1)舉例
ls
命令
ls
是最常見的目錄操作命令,主要作用是顯示目錄下的內容。
* 命令名稱:ls
* 英文原意:list
* 所在路徑:/bin/ls
* 執行許可權:所有使用者
* 功能描述:顯示目錄下的內容
[root@localhost ~] # ls [選項] [檔名或目錄名] 選項: -a:顯示所有檔案 --color=[when]:支援顏色輸出,when的值預設是always(總顯示顏色),也可以是never(從不顯示顏色)和auto(自動) **ls --color=auto** -d:顯示目錄資訊,而不是目錄下的檔案 -h:人性化顯示,按照我們習慣的單位顯示檔案大小 -i:顯示檔案的i節點號。理論上i節點號不重疊。 -l:長格式顯示(long list) 以上是ls命令,比較常用的選項。
- (2)說明
ls -l
命令的輸出內容
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls -l 總用量 23583748 drwxrwxr-x 4 ubuntu ubuntu 4096 12月 22 14:42 map -rw-rw-r-- 1 ubuntu ubuntu 212926229 12月 21 19:13 output.tar.gz drwxrwxr-x 2 ubuntu ubuntu 4096 12月 21 21:29 record -rw-rw-r-- 1 ubuntu ubuntu 1537 1月 6 21:11 ss.py
內容 | 說明 |
---|---|
drwxrwxr-x | 許可權 |
4 | 引用計數 |
ubuntu | 所有者 |
ubuntu | 所屬組 |
4096 | 檔案大小 |
12月 22 14:42 | 檔案修改時間 |
map | 檔名 |
第一列:許可權。具體許可權的含義在之後許可權部分詳細講解。
第二列:引用計數。
該引數沒有太大作用,而且引用計數對於檔案和目錄是有區別的。
檔案的引用計數代表該檔案的硬連結個數。
目錄的引用計數代表該目錄有多少個一級子目錄。
也就是說,如果是檔案就代表該檔案的硬連結個數,如果是目錄代表該目錄有多少個一級子目錄。第三列:所有者,也就是這個檔案屬於哪個使用者。預設所有者是檔案的建立使用者。
第四列:所屬組。預設所屬組是檔案建立使用者的有效組,一般情況下就是建立使用者的所在組。
為什麼一個檔案要分所有者和所屬組呢?
是為了分配許可權的時候,指定許可權方便分配。第五列:檔案大小。預設單位是位元組(byte)。
第六列:檔案修改時間。
檔案狀態修改時間(訪問時間)或檔案資料修改時間都會更改這個時間,哪個時間最後,顯示哪個時間。注意這個時間不是檔案的建立時間。第七列:檔名。
提示:
Linux系統中,以.開頭的檔案,都是隱藏檔案。用ls -a命令檢視。
Linux系統中,所有目錄都有兩個隱藏目錄。.代表當前目錄,..代表上級目錄
3. 目錄相關的命令
3.1 ls 命令
ls
是最常見的目錄操作命令,主要作用是顯示目錄下的內容。
* 命令名稱:ls
* 英文原意:list
* 所在路徑:/bin/ls
* 執行許可權:所有使用者
* 功能描述:顯示目錄下的內容
[root@localhost ~] # ls [選項] [檔名或目錄名]
選項:
-a:顯示所有檔案
--color=[when]:支援顏色輸出,when的值預設是always(總顯示顏色),也可以是never(從不顯示顏色)和auto(自動)
**ls --color=auto**
-d:顯示目錄資訊,而不是目錄下的檔案
-h:人性化顯示,按照我們習慣的單位顯示檔案大小
-i:顯示檔案的i節點號。理論上i節點號不重疊。
-l:長格式顯示(long list)
以上是ls命令,比較常用的選項。
用法演示
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ls -l
總用量 52
-rw-r--r-- 1 ubuntu ubuntu 8980 12月 20 16:37 examples.desktop
drwxrwxr-x 9 ubuntu ubuntu 4096 3月 14 16:15 qiao
drwx------ 3 ubuntu ubuntu 4096 2月 23 19:16 snap
drwxr-xr-x 3 ubuntu ubuntu 4096 12月 24 14:05 公共的
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 模板
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 視訊
drwxr-xr-x 2 ubuntu ubuntu 4096 3月 1 10:31 圖片
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 文件
drwxr-xr-x 7 ubuntu ubuntu 4096 3月 14 15:43 下載
drwxr-xr-x 2 ubuntu ubuntu 4096 12月 20 16:44 音樂
drwxr-xr-x 2 ubuntu ubuntu 4096 1月 21 15:06 桌面
3.2 cd 命令
cd
是切換使用者所在目錄的命令,這個命令的基本資訊如下
* 命令名稱:cd
* 英文原意:change directory
* 所在路徑:Shell內建命令
* 執行許可權:所有使用者
* 功能描述:切換所在目錄
(1)絕對路徑和相對路徑
- 絕對路徑:以根目錄為參照物,從根目錄開始,一級一級進入目錄。
- 相對路徑:以當前目錄作為參照物,進行目錄查詢。
- 路徑的最後一個
/
,表示路徑下,有也可以,沒有也行。
(2)cd命令的簡化用法
特殊符號 | 作用 |
---|---|
~ 直接回車 | 代表使用者的家目錄 |
- | 代表上次所在目錄 |
. | 代表當前目錄 |
.. | 代表上級目錄 |
3.3 pwd 命令
pwd
是查詢所在目錄位置的命令,基本資訊如下:
* 命令名稱:pwd
* 英文原意:print name of current/working directory
* 所在路徑:/bin/pwd
* 執行許可權:所有使用者
* 功能描述:查詢所在的工作目錄位置
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ pwd
/home/ubuntu
3.4 mkdir 命令
mkdir是建立目錄的命令,基本資訊如下:
* 命令名稱:mkdir
* 英文原意:make directories
* 所在路徑:/bin/mkdir
* 執行許可權:所有使用者
* 功能描述:建立空目錄
mkdir
命令格式如下:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir [選項] 目錄名
選項:
-p:遞迴建立所需目錄
例如:建立一個目錄
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir abc
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ll
總用量 40
drwxrwxr-x 2 ubuntu ubuntu 4096 3月 15 11:14 abc/
同時建立多級目錄,示例如下:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir 123/456/789
mkdir: 無法建立目錄"123/456/789": 沒有那個檔案或目錄
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir -p 123/456/789
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$
提示: linux不允許在一個資料夾內出現同名的目錄和檔案
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ls
123 abc
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mkdir 123
mkdir: 無法建立目錄"123": 檔案已存在
3.5 rmdir 命令
既然有建立目錄的命令,就一定會有刪除目錄的命令rmdir
,基本資訊如下:
* 命令名稱:rmdir
* 英文原意:remove empty directories
* 所在路徑:/bin/rmdir
* 執行許可權:所有使用者
* 功能描述:刪除空目錄
命令格式
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ rmdir [選項] 目錄名
練習:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ rmdir 123
rmdir: 刪除 "123" 失敗: 目錄非空
提示:
rmdir
命令的作用十分有限,因為只能刪除空目錄,所以一旦目錄中有內容,就會報錯這個命令比較“笨”,所有我們不太常用。後續我們不論是刪除的是檔案還是目錄,都會使用
rm
命令。
4. 檔案操作相關的命令
4.1 touch 命令
touch
命令是用於建立空檔案或修改檔案時間,這個命令的基本資訊如下。
* 命令名稱:touch
* 英文原意:change file timestamps
* 所在路徑:/bin/touch
* 執行許可權:所有使用者
* 功能描述:建立空檔案或修改檔案時間戳
使用示例
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ touch 1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ll
總用量 44
-rw-rw-r-- 1 ubuntu ubuntu 0 3月 15 19:10 1.txt ⭐️
touch
是摸的意思,如果沒有這個檔案,摸一下就有了,如果有這個檔案,摸一下,最後一次的訪問時間就變更了
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ touch 1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ll
總用量 44
-rw-rw-r-- 1 ubuntu ubuntu 0 3月 15 19:11 1.txt ⭐️
4.2 stat 命令
stat
是檢視檔案詳細資訊的命令,而且可以看到檔案的三個時間,具體資訊如下。
* 命令名稱:stat
* 英文原意:display file or file system status
* 所在路徑:/usr/bin/stat
* 執行許可權:所有使用者
* 功能描述:顯示檔案或檔案系統的詳細資訊
示例:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ stat 1.txt
檔案:1.txt
大小:0 塊:0 IO 塊:4096 普通空檔案
裝置:802h/2050d Inode:10757125 硬連結:1
許可權:(0664/-rw-rw-r--) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)
最近訪問:2022-03-15 19:11:54.039112490 +0800
最近更改:2022-03-15 19:11:54.039112490 +0800
最近改動:2022-03-15 19:11:54.039112490 +0800
建立時間:-
提示:
Linux系統中檔案是沒有建立時間的
狀態修改指的是修改許可權,修改所屬組等
4.3 cat命令
cat
命令是用來檢視檔案內容的,這個命令的其基本資訊如下。
* 命令名稱:cat
* 英文原意:concatenate files and print on the standard output
* 所在路徑:/bin/cat
* 執行許可權:所有使用者
* 功能描述:合併檔案並列印輸出到標準輸出
cat
命令格式:
[root@localhost ~] # cat [選項] 檔名
選項:
-A:相當於-vET選項的整合,用於列出所有隱藏符號
-E:列出每行結尾的回車符$
-n:顯示行號
-T:把Tab鍵用^I顯示出來
-v:列出特殊字元
說明一下 -A
選項的使用:
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cat 1.txt
111111111111
222222222222222222
3333333333333333333
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cat -A 1.txt
111111111111$
^I222222222222222222$ ⭐️注意$,^I
3333333333333333333$
注意
-A
就是顯示隱藏符號的回車符用
$
表示Tab鍵用
^I
來表示
cat 這個命令方便用於檢視小檔案,因為他是一次性顯示檔案中的所有內容。如果很大的檔案,cat命令只能顯示檔案的最後一部分。雖然可以向上翻閱,但是顯示還是由有限制的,檢視大檔案不是很方便,用下面的 more 命令更方便
4.4 more 命令
more
是分屏顯示檔案的命令,其基本資訊如下
* 命令名稱:more
* 英文原意:file perusal filter for crt viewin
* 所在路徑:/bin/more
* 執行許可權:所有使用者
* 功能描述:分屏顯示檔案內容
more
命令比較簡單,一般也不用什麼選項,命令會開啟一個互動介面,可以識別一下互動命令。
常用的互動命令如下:
- 空格鍵:向下翻頁
-
b
: 向上翻頁 - 回車鍵:向下滾動一行
- /字串:搜尋指定的字串
-
q
: 退出
4.5 less 命令
less
命令和more
命令類似,只是more
是分屏顯示命令,而less
是分行顯示命令,其基本資訊如下:
* 命令名稱:less
* 英文原意:opposite of more
* 所在路徑:/usr/bin/less
* 執行許可權:所有使用者
* 功能描述:分行顯示檔案內容
提示:
less
是分行顯示,通過上下箭頭翻閱,按q:
退出
cat
more
less
這三個都是檢視的命令,按照自己的習慣來咯
4.6 head 命令
head
是用來顯示檔案開頭的命令,其基本資訊如下:
* 命令名稱:head
* 英文原意:output the first part of files
* 所在路徑:/usr/bin/head
* 執行許可權:所有使用者
* 功能描述:顯示檔案開頭的內容
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ head [選項] 檔名
選項:
-q:隱藏檔名
-v:顯示檔名
-c<位元組>:顯示位元組數
-n<行數>:顯示的行數
4.7 tail命令
既然有顯示檔案開頭的命令,就會有顯示檔案結尾的tail
命令,其基本資訊如下:
* 命令名稱:tail
* 英文原意:output the last part of files
* 所在路徑:/usr/bin/tail
* 執行許可權:所有使用者
* 功能描述:顯示檔案結尾的內容
tail
命令格式
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ head [選項] 檔名
[選項]
-f 迴圈讀取
-q 不顯示處理資訊
-v 顯示詳細的處理資訊
-c<數目> 顯示的位元組數
-n<行數> 顯示檔案的尾部 n 行內容
--pid=PID 與-f合用,表示在程序ID,PID死掉之後結束
-q, --quiet, --silent 從不輸出給出檔名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒
提示:
head
命令和tail
命令,預設分別顯示檔案的前10行和最後10行如果需要顯示其他行數的內容可通過
head -n 20/-20 1.txt
,進行檢視
-f
:監聽檔案的新增內容說明:通過
head -f 1.txt
監聽一個檔案,如果另外其他的終端修改或新增內容,該終端就會同步到退出監聽狀態用:
ctrl + c
5. 目錄和檔案都能操作的命令
5.1 rm 命令
rm
是強大的刪除的命令,不僅可以刪除檔案,也可以刪除目錄。這個命令的基本資訊如下。
* 命令名稱:rm
* 英文原意:remove files or directories
* 所在路徑:/bin/rm
* 執行許可權:所有使用者
* 功能描述:刪除檔案或目錄
rm
命令格式
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ rm [選項] 檔案或目錄
選項:
-f:強制刪除(force)
-r:遞迴刪除,可以刪除目錄(recursive)
-i:互動刪除,在刪除之前會詢問使用者(如果不添-f引數,rm命令預設新增-i引數)
提示:
一般使用
rm
的時候,搭配-rf
一旦被刪除就沒有了,切記
5.2 cp 命令
cp
是用於複製的命令,其基本資訊如下:
* 命令名稱:cp
* 英文原意:copy file and directories
* 所在路徑:/bin/cp
* 執行許可權:所有使用者
* 功能描述:複製檔案或目錄
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cp [選項] 原始檔 目標檔案
選項:
-a:相當於-dpr選項的集合,這幾個選項我們一一介紹
-d:如果原始檔為軟連結(對硬連結無效),則複製出的目標檔案也為軟連結
-i:詢問,如果目標檔案已經存在,則會詢問是否覆蓋
-p:複製後目標檔案保留原始檔的屬性(包括所有者、所屬組、許可權和時間)
-r:遞迴複製,用於複製目錄
總結:只要加了-a選擇,複製的目標檔案或目錄,和原始檔或源目錄,就會一模一樣。
示例
buntu@ubuntu-HP-Z4-G4-Workstation:~$ ls
1.txt qiao
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cp 1.txt qiao/ ⭐️ 如果後邊路徑不加檔名,就是原名複製
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cd qiao/
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ cd ..
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cp 1.txt qiao/2.txt ⭐️ 如果後邊路徑加檔名,就是改名複製
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ cd qiao/
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
1.txt 2.txt
5.3 mv 命令
mv
是用來剪下的命令,其基本資訊如下
* 命令名稱:mv
* 英文原意:move(rename) files
* 所在路徑:/bin/mv
* 執行許可權:所有使用者
* 功能描述:移動檔案或目錄
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mv [選項] 原始檔 目標檔案
選項:
-f:強制覆蓋,如果目標檔案已經存在,則不詢問,直接強制覆蓋
-i:互動移動,如果目標檔案已經存在,則詢問使用者是否覆蓋(預設選項)
-v:顯示詳細資訊
[root@192 ~]# mv abc /tmp/ 剪下
[root@192 tmp]# mv abc bef 重新命名
[root@192 tmp]# mv bef /root/abc 剪下+重新命名
示例
- 剪下
mv 1.txt qiao/
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ mv 1.txt qiao/ ⭐️
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ls
ubuntu@ubuntu-HP-Z4-G4-Workstation:~$
- 重新命名
mv 1.txt 11.log
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ mv 1.txt 11.log ⭐️
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
11.log
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$
- 剪下+重新命名
mv 11.log xx/1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ mkdir xx
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ ls
11.log xx
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ mv 11.log xx/1.txt ⭐️
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao$ cd xx
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao/xx$ ls
1.txt
ubuntu@ubuntu-HP-Z4-G4-Workstation:~/qiao/xx$