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$