1. 程式人生 > 其它 >Linux-1. 基本命令的基本格式

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$