Linux 常用命令總結(一)


一、基本概念

1、為什么學習命令操作而不用界面操作?

  Linux 作為服務器,使用圖形界面會占用更多的系統資源,且影響穩定性、安全性。而且一個服務器連個顯示屏都沒有,圖形界面毫無作用,所以命令行操作是 Linux 的必備技能。

常用命令手冊:
  https://www.runoob.com/linux/linux-command-manual.html

2、命令格式

【格式:】
    [root@localhost ~]# 命令 [選項] [參數]
注:
    [root@localhost ~]# 是登錄系統后看到的內容。
    其中 
        []、@ 沒有特殊含義,作為分隔符號。
        root 表示當前登錄的用戶,切換成普通用戶,會顯示普通用戶名。
        localhost 表示當前主機名。
        ~ 表示當前所在的目錄,初始登錄時顯示 ~,表示為家目錄(主目錄)。
            root 用戶家目錄在  /root,普通用戶家目錄在 /home/用戶名。
       # 表示當前登錄用戶為管理員,若為普通用戶,則顯示為 $。
       
    命令 [選項] [參數]
    其中
        選項,為可選項,用於調整命令的功能。
        參數,為可選項,用於調整命令的操作對象。

 

 

3、文件類型

  Linux 內部一切皆文件,不同的類型的文件代表不同的意義。

【類型:】
    -        表示常規文件,如 文本文件、壓縮文件、二進制文件。
    d        表示目錄文件(directory)
    b        表示塊設備文件(block device),如硬盤
    c        表示字符設備文件(character device),如鍵盤、鼠標
    s        表示套接字文件(socket),用於網絡數字連接、通信
    p        表示管道文件(pipe)
    l        表示鏈接文件(symbolic link),即快捷方式

 

 

4、幫助命令

  用於查看命令的說明文檔。

【格式:】
    man [命令]    彈出一個窗口,按 Q 退出
    help [命令]   控制台顯示

【舉例:】
    [root@localhost test]# help echo

 

 

二、文件目錄操作指令

1、pwd(顯示當前目錄的絕對路徑)

  指的是 print work directory 的縮寫,即打印工作目錄。
  用於輸出當前工作目錄的絕對路徑,以便於判斷當前所在目錄的位置。

【格式:】
    pwd
    
【舉例:】
    [root@localhost ~]# pwd

 

 

2、ls(顯示當前目錄下的文件、目錄)

  指的是 list 的縮寫,即目錄、列表。
  用於輸出當前工作目錄、或者指定目錄下的所有內容。

【格式:】
    ls [選項] [目錄名]
注:
    若目錄名不存在,則輸出當前工作目錄下的內容。若存在,則輸出指定目錄的內容。
    常用選項:
        -a      用於顯示全部文件,包括以 . 開頭的隱藏文件。
        -h      以一種易讀的方式顯示文件或者目錄的大小。K、M。
        -l      以列表的形式列出目錄信息。ls -l 可以簡寫為 ll
        
【舉例:】
    [root@localhost ~]# ls -alh

 

 

3、cd(切換目錄)

  指的是 change directory 的縮寫,即切換目錄。
  用於切換工作目錄。

【格式:】
    cd [相對路徑 / 絕對路徑]
注:
    特殊路徑符號:
        .    代表當前目錄
        ..   代表當前目錄的上一級目錄
        ~    代表當前目錄的家目錄(主目錄)
        -    代表上一次操作所在的目錄
        /    代表根目錄
        
【舉例:】
    [root@localhost test]# cd /

 

 

4、mkdir(創建一個目錄)

  指的是 make directories 的縮寫,即創建目錄。
  用於創建一個目錄。

【格式:】
    mkdir [選項] 目錄名
注:
    常用選項:
        -p       用於遞歸創建所有的目錄。對於多級目錄且有些目錄不存在的情況,若不使用 p 選項,則需要自己一級級的創建目錄。
        -m       用於自定義目錄的權限。

【舉例:】
    [root@localhost test]# mkdir -p a/b/c

 

 

5、rmdir(刪除一個空目錄)

  指的是 remove empty directories 的縮寫,即刪除空目錄。
  用於刪除空目錄,只有空目錄才能被刪除,不是空目錄,會出錯。

【格式:】
    rmdir [選項] 目錄名
注:
    常用選項:
        -p     遞歸刪除空目錄,從最下層目錄往上刪
    
【舉例:】
    [root@localhost test]# rmdir -p a/b/c

 

 

6、rm(刪除文件、目錄)

  指的是 remove 的縮寫,即刪除。
  用於永久性刪除沒用的文件,慎用。刪除前最好進行一次備份。

【舉例:】
    rm [選項] 文件或目錄
注:
    常用選項:
        -f     強制刪除,不會提示刪除信息,直接刪除目錄或文件
        -r     遞歸刪除,可用於刪除多級目錄
        -i     顯示提示信息
        
【舉例:】
    [root@localhost test]# rm -fr a/

 

 

7、touch(創建空文件)

  用於創建空文件。

【格式:】
    touch 文件名
    touch 文件名1 文件名2
    
【舉例:】
    [root@localhost test]# touch test.txt test2.txt

 

 

8、cp(拷貝文件或目錄)

  指的是 copy 的縮寫,即拷貝。
  用來復制文件、目錄。可以自定義文件名。

【格式:】
    cp [選項] 源文件位置 目標文件位置
注:
    常見選項:
        -r     用於遞歸復制目錄
        
【舉例:】
    [root@localhost test]# cp test.sh d/test2.sh
    [root@localhost test]# cp -r d a/b/

 

 

9、mv(移動或重命名文件、目錄)

  指的是 move 的縮寫,即移動。
  用於移動或重命名目錄、文件。

【格式:】
    mv 源文件位置 目標文件位置

【舉例:】
    [root@localhost test]# mv test.sh test2.sh
    [root@localhost test]# mv test2.sh a/

 

 

10、ln(創建軟鏈接、即快捷方式)

  用於給文件、目錄創建一個軟鏈接,即快捷方式,通過軟鏈接可以訪問源文件。

【格式:】
    ln [選線] 源文件 目標文件
注:
    -s    用於建立軟鏈接文件,如果不存在,則會創建硬鏈接文件。軟鏈接用的較多。
    -f    強制建立文件,若目標文件存在,則先刪除目標文件再創建鏈接文件。
    
【舉例:】
    [root@localhost test]# ln -s a b
    [root@localhost test]# ln -s a.txt c

 

 

11、vim(打開文本編輯器)

  用於對文本進行修改。
  可以查看:https://www.cnblogs.com/l-y-h/p/11436870.html#_label1

12、history(查看歷史指令)

  用於查看歷史指令,以及執行歷史指令。

【格式:】
    history     查看所有的歷史指令
    history 10  查看最近 10 條歷史指令
    history -c  用於清空歷史指令
    !歷史編號    用於執行歷史的某條指令
    
【舉例:】
    [root@localhost test]# history 10
    [root@localhost test]# !307
    [root@localhost test]# history -c

 

 

13、<、<<、> 、>> (重定向、追加)

  輸入重定向:指的是重新指定設備來代替鍵盤作為新的輸入設備。
  輸出重定向:指的是重新指定設備來代替顯示屏作為新的輸出設備。
  通常新的輸入設備指的是 文件、命令的執行結果。新的輸出設備指的是 文件。

【格式:】
    命令 < 文件       輸入重定向,將文件作為命令的輸入設備
    命令 << 分界符    輸入追加,當遇到分界符后,才會停止接受輸入
    命令 > 文件       輸出重定向,將命令的正確的執行結果輸入到文件中,若文件已存在,會覆蓋
    命令 >> 文件      輸出追加,將命令的正確的執行結果輸入到文件中,若文件已存在,則在原數據后追加數據。
    命令 2> 文件      將命令執行的錯誤輸出輸入到文件中,若文件存在,則覆蓋
    命令 2>> 文件     將命令執行的錯誤輸出輸入到文件中,若文件存在,則在原數據后追加。
    命令 &>> 文件     將命令執行結果(綜合 >> 、 2>>)輸入到文件中,若文件存在,則追加數據。
    
【舉例:】
    [root@localhost test]# cat << 0 > test.txt
    [root@localhost test]# cd d >> test.txt
    [root@localhost test]# cd d 2>> test.txt
    [root@localhost test]# cd f &>> test.txt 

 

 

14、echo(顯示內容到控制台)

  用於輸出內容到控制台。

【格式:】
    echo [選項] [輸出內容]
注:
    選項:
        -e   用於啟用轉義字符

【舉例:】
    [root@localhost test]# echo -e "hello \t world"

 

 

15、cat(連接文件並顯示內容)

  指的是 concatenate 的縮寫,即連接。
  常用於顯示文本內容。會一次性顯示出所有內容,不適合查看大文件,影響效率。

【格式:】
    cat [選項] 文件名1 [文件名2 ...]   可以連接多個文件,並顯示
    cat 文件名 | more                 可以用於查看大文件 
注:
    選項:
        -n 顯示行號

【舉例:】
    [root@localhost test]# cat test.txt 
    [root@localhost test]# cat -n test.txt test2.txt 

 

 

16、more(分屏顯示文件內容)

  通常用於分屏查看大文件。
  會打開一個交互頁面,並顯示百分比。

【格式:】
    more 文件名

【常用交互命令:】
    Q         退出交互頁面
    回車鍵     顯示下一行
    空格鍵     顯示下一頁
    B          向上翻頁
    F          向下翻頁

【舉例:】
    [root@localhost test]# man more > test.txt
    [root@localhost test]# more test.txt 

 

 

17、less(分屏查看文件內容)

  與 more 類似,但比 more 更高級。
區別:
(1)less 按需加載文件,不是一次性加載完畢,效率比 more 強。
(2)less 退出后,命令行上不會顯示文件,more 會顯示。
(3)less 可以通過上下鍵顯示上下內容,more 不行。
(4)閱讀到文件末尾。less 不會自動退出,more會自動退出。

【格式:】
    less 文件名
   
【常用交互命令:】
    Q         退出交互頁面
    回車鍵     顯示下一行
    空格鍵     顯示下一頁
    B          向上翻頁
    F          向下翻頁
    g         回到文件首行
    G         回到文件末尾
    
【舉例:】
    [root@localhost test]# man less > test.txt 
    [root@localhost test]# less test.txt 

 

18、head、tail (顯示文件頭部、尾部的內容)

  head 用於顯示指定文件頭部若干行的文件內容。
  tail 用於顯示指定文件尾部若干行的文件內容。

head 格式:】
    head [選項] 文件名
注:
    選項:
        -n   行數,默認顯示 10-v   顯示文件名

【tail 格式:】
    tail [選項] 文件名
注:
    選項:
        -n  行數,默認顯示 10
     -f 顯示末尾的數據,並不管監控文件的變化,若文件有變化,則顯示變化的內容。 【舉例:】 [root@localhost test]#
head test.txt [root@localhost test]# tail -20 test.txt

 

 

三、壓縮、解壓目錄或文件

1、tar 命令

  tar -cvf 用於文件打包(后綴名為 .tar)。
  tar -xvf 用於文件解包。
注:
  打包與壓縮的區別:
    打包是將文件和目錄當成一個集合,此集合占用空間為 文件目錄占用的空間和。
    壓縮是通過某種算法,將這個集合中的內容進行某種變化,最終集合占用的空間要小於 文件目錄占用的空間和。

【格式:】
    tar [選項]  文件壓縮、解壓后的路徑  待壓縮、解壓的路徑
注:
    選項:
        -z     使用 gzip 方式進行壓縮、解壓(后綴名為 .gz)
        -j     使用 bzip2 方式進行壓縮、解壓 (后綴名為 .bz2)
        -c     表示進行打包操作(后綴名為 .tar-x     表示進行解包操作
        -v     表示顯示解壓、打包的過程
        -f    表示指定解壓、壓縮的文件名
        -C    表示指定解壓的目錄
    常用組合:
        -zcvf   使用 gzip 方式進行打包並壓縮(后綴名為 .tar.gz) 
        -zxvf   使用 gunzip 方式進行解壓並解包
        -jcvf   使用 bzip2 方式進行打包並壓縮(后綴名為 .tar.bz2)
        -jxvf   使用 bunzip2 方式進行解壓並解包

【舉例:】
    [root@localhost test]# tar -zcvf ./b/a.tar.gz a
    [root@localhost test]# tar ./b/a.tar.gz -C ./c/

 

 

2、zip、unzip 命令

  zip 用於壓縮文件或目錄(后綴名為 .zip)。
  unzip 用於解壓。

zip 格式:】
    zip [選項] 文件壓縮后的路徑  待壓縮的路徑
注:
    選項:
        -r  表示遞歸壓縮目錄
        -m  表示文件壓縮完后,刪除源文件
        -v  表示顯示壓縮的過程

【unzip 格式:】
    unzip [選項] 壓縮包名
注:
    選項:
        -d   可以指定解壓的目錄
                
【舉例:】
    [root@localhost test]# zip -rv b.zip a
    [root@localhost test]# unzip -d ./f b.zip 

 

 

3、gzip、gunzip 命令

  gzip 只用於壓縮文件,不會壓縮目錄。(后綴名為 .gz)
  gunzip 用於解壓文件。

gzip 格式:】
    gzip [選項] 壓縮的路徑
注:
    選項:
        -c 將壓縮文件輸出到標准輸出中,保留源文件。
        -r 壓縮目錄下的文件。
        -d 解壓文件
        
【gunzip 格式:】
    gunzip [選項] 壓縮的文件
注:
    選項:
        -r 遞歸解壓目錄中的文件,等價於 gzip -rd 

【舉例:】 
    [root@localhost test]# gzip -r a
    [root@localhost a]# gunzip -r ../a
    [root@localhost a]# gzip -c a.txt > a.txt.gz
    [root@localhost a]# gzip -d a.txt.gz 

 

 

4、bzip2、bunzip2 命令

  bzip2 只用於壓縮文件,不用於壓縮目錄。(后綴名為 .bz2)
  bunzip2 用於解壓文件。
注:
  bzip2 與 gzip的區別:
  gzip 可以使用 -r 選項遞歸壓縮目錄內的文件。bzip2 沒有這個選項,即 bzip2 不能壓縮目錄相關的內容。

bzip2 格式:】
    bzip2 [選項] 源文件
注:
    選項:
        -k   壓縮文件,並保留源文件
        -d   解壓文件
        -v   顯示壓縮文件的過程
        -f   若解壓后文件存在時,可以強制解壓替換

【bunzip2 格式:】
    bunzip2 [選項] 壓縮的文件
注:
    選項:
        -k  解壓文件,保留源文件
        -v  顯示解壓文件的過程
    
【舉例:】
    [root@localhost a]# bzip2 -kv a.txt
    [root@localhost a]# bzip2 -d a.txt.bz2
    [root@localhost a]# bzip2 -v a.txt
    [root@localhost a]# bunzip2 -v a.txt.bz2

 

 

四、時間日期類指令

1、date(顯示當前日期)

  用於顯示當前日期,以及設置日期。

【格式:】
    date                                 顯示默認格式的日期
    date "+%Y - %m - %d %H : %M : %S"    自定義顯示格式(+ 不可省)
    date -s "2020-3-23 15:10:00"         設置時間

【舉例:】
    [root@localhost test]# date -s "2020-3-23 15:10:00"
    [root@localhost test]# date "+%Y - %m - %d %H : %M : %S"

 

 

2、cal(顯示日歷)

  用於顯示日歷。

【格式:】
    cal         查看當前月的日歷
    cal 年份    查看某年的日歷

 

 

五、搜索查找類

1、find(查找文件、目錄)

  用於查找文件、目錄。

【查找文件格式:】
    find [路徑] [選項] [表達式]
注:
    路徑    指的是 被查找的路徑,包含子目錄,默認為當前目錄(.)
    表達式  指的是 被查找文件匹配的格式
    選項:
        -name         根據文件名查找
        -iname        根據文件名查找,並忽略大小寫
        -mtime        顯示過去 n 天前被修改的文件
        -atime       顯示過去 n 天被讀取過的文件
        -maxdepth    最多查找 n 層目錄
        -not         用於查找不滿足條件的文件,可以使用 ! 替換
        -o           等價於 OR 操作符
        -type        可以根據 文件類型進行查找,比如-type f、-type d
        -perm        用於根據文件權限進行查找,比如 -perm 774
        -size        用於根據 文件大小查找,(+ 表示大於,- 表示小於),比如 -size +50M
        -empty       用於查找空文件、空目錄

【刪除找到的文件:】
    find . -type -f -name "a.txt" -exec rm -i {} \;     刪除找到的文件,顯示提示信息。 ; 不可少
    find . -type -d -name "a.txt" -exec rm -fr {} \;  強制遞歸刪除目錄
    
【舉例:】
     [root@localhost test]# find /root/test -type f -name "*.txt" -o -type d -name "b" 
     [root@localhost test]# find . -maxdepth 3 -type d -mtime +1 

 

 

2、locate(查找文件)

  用於快速定位文件路徑。根據事先建立好的數據庫進行查詢(/var/lib/mlocate/mlocate.db)。
  為了保證數據准確性,每次查詢前,需要手動 執行以下 updatedb。

【格式:】
    locate 文件名
    
【舉例:】
    [root@localhost test]# touch b.txt
    [root@localhost test]# updatedb 
    [root@localhost test]# locate b.txt

 

 

 

 

3、grep(過濾查找)

  對於查找的內容,可以根據自己的需求過濾,最終得到想要的結果。常與 管道符 | 連用。
  管道符(|):命令A | 命令B, 表示將前一個命令 A 的結果傳遞給下一個命令 B 執行。

【格式:】
    grep [選項] 查找內容(可以是正則表達式) 源文件
注:
    選項:
        -i   忽略大小寫
        -n   顯示行號
        -v   查找不匹配的內容

【舉例:】
    [root@localhost test]# grep -in java test.txt 
    [root@localhost test]# grep -vn va$ test.txt

 

4、which(查找命令所在的絕對路徑)

  用於查找命令所在位置的絕對路徑。從 $PATH 中查找。

【格式:】
    which 命令

【舉例:】
    [root@localhost bin]# which pwd

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM