常考的21 條 Linux 命令

常考的21 條 Linux 命令

常考的21 條 Linux 命令


資料來源: https://mp.weixin.qq.com/s?__biz=Mzg2MjEwMjI1Mg==&mid=2247488486&idx=2&sn=209f40f0a8682fbb99ba45d28bf5c15a&chksm=ce0da465f97a2d7391fcfb226d1310f750de7fdc48ad1eed549f84dfad3641d7fd81b7491eb4&scene=0&xtrack=1&key=83b29471f317cf4cf7dfba83d1568817a6dafbed81c76a8f5ee87a85da85f5e7c7d286b43bafe3c88066157ccd77cdfb7f0f5181ae7cebd859827b3d9cf7dd382c0b0c87b47022bfe1f2ff885ddc92e5&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10&version=62060833&lang=zh_TW&pass_ticket=SVOOa%2BOf7GKfZCQpPO9hcLqjuWTeCESPDhGWCDwqD%2FlSqqIJLEG8SXEmltfZTYyw


一、文件和目錄

    1. cd命令
        它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑
        cd /home 進入’/ home’ 目錄
        cd .. 返回上一級目錄
        cd ../.. 返回上兩級目錄
        cd 進入個人的主目錄
        cd ~user1 進入個人的主目錄
        cd – 返回上次所在的目錄
    2. pwd命令
        pwd 顯示工作路徑
    3. ls命令 
        查看文件與目錄的命令,list之意
        ls 查看目錄中的文件
        ls -l 顯示文件和目錄的詳細資料
        ls -a 列出全部文件,包含隱藏文件
        ls -R 連同子目錄的內容一起列出(遞歸列出),等於該目錄下的所有文件都會顯示出來  
        ls *[0-9]* 顯示包含數字的文件名和目錄名
    4. cp 命令
        用於復製文件,copy之意,它還可以把多個文件一次性地複製到一個目錄下
        -a :將文件的特性一起復制
        -p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份
        -i :若目標文件已經存在時,在覆蓋時會先詢問操作的進行
        -r :遞歸持續複製,用於目錄的複制行為
        -u :目標文件與源文件有差異時才會復制
    5. mv命令(用於移動文件、目錄或更名,move之意)
        -f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
        -i :若目標文件已經存在,就會詢問是否覆蓋
        -u :若目標文件已經存在,且比目標文件新,才會更新
    6. rm命令(用於刪除文件或目錄,remove之意)
        -f :就是force的意思,忽略不存在的文件,不會出現警告消息
        -i :互動模式,在刪除前會詢問用戶是否操作
        -r :遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數


二、查看文件內容

    7. cat命令(用於查看文本文件的內容,後接要查看的文件名,通常可用管道與more和less一起使用)
        cat file1 從第一個字節開始正向查看文件的內容
        tac file1 從最後一行開始反向查看一個文件的內容
        cat -n file1 標示文件的行數
        more file1 查看一個長文件的內容
        head -n 2 file1 查看一個文件的前兩行
        tail -n 2 file1 查看一個文件的最後兩行
        tail -n +1000 file1 從1000行開始顯示,顯示1000行以後的
        cat filename | head -n 3000 | tail -n +1000 顯示1000行到3000行
        cat filename | tail -n +3000 | head -n 1000 從第3000行開始,顯示1000(即顯示3000~3999行)


三、文件搜索

    8. find命令
        find / -name file1 從’/’ 開始進入根文件系統搜索文件和目錄
        find / -user user1 搜索屬於用戶’user1′ 的文件和目錄
        find /usr/bin -type f -atime +100 搜索在過去100天內未被使用過的執行文件
        find /usr/bin -type f -mtime -10 搜索在10天內被創建或者修改過的文件
        whereis halt 顯示一個二進製文件、源碼或man的位置
        which halt 顯示一個二進製文件或可執行文件的完整路徑
        刪除大於50M的文件:
        find /var/mail/ -size +50M -exec rm {} \;


四、文件的權限 

    – 使用”+” 設置權限,使用”-” 用於取消
    9. chmod 命令
        ls -lh 顯示權限
        chmod ugo+rwx directory1 設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4 )、寫(w,2)和執行(x,1)的權限
        chmod go-rwx directory1 刪除群組(g)與其他人(o)對目錄的讀寫執行權限
    10. chown命令(改變文件的所有者)
        chown user1 file1 改變一個文件的所有人屬性
        chown -R user1 directory1 改變一個目錄的所有人屬性並同時改變改目錄下所有文件的屬性
        chown user1:group1 file1 改變一個文件的所有人和群組屬性
    11. chgrp命令(改變文件所屬用戶組)
        chgrp group1 file1 改變文件的群組


五、文本處理

    12. grep命令(分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用於對一些命令的輸出進行篩選加工等等)
        grep Aug /var/log/messages 在文件’/var/log/messages’中查找關鍵詞”Aug” 
        grep ^Aug /var/log/messages 在文件’/var/log/messages’中查找以”Aug”開始的詞彙
        grep [0-9] /var/log/messages 選擇’/var/log/messages’ 文件中所有包含數字的行
        grep Aug -R /var/log/* 在目錄’/var/log’ 及隨後的目錄中搜索字符串”Aug”
        sed ‘s/stringa1/stringa2/g’ example.txt 將example.txt文件中的”string1″ 替換成”string2″
        sed ‘/^$/d’ example.txt 從example.txt文件中刪除所有空白行
    13. paste 命令
        paste file1 file2 合併兩個文件或兩欄的內容
        paste -d ‘+’ file1 file2 合併兩個文件或兩欄的內容,中間用”+”區分
    14. sort 命令
        sort file1 file2 排序兩個文件的內容
        sort file1 file2 | uniq 取出兩個文件的並集(重複的行只保留一份)
        sort file1 file2 | uniq -u 刪除交集,留下其他的行
        sort file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在於兩個文件中的文件)
    15. comm 命令
        comm -1 file1 file2 比較兩個文件的內容只刪除’file1′ 所包含的內容
        comm -2 file1 file2 比較兩個文件的內容只刪除’file2′ 所包含的內容
        comm -3 file1 file2 比較兩個文件的內容只刪除兩個文件共有的部分


六、打包和壓縮文件

    16. tar命令(對文件進行打包,默認情況並不會壓縮,如果指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓)
        -c :新建打包文件
        -t :查看打包文件的內容含有哪些文件名
        -x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中
        -j :通過bzip2的支持進行壓縮/解壓縮
        -z :通過gzip的支持進行壓縮/解壓縮
        -v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來
        -f filename :filename為要處理的文件
        -C dir :指定壓縮/解壓縮的目錄dir
        壓縮:tar -jcv -f filename.tar.bz2 要被處理的文件或目錄名稱
        查詢:tar -jtv -f filename.tar.bz2
        解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
    bunzip2 file1.bz2 解壓一個叫做’file1.bz2’的文件
    bzip2 file1 壓縮一個叫做’file1′ 的文件
    gunzip file1.gz 解壓一個叫做’file1.gz’的文件
    gzip file1 壓縮一個叫做’file1’的文件
    gzip -9 file1 最大程度壓縮
    rar a file1.rar test_file 創建一個叫做’file1.rar’ 的包
    rar a file1.rar file1 file2 dir1 同時壓縮’file1′, ‘file2′ 以及目錄’dir1’
    rar x file1.rar 解壓rar包
    zip file1.zip file1 創建一個zip格式的壓縮包
    unzip file1.zip 解壓一個zip格式壓縮包
    zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包


七、系統和關機(系統的關機、重啟以及登出 )

    shutdown -h now 關閉系統(1)
        init 0 關閉系統(2)
        telinit 0 關閉系統(3)
        shutdown -h hours:minutes & 按預定時間關閉系統
        shutdown -c 取消按預定時間關閉系統
        shutdown -r now 重啟(1)
    reboot 重啟(2)
    logout 註銷
    time 測算一個命令(即程序)的執行時間


八、進程相關的命令

    jps命令(顯示當前系統的java進程情況,及其id號)
    jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平台上簡單察看當前java進程的一些簡單情況。
    ps命令(用於將某個時間點的進程運行情況選取下來並輸出,process之意)
        -A :所有的進程均顯示出來
        -a :不與terminal有關的所有進程
        -u :有效用戶的相關進程
        -x :一般與a參數一起使用,可列出較完整的信息
        -l :較長,較詳細地將PID的信息列出
        ps aux # 查看系統所有的進程數據
        ps ax # 查看不與terminal有關的所有進程
        ps -lA # 查看系統所有的進程數據
        ps axjf # 查看連同一部分進程樹狀態
    kill命令(用於向某個工作(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用)
    killall命令 (向一個命令啟動的進程發送一個信號)
    top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。
    如何殺死進程:
    (1)圖形化界面的方式
    (2)kill -9 pid (-9表示強制關閉)
    (3)killall -9 程序的名字
    (4)pkill 程序的名字
    查看進程端口號:
    netstat -tunlp|grep 端口號


九、普通文件和目錄文件的區別

    9.1 文件的類型
        Linux下面一切皆文件,配置是文件,設備是文件,目錄也是特殊的文件,文件有如下幾種:
        d:目錄文件的標識是,
        -:普通文件標識,
        l:軟連接文件,亦稱符號鏈接文件;
        b,塊文件,是設備文件的一種(還有另一種),b是block的簡寫。
        c,字符文件,也是設備文件的一種,c是character的文件。
    9.2 普通文件和目錄文件
        普通文件:存儲普通數據,一般就是字符串。
        目錄文件:存儲了一張表,該表就是該目錄文件下,所有文件名和inode的映射關係。
    9.3 權限的區別
        對於普通文件來說,rwx的意義是:
        r:可以獲得這個普通文件的名字和內容。
        w:可以修改這個文件的內容和文件名。可以刪除該文件。
        x:該文件是否具有被執行的權限。
        對於目錄文件來說,rwx的意義是:
        r:表示具有讀取目錄結構列表的權限,所以當你具有讀取(r)一個目錄的權限時,表示你可以查詢該目錄下的文件名。就可以利用ls 這個命令將該目錄的內容列表顯示出來, 必須這個目錄有x的權限,才可以進入這個目錄。
        w:移動該目錄結構列表的權限(建立新的文件與目錄、刪除已經存在的文件與目錄、更名、移動位置)。
        x:目錄不可以被執行,目錄的x代表的是用戶能否進入該目錄成為工作目錄。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *