Linux常用命令

從事開發的程序員難免不會接觸到Linux,那麼涉及到基礎的Linux使用,無外乎一些基本的命令使用,當然,從事專業Linux操作的人們就另當別論了。本身Linux命令也是非常多的,但我們也沒有必要刻意去進行記憶,只需要在日常的工作過程中多積累,多使用便能達到一個很好的使用、記憶效果。此文也是博主在過程中所用到的一些基本命令,在此作以備註,持續更新,希望有興趣的小夥伴們有問題的話可以留言共同學習討論。

下面是博主在網絡資源上找到的比較好用的資源,在線查詢Linux命令詳解:https://man.linuxde.net/

目錄

一、Linux命令常用結構

二、系統信息

三、系統性能

四、文件和目錄

五、文件權限

六、文件查找

七、查看文件內容

八、文本內容處理

九、用戶權限

十、磁盤信息

十一、壓縮、解壓、打包、備份


                                         Linux命令區分大小寫


一、Linux命令常用結構

Command:即是要運行的命令的本身,說白了就是一個軟件(程序);
Option:是選項(可選),選項是控制命令運行狀態和行爲的(可多個選項一起,如df -hT);
Argument:是參數(可選),是命令要操作對象如文件、路徑、數據、目錄等;
在指令的第一部分按[tab]鍵一下爲[命令補全],兩下爲所有命令選擇,在非第一部分按[tab]鍵兩下爲[文件補全];

二、系統信息

  1. who am i :查看當前使用的終端
  2. cat /proc/version :查看linux版本信息
  3. uname -r :顯示正在使用的內核版本
  4. lsb_release -a :查看系統發行版本(如CentOS7)
  5. date :顯示系統日期 (date +%Y/%m/%d : 顯示效果如2018/01/01)
  6. clock -w :將時間修改保存到 BIOS
  7. cal 2019 :顯示2018年的日曆表
  8. clear :清空命令行
  9. ifconfig :顯示或設置網卡(查ip等)(類似windows中ipconfig)
  10. cat /proc/cpuinfo :顯示CPU的信息
  11. cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l :查看物理CPU個數
  12. cat /proc/cpuinfo| grep "cpu cores"| uniq :查看每個物理CPU的核數
  13. cat /proc/cpuinfo| grep "processor"| wc -l :查看邏輯CPU個數即線程數

三、系統性能

  1. top :動態實時顯示cpu、內存、進程等使用情況(類似windows下的任務管理器)
  2. top -d 2 -p 9999 :-d爲畫面更新的秒數,默認5秒,-p爲指定進程pid的信息(進程號)
  3. free -h :查看系統內存及虛擬內存使用情況
  4. free -m 以MB爲單位顯示內存使情況(-g  以GB爲單位)
  5. df -h :顯示磁盤的空間使用情況
  6. sar -u 3 5 :查看cpu使用情況(3秒一次,共5次)
  7. ps aux|grep firefox :獲取火狐的進程號(PID)(可查看進程佔用cpu、內存百分比及進程觸發指令的路徑)
  8. kill -9 9999(進程號 ):強制殺死進程
  9. systemctl :查看正在運行的服務

四、文件和目錄

  1. cd:用來切換工作目錄,語法:cd [相對或絕對路徑或特殊符號]
  2. cd :進入該用戶的主目錄 ~(root用戶爲/root,其他用戶爲/home/用戶名)
  3. cd .. :返回上一級目錄(注意要空格)
  4. cd - :返回上次所在目錄
  5. cd / :返回根目錄 (絕對路徑)
  6. cd ./目錄1/目錄2 :進入當前目錄下的子目錄(相對路徑)
  7. ​ls:是List的縮寫,用於列出目錄下的文件,語法:ls [選項][目錄或文件名]
  8. ls -a :列出文件下所有的文件,包括以“.“開頭的隱藏文件
  9. ls -lh  *.log** :列出文件的詳細信息(.log結尾,*爲通配符,代表任意多個字符)
  10. pwd:顯示當前的工作路徑
  11. file 文件或目錄 :顯示文件的類型(目錄、text、zip、shell腳本等)
  12. mkdir dir1 :創建目錄(dir1)
  13. mkdir -p ./dir1/dir2 :遞歸創建目錄(-p:父目錄不存在時,同時建立)
  14. touch a.txt :創建文件a.txt
  15. rm:可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉; 語法:rm (選項)(參數)(注:如果參數中含有目錄,則必須加上-r選項);
  16. rm -r 目錄或文件 :刪除目錄(及目錄下所有文件)(非空也可以)
  17. rm -rf 目錄或文件 :強制刪除,如:rm -rf * 爲刪除當前目錄下所有文件
  18. mv a b :移動或者重命名一個文件或者目錄(存在即移動目錄或覆蓋文件,不存在即改名
  19. find  . -name "*.txt" -o -name ".pdf" 當前目錄及子目錄下查找所有以.txt和.pdf結尾的文件
  20. find /hoem -name "*.txt"在/home目錄下查找以.txt結尾的文件名(find  /hoem -iname "*.txt" 忽略大小寫)
  21. ln -s /opt/a.txt /opt/git/ :對文件創建軟鏈接(快捷方式不改名還是a.txt)
  22. ln -s /opt/a.txt /opt/git/b :(快捷方式改名爲b)(下面的一樣可以改名)
  23. ln -s /opt/mulu /opt/git/ :對目錄創建軟鏈接
  24. ln /opt/a.txt /opt/git/ :對文件創建硬鏈接

五、文件權限

  1. chmod [-R] 777文件或目錄 :設置權限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)

    ​注: r(read)對應4,w(write)對應2,x(execute)執行對應1;

    -R:遞歸更改文件屬組,就是在更改某個目錄文件的屬組時,如果加上-R的參數,那麼該目錄下的所有文件的屬組都會更改)

  2. chmod [{ugoa}{+-=}{rwx}][文件或目錄] 如chmod u-w,g+x,o=r test.txt  爲user(擁有者)去掉寫權限,group(所屬組)加上執行權限,other(其他人)權限等於只讀;
  3. chown [-R] admin:root /opt/ :變更文件及目錄的擁有者和所屬組(-R遞歸處理所有文件和文件夾,admin爲擁有者,root爲所屬者)

六、文件查找

  1. find /home -mtime -2 :在/home下查最近2*24小時內改動過的文件
  2. find . -size +100M :在當前目錄及子目錄下查找大於100M的文件
  3. find . -type f :f表示文件類型爲普通文件(b/d/c/p/l/f 分別爲塊設備、目錄、字符設備、管道、符號鏈接、普通文件)
  4. find . -mtime +2 -exec rm {} ; :查出更改時間在2*24小時以前的文件並刪除它**
  5. find . -name '*.log' -exec grep -i hello {} \; -print :在當前目錄及子目錄下查出文件名後綴爲.log的文件並且該文件內容包含了hello字樣並打印,-exec 命令 {} \表示對查出文件操作,-i表示不區分大小寫;
  6. find . -name '*.log'|grep hello :在當前目錄及子目錄下查出文件名後綴爲.log的文件並且文件名包含了hello字樣(grep用來處理字符串);

  7. grep -i 'HELLO' . -r -n :在當前目錄及子目錄下查找文件內容中包含hello的文件並顯示文件路徑(-i表示忽略大小寫)

  8. which java :在環境變量$PATH設置的目錄裏查找符合條件的文件,並顯示路徑(查詢運行文件所在路徑)
  9. whereis java :查看安裝的軟件的所有的文件路徑(whereis 只能用於查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令)

七、查看文件內容

  1. cat [-n] 文件名 :顯示文件內容,連行號一起顯示

  2. less 文件名 :一頁一頁的顯示文件內容

  3. head [-n] 文件名 :顯示文件頭n行內容,n指定顯示多少行

  4. tail [-nf] 文件名:顯示文件尾幾行內容,n指定顯示多少行,f用於實時追蹤文件的所有更新,常用於查閱正在改變的日誌文件(如tail -f -n 3 a.log 表示開始顯示最後3行,並在文件更新時實時追加顯示,沒有-n默認10行)

  5. sed -n '2,$p' ab :顯示第二行到最後一行;
  6. sed -n '/搜索的關鍵詞/p' a.txt :顯示包括關鍵詞所在行
  7. cat filename |grep abc -A10 :查看filename中含有abc所在行後10行(A10)、前10行(B10)內容
  8. less a.txt|grep git :顯示關鍵詞所在行,管道符”|”它只能處理由前面一個指令傳出的正確輸出信息,對錯誤信息信息沒有直接處理能力。然後傳遞給下一個命令,作爲標準的輸入;

  9. cat /etc/passwd |awk -F ':' '{print $1}' :顯示第一列

八、文本內容處理

  1. ls -l>file :輸出重定向>(改變原來系統命令的默認執行方式):ls -l命令結果輸出到file文件中,若存在,則覆蓋
  2. cat file1 >>file2 :輸出重定向之cat命令結果輸出追加到file2文件(>表示覆蓋原文件內容,>>表示追加內容)
  3. sed -i '4,$d' a.txt :刪除第四行到最後一行($表示最後一行)(sed可以增刪改查文件內容)
  4. sed -i '$a 增加的字符串' a.txt :在最後一行的下一行增加字符串
  5. sed -i 's/old/new/g' a.txt :替換字符串;格式爲sed 's/要替換的字符串/新的字符串/g' 修改的文件

九、用戶權限

  1. su - 用戶名:完整的切換到一個用戶環境(相當於登錄)(建議用這個)(退出用戶:exit)

十、磁盤信息

  1. df -h :顯示磁盤的空間使用情況 及掛載點
  2. df -h /var/log :(顯示log所在分區(掛載點)、目錄所在磁盤及可用的磁盤容量)

  3. du -sm /var/log/* | sort -rn : 根據佔用磁盤空間大小排序(MB)某目錄下文件和目錄大小

十一、壓縮、解壓、打包、備份

​ 單純tar僅爲打包(多個文件包成一個大文件),加上參數-j(bzip2格式.bz2)、-z(gzip格式.gz)可以備份、壓縮(-c)、解壓(-x),備份一般比壓縮多加參數-p(保留原本文件的權限與屬性),-C可以指定解壓到特定目錄;bzip2、gzip只能對單一文件壓縮;

  1. file 文件名 :查文件類型(可看是用哪一種方式壓縮的)

  2. tar -zxvf a.tar.gz -C ./test :解壓tar.gz到當前目錄下的test目錄
  3. tar -zcvf /opt/c.tar.gz ./a/ :壓縮tar.gz(把當前目錄下的a目錄及目錄下所有文件壓縮爲 /opt/目錄下的c.tar.gz,這樣tar -zxvf c.tar.gz解壓出來帶有目錄a)

  4. tar -jxvf a.tar.bz2 :解壓tar.bz2(到當前目錄)
  5. tar -jcvf c.tar.bz2 ./a/ :壓縮tar.bz2(把當前目錄下的a目錄及目錄下所有文件壓縮到當前目錄下爲c.tar.gz2)

  6. unzip a.zip :解壓zip(到當前目錄)
  7. unzip -o mdmtest.war -d /opt/mdm :推薦使用unzip解壓war包(-o覆蓋原有文件,-d指定文件解壓後存儲的目錄)
  8. zip -r c.zip ./a/ :壓縮zip(把當前目錄下的a目錄及目錄下所有文件壓縮到當前目錄下爲c.zip

  9. bzip2 -k file1 : 壓縮一個 'file1' 的文件(-k表示保留源文件)(bzip2格式,比gzip好)
  10. bzip2 -d -k file1.bz2 : 解壓一個叫做 'file1.bz2'的文件

  11. gzip file1 : 壓縮一個叫做 'file1'的文件(gzip格式)(不能保留源文件)
  12. gzip -9 file1 : 最大程度壓縮
  13. gzip -d file1.gz : 解壓縮一個叫做 'file1'的文件

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章