【Linux】Linux常用命令大全

                        1. 基礎知識

                        1.1 文件系統結構

                        /bin? ? ? ? 存放普通用戶可執行的指令,即使在單用戶模式下也能夠執行處理
                        /boot? ? ?  開機引導目錄,包括Linux內核文件與開機所需要的文件
                        /dev? ? ??  設備目錄,所有的硬件設備及周邊均放置在這個設備目錄中
                        /etc? ? ? ? 各種配置文件目錄,大部分配置屬性均存放在這里
                        /home? ?    這里主要存放你的個人數據,具體每個用戶的設置文件
                        /lib? ? ? ? 開機時常用的動態鏈接庫32位,bin及sbin指令也會調用對應的lib庫
                        /lib64? ??  開機時常用的動態鏈接庫64位,bin及sbin指令也會調用對應的lib庫
                        /media??    可移除設備掛載目錄,類似軟盤 U盤 光盤等臨時掛放目錄
                        /mnt? ? ??  用戶臨時掛載其他的文件系統,額外的設備可掛載在這里,相對臨時而言
                        /opt? ? ? ? 第三方軟件安裝目錄,現在習慣性的放置在/usr/local中
                        /proc? ? ?  虛擬文件系統,通常是內存中的映射,特別在誤刪除數據文件后,只要系統不重啟,有很大幾率找回
                        /root? ? ?  系統管理員主目錄,除root之外,其他用戶均放置在/home目錄下
                        /run? ? ??  系統運行是所需文件,以前防止在/var/run中,后來拆分成獨立的/run目錄
                        /sbin? ??   只有root才能運行的管理指令,跟bin類似,但只屬于root管理員
                        /srv? ? ??  服務啟動后需要訪問的數據目錄,
                        /sys? ? ?   跟proc一樣虛擬文件系統,記錄核心系統硬件信息
                        /tmp? ??    存放臨時文件目錄,所有用戶對該目錄均可讀寫
                        /usr? ? ?   應用程序放置目錄
                        /var? ? ?   存放系統執行過程經常改變的文件
                        /vmlinuz? ? 是可引導的,壓縮的linux內核,“vm”代表的“virtual memory”,一般是一個軟連接
                        /lost+found?存放文件系統錯誤導致文件丟失后找回數據的
                        
                        """其他重要目錄 /var/log,存放系統日志信息:"""
                        /var/log/message? ? ??系統啟動后的信息和錯誤日志,是Linux中最常用的日志之一
                        /var/log/secure? ? ? ?與安全相關的日志信息
                        /var/log/maillog? ? ? 與郵件相關的日志信息
                        /var/log/cron? ? ? ? ?與定時任務相關的日志信息
                        /var/log/spooler? ? ? 與UUCP和news設備相關的日志信息
                        /var/log/boot.log? ? ?守護進程啟動和停止相關的日志消息

                        1.2 Linux命令行含義

                        示例:root@app00:~# 
                        root    //用戶名,root為超級用戶
                        @       //分隔符
                        app00   //主機名稱
                        ~       //當前所在目錄,默認用戶目錄為~,會隨著目錄切換而變化,例如:(root@app00:/bin# ,當前位置在bin目錄下)
                        #       //表示當前用戶是超級用戶,普通用戶為$,例如:("yao@app00:/root$" ,表示使用用戶"yao"訪問/root文件夾)
                        

                        1.3 命令的組成成分

                        示例:命令體 [選項] [命令的參數,命令的對象]  []代表可有可無
                        cat -A test.txt
                        head -n 10 test.txt
                        
                        其他:如何獲得命令的幫助?
                        1. 命令 -h  或 命令 --h
                        2. man 命令
                        3. info info是GNU的超文本幫助系統
                        4. help 命令
                        

                        1.4?Linux包管理工具分類

                        (1)主流包管理器?Linux軟件包管理

                        • DPKG:即package manager for Debian ,是 Debian 和基于 Debian 的系統中主要的包管理工具,用來安裝、構建、卸載、管理 deb 格式的軟件包。Ubuntu dpkg使用詳解
                        • RPM? :全名是Red Hat Package Manager,一種數據庫記錄的方式將所需要的軟件安裝到Linux主機的一套管理程序。RPM簡介與基本使用 - 大師兄啊哈 - 博客園

                        (2)軟件包的依賴

                        ????????軟件包之間可能存在依賴關系,甚至循環依賴,即:A包依賴B包,B包依賴C包,C包依賴A包 安裝軟件包時,會因為缺少依賴的包,而導致安裝包失敗。解決依賴包管理工具:

                        • DNF?:Fedora18+rpm包管理器前端工具,CentOS8版dnf代替yum
                        • YUM?:rpm包管理器的前端工具
                        • APT?:deb包管理器前端工具
                        • zypper:suse上的rpm前端管理工具
                        • pacman:就是Arch的apt-get?pacman (簡體中文) - ArchWiki
                        • Portage:Gentoo Linux擁有的先進包管理系統,用Python編寫的,具有很多先進的特性

                        (3)相關文檔

                        【1】包管理器的進化 - 知乎

                        【2】技術|Linux 黑話解釋:什么是包管理器?它是如何工作的?

                        【3】Linux軟件包管理系統 – 標點符

                        ?1.5?Linux系統分類

                        ?1.6?CPU架構概述

                        CPU架構是CPU廠商給屬于同一系列的CPU產品定的一個規范,主要目的是為了區分不同類型CPU的重要標示。目前市面上的CPU指令集分類主要分有兩大陣營,一個是intel、AMD為首的復雜指令集CPU,另一個是以IBM、ARM 為首的精簡指令集CPU。兩個不同品牌的CPU,其產品的架構也不相同,例如,Intel、AMD的CPU是X86架構的,而IBM公司的CPU是 PowerPC架構,ARM公司是ARM架構?。

                        1.? 主要架構:X86、ARM、MIPS、PowerPC、SPARC:
                        其中X86架構:IA、IA-32、IA-64、X86-32、X86-64、AMD64、Intel64
                        
                        2. 指令集:CISC(復雜指令集)、RISC(精簡指令集)、EPIC(顯式并行指令集)、VLIW(超長指令集)
                        

                        ?1.7?IP地址分類

                        ? IP地址=網絡ID+主機ID,地址分類系統把IP地址劃分為不同的地址類:

                        • A類地址:IP地址的前8位表示網絡ID,后24位表示主機ID
                        • B類地址:IP地址的前16位表示網絡ID,后16位表示主機ID
                        • C類地址:IP地址的前24位表示網絡ID,后8位表示主機ID

                        特殊的IP地址:(1)全0主機ID:表示網絡本身;(2)全1主機ID:表示廣播地址;(3)十進制127開頭的地址:環回地址,用于測試自身TCP/IP軟件是否正常,如ping自己127.0.0.1。子網劃分是從主機號字段借用若干位比特,把物理網絡分解為更小的邏輯實體(稱為子網)的一種手段,從而可以更加充分的利用有限的IP地址資源。

                        vi /etc/sysconfig/network-scripts/ifcfg-ensxxx  //編輯網卡信息,設置DHCP或者static網絡
                        nmcli con show                                  //查看網卡的設備名稱(Device)
                        nmcli con add con-name ens12 type ethernet ifname ens12   //添加網卡,自動生成ifcfg-ens23文件
                        ifconfig 、ipconfig、ip addr                    //查看linux或者windows網絡IP地址
                        service network stop\(restart\start\staus)       //關閉、重啟、打開、檢測network

                        ?1.7 網絡協議

                        2. 基礎命令

                        2.1 開關系統

                        (1)立刻關機
                          shutdown -h now 或者 poweroff
                        (2)兩分鐘后關機
                          shutdown -h 2
                        (3)立刻重啟
                          shutdown -r now 或者 reboot
                        (4)兩分鐘后重啟
                          shutdown -r 2 
                        

                        ?2.2?幫助命令

                          ifconfig  --help     //查看 ifconfig 命令的用法
                          man shutdown         //打開命令說明后,可按"q"鍵退出
                        

                        ??2.3?切換用戶

                        useradd -d /home/newuser newuser(設定了該用戶的主目錄和用戶名)
                        passwd newuser

                        ?2.4 查看CPU

                        lscpu:
                          Architecture:           //架構
                          CPU(s):                 //邏輯cpu顆數
                          Thread(s) per core:     //每個核心線程
                          Core(s) per socket:     //每個cpu插槽核數/每顆物理cpu核數
                          CPU socket(s):          //cpu插槽數
                          Vendor ID:              //cpu廠商ID
                          CPU family:             //cpu系列
                          Model:                  //型號
                          Stepping:               //步進
                          CPU MHz:                //cpu主頻
                          Virtualization:         //cpu支持的虛擬化技術
                          L1d cache:              //一級緩存(google了下,這具體表示表示cpu的L1數據緩存)
                          L1i cache:              //一級緩存(具體為L1指令緩存)
                          L2 cache:               //二級緩存
                        
                        cat /proc/cpuinfo          //查看每個CPU詳細信息

                        ?2.5 bang(!)命令

                        !!          //執行上一條命令
                        !!string    //在上一條命令的后面追加 string ,并執行
                        !nstring    //在第n條指令后面追加string,并執行
                        ^foo^bar    //把上一條命令里的foo替換為bar,并執行
                        !wget       //執行最近的以wget開頭的命令
                        !wget:p     //僅打印最近的以wget開頭的命令,不執行。
                        !$          //上一條命令的最后一個參數, 與 Alt - . 和 $_ 相同
                        !*          //上一條命令的所有參數
                        !*:p        //打印上一條命令是所有參數,也即 !*的內容。
                        ^abc        //刪除上一條命令中的abc。
                        !n          //執行歷史命令列表第n條命令,例如執行第三條命令:!3
                        !-n         //執行歷史命令列表倒數第n條命令,例如執行倒數第三條的命令:!-3

                        ?3. 目錄操作

                        3.1 切換目錄(cd)

                          cd /                 //切換到根目錄
                          cd /bin              //切換到根目錄下的bin目錄
                          cd ../               //切換到上一級目錄 或者使用命令:cd ..
                          cd ~                 //切換到home目錄
                          cd -                 //切換到上次訪問的目錄
                          cd xx(文件夾名)       //切換到本目錄下的名為xx的文件目錄,如果目錄不存在報錯
                          cd /xxx/xx/x         //可以輸入完整的路徑,直接切換到目標目錄,輸入過程中可以使用tab鍵快速補全
                          cd *123              //模糊匹配,切換到目標文件夾,例如cd dafsfdgfgf123 等價于 cd *123

                        3.2?查看目錄(ls)

                          ls                   //查看當前目錄下的所有目錄和文件
                          ls -a                //查看當前目錄下的所有目錄和文件(包括隱藏的文件)
                          ls -l                //列表查看當前目錄下的所有目錄和文件(列表查看,更多信息),與"ll"效果一樣
                          ls /bin              //查看指定目錄下的所有目錄和文件 
                          ls -lR test/|grep "^-" |wc -l //統計出test文件夾中文件的個數
                        

                        3.3 創建目錄(mkdir)

                          mkdir -p file          //當前目錄創建file文件夾,若存在則不創建
                          mkdir /home/file{1..3} //指定目錄創建文件夾file1、file2、file3
                          mkdir -m 777 file      //創建權限為777的目錄
                        

                        3.4 刪除目錄與文件(rm)

                          rm 文件名/文件夾名              //刪除當前目錄的的文件(詢問)
                          rm -f  文件名/文件夾名          //刪除當前目錄的的文件(不詢問)
                          rm -rf */文件夾名              //刪除當前目錄所有文件夾或某個文件夾、包括其內子文件夾和文件
                        
                        

                        3.5 修改目錄(mv)

                          mv 當前目錄名 新目錄名           //修改目錄名,同樣適用與文件操作=rename命令
                          mv -r /usr/tmp/tool /opt       //遞歸剪切目錄中所有文件和文件夾
                          mv test1.txt test2.txt file1/  //移動test1、2到文件夾file1
                          -f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
                          -i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
                          -u :若目標文件已經存在,且 source 比較新,才會更新(update)
                        

                        3.6 拷貝目錄(cp)

                          cp [選項] 源文件 目標文件
                            -a:相當于 -d、-p、-r 選項的集合;
                            -d:如果源文件為軟鏈接(對硬鏈接無效),則復制出的目標文件也為軟鏈接;
                            -i:詢問,如果目標文件已經存在,則會詢問是否覆蓋;
                            -l:把目標文件建立為源文件的硬鏈接文件,而不是復制源文件;
                            -s:把目標文件建立為源文件的軟鏈接文件,而不是復制源文件;
                            -p:復制后目標文件保留源文件的屬性(包括所有者、所屬組、權限和時間);
                            -r:遞歸復制,用于復制目錄;
                            -u:若目標文件比源文件有差異,則使用該選項可以更新目標文件,此選項可用于對文件的升級和備用。
                          cp –r test/ newtest                //將當前目錄 test/ 下的所有文件復制到新目錄 newtest下
                          ls |head -n 100 |xargs -n1 -P 1 -i cp {} /home    //將當前目錄下100文件復制到home目錄

                        ?3.7 搜索目錄(find)

                          find /bin -name 'a*'        //查找/bin目錄下的所有以a開頭的文件或者目錄
                          find . -type f              //將當前目錄及其子目錄中的所有文件列出
                          find . -name "*.c"          //將當前目錄及其子目錄下所有文件后綴為 .c 的文件列出來

                        4. 文件操作

                        4.1 創建文件(touch)

                           touch  a.txt         //創建文件(文件不存在),若文件存在,將文件時間屬性修改為當前系統時間
                           : > a.txt            //將文件置空 等價于直接 xxx > a.txt
                        

                        4.2 編輯文件(vi、vim)

                          vi 文件名              //打開需要編輯的文件
                          --進入后,操作界面有三種模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
                          命令模式
                          -剛進入文件就是命令模式,通過方向鍵控制光標位置,
                          -使用命令"dd"刪除當前整行
                          -使用命令"/字段"進行查找
                          -按"i"在光標所在字符前開始插入
                          -按"a"在光標所在字符后開始插入
                          -按"o"在光標所在行的下面另起一新行插入
                          -按":"進入底行模式
                          插入模式
                          -此時可以對文件內容進行編輯,左下角會顯示 "-- 插入 --""
                          -按"ESC"進入底行模式
                          底行模式
                          -退出編輯:      :q
                          -強制退出:      :q!
                          -保存并退出:    :wq
                          ## 操作步驟示例 ##
                          1.保存文件:按"ESC" -> 輸入":" -> 輸入"wq",回車     //保存并退出編輯
                          2.取消操作:按"ESC" -> 輸入":" -> 輸入"q!",回車     //撤銷本次修改并退出編輯
                          ## 補充 ##
                          vim +10 filename.txt                   //打開文件并跳到第10行
                          vim -R /etc/passwd                     //以只讀模式打開文件
                        

                        4.3 查看文件(head、tail)

                        cat、less、more、head、tail
                        cat -n a.txt                //查看文本文件內容,且附加行號
                        cat -s a.txt > b.txt        //合并文本文件中的重復空行,并輸出到另一個文本文件
                        cat a.txt b.txt > c.txt     //合并多個文件到一個文件
                        cat test.txt |less          //less常用于查看大文件,逐頁查看
                        cat test.txt |tail -n +500 |head -n 500 > list.txt //獲取原文檔500-1000行數據
                        head *.txt && tail *.txt    //分別顯示所有txt文本的前10行及其后10行文本數據

                        ?4.3 排序去重(sort、uniq)

                        sort -t ' ' -k 2 -u test.txt         //將文本每行按照空格切分,以第二列去重并排序
                        sort -t ' ' -k 2 test.txt |uniq -u   //將文本每行按照空格切分,在按照第二列排序后,在去重
                        sort a.txt b.txt | uniq -d           //獲得兩文件的交集
                        sort a.txt b.txt | uniq              //獲得兩文件的并集
                        sort a.txt b.txt b.txt | uniq -u     //獲得兩文件的差集(a-b)

                        5. 打包與解壓

                        5.1 壓縮說明

                          .zip、.rar        //windows系統中壓縮文件的擴展名
                          .tar              //Linux中打包文件的擴展名
                          .gz               //Linux中壓縮文件的擴展名
                          .tar.gz           //Linux中打包并壓縮文件的擴展名
                          .7z               //其他壓縮方式     

                        5.2 ZIP打包解壓

                        NTFS:無限制;FAT32:4GB;FAT:2GB  //zip壓縮文件大小限制,根據文件系統格式
                        yum -y install zip unzip          //在linux中安裝zip 、unzip
                        zip -P 密碼 -r A.zip file1/*      //按照原來目錄,加密壓縮文件夾
                        cat test.txt | xargs zip -P 123 test.zip //按照路徑壓縮文件
                        unzip /root/jieya aaa.zip         //解壓zip壓縮文件
                        unzip -O GBK file.zip             //原來在windows上的zip文件, 在CentOS上使用unzip直接解壓會顯示亂碼,因為windows簡體中文版的操作系統一般上用的是GBK編碼, 所以會導致這個問題

                        5.3 RAR打包解壓

                        #安裝
                        wget http://www.rarlab.com/rar/rarlinux-x64-5.0.0.tar.gz
                        tar -zxvf rarlinux-x64-5.0.0.tar.gz
                        mv rar /opt/
                        cd /opt/rar/
                        make && make install
                        
                        unrar e test.rar DestPath //解壓(會在把當前壓縮包內容解壓到當前目錄內,容易造成解壓內容和當前目錄原文件混合,不容易區分,不建議使用)
                        unrar x test.rar DestPath //解壓(會在當前解壓目錄內產生一個以壓縮包名字命名的目錄,目錄內是解壓內容,推薦使用

                        ?5.4 7za打包解壓

                        #centos7安裝
                        yum install epel-release
                        yum install p7zip
                        
                        #分卷壓縮
                        7z a name.7z filename -v10m
                        
                        #普通壓縮
                        7za a -pvirus -t7z xxx.7z ./*
                        
                        #解壓
                        7za e -ofile/ test.zip  #解壓到指定目錄
                        7za x ABC.7z -r -o./       #-r 表示遞歸解壓縮所有的子目錄;參數 e 也是解壓縮文件,但其會將所有文件都解壓到根下,而不是自己原有的目錄下(x代表解壓縮文件,并且是按原始目錄樹解壓)
                        參考文獻:http://www.afracturedlife.com/lyblyblyblin/article/details/68485625?spm
                        
                        #批量解壓
                        ls |xargs -i -n1  echo {} |awk -F '.' '{print $1}' |xargs -n1 -t -i 7za x -p123 {}.7z -r -o./{}

                        5.5?7z打包解壓

                        sudo apt-get install p7zip-full p7zip-rar    //uos安裝7z
                        sudo yum install p7zip p7zip-plugins         //centos安裝7z
                        7z a test.7z *.txt                           //7z壓縮文件
                        7z x -y -p密碼  壓縮包 -o文件路徑              //7zy解壓文件

                        5.6?tar打包解壓

                        tar -zxvf 文件名.tar.gz                 //解壓tar.gz包
                        tar -zcvf 文件名.tar.gz 待壓縮的文件名   //打包tar.gz
                        tar -xvJf 文件名.tar.xz                 //解壓tar.xz

                        評論 3 您還未登錄,請先 登錄 后發表或查看評論

                        “相關推薦”對你有幫助么?

                        • 非常沒幫助
                        • 沒幫助
                        • 一般
                        • 有幫助
                        • 非常有幫助
                        提交
                        ??2022 CSDN 皮膚主題:大白 設計師:CSDN官方博客 返回首頁

                        打賞作者

                        kimicren

                        你的鼓勵將是我創作的最大動力

                        ¥2 ¥4 ¥6 ¥10 ¥20
                        輸入1-500的整數
                        余額支付 (余額:-- )
                        掃碼支付
                        掃碼支付:¥2
                        獲取中
                        掃碼支付

                        您的余額不足,請更換掃碼支付或充值

                        打賞作者

                        實付
                        使用余額支付
                        點擊重新獲取
                        掃碼支付
                        錢包余額 0

                        抵扣說明:

                        1.余額是錢包充值的虛擬貨幣,按照1:1的比例進行支付金額的抵扣。
                        2.余額無法直接購買下載,可以購買VIP、C幣套餐、付費專欄及課程。

                        余額充值
                        久久悠悠精品综合网