別再無效加班了!掌握這些Linux命令,讓你的工作效率提升200%

前言

Linux常用命令是指在Linux作業系統中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務,如管理檔案和目錄、操作程序、網路通訊、軟體安裝等。一些常用的Linux命令包括cd、ls、mkdir、rm、cp、mv、ps、top、ping、ssh、tar、grep、find、shutdown、reboot、apt和yum等。這些命令工具通常都具有各自的選項和引數,可以用來進行更加精細和複雜的操作。掌握這些常用的Linux命令,可以幫助使用者更加高效地使用Linux作業系統,並完成各種不同的任務。

一、cd命令

  • • cd: cd命令用於切換當前工作目錄到指定的目錄。例如,輸入"cd /home/user"可將當前目錄切換到/home/user目錄。常用選項如下:
cd ..        返回上一級目錄cd../..     返回上兩級目錄cd ~        進入個人主目錄cd -        返回上次所在的目錄

二、pwd命令

  • • pwd: pwd命令用於顯示當前工作目錄的完整路徑

三、ls命令

  • • ls命令: 用於顯示指定目錄下的檔案和目錄列表。如果沒有指定目錄,則預設顯示當前目錄下的檔案和目錄列表。
ls            檢視當前目錄下的檔案ls -l(ll)    檢視檔案和目錄的詳細資料ls -a        列出全部檔案,包含隱藏檔案ls -R        連同子目錄的內容一起列出(遞迴列出檔案)ls [0-9]    顯示包含數字的檔名和目錄名

四、cp命令

  • • cp: cp命令用於複製指定的檔案或目錄。例如,輸入"cp file.txt /home/user"可將當前目錄下名為file.txt的檔案複製到/home/user目錄下。
-a :將檔案的特性一起復制-p :連同檔案的屬性一起復制,而非使用預設方式,與-a相似,常用於備份-i :若目標檔案已經存在時,在覆蓋時會先詢問操作的進行-r :遞迴持續複製,用於目錄的複製行為-u :目標檔案與原始檔有差異時才會複製

五、mv命令

  • • mv: mv命令用於移動指定的檔案或目錄。例如,輸入"mv file.txt /home/user"可將當前目錄下名為file.txt的檔案移動到/home/user目錄下。
-f        若目標已經存在,不會詢問。-i        若目標檔案已經存在,則詢問是否覆蓋-u        若目標檔案已經存在。且比目標檔案新,才會更新

六、rm命令

  • • rm: rm命令用於刪除指定的檔案或目錄。
-f      忽略不存在的檔案,不會存在警告訊息-i      在刪除前會詢問使用者是否操作、-r      遞迴刪除,常常用於目錄刪除eg: rm -rf: 刪庫跑路常用程式碼

七、cat命令

  • • cat: cat命令用於檢視指定檔案的內容。例如,輸入"cat file.txt"可顯示出名為file.txt的檔案的內容。
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行到3000cat filename | tail -n +3000 | head -n 1000      從第3000行開始,顯示1000(即顯示3000~3999行)

八、find命令

  • • find: find命令用於在檔案系統中查詢檔案。例如,輸入"find / -name file.txt"可在檔案系統的根目錄下查詢所有名為file.txt的檔案,並將結果輸出到螢幕上。“-type"表示按照檔案型別查詢,”-mtime"表示按照檔案修改時間查詢等。
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     顯示一個二進位制檔案或可執行檔案的完整路徑

九、chmod命令

  • • chmod命令 :chmod命令用於修改指定檔案或目錄的許可權。例如,輸入"chmod 755 file.txt"可將名為file.txt的檔案的許可權設定為755,即所有者具有讀、寫和執行許可權,組使用者和其他使用者只有讀和執行許可權。
ls -lh 顯示許可權chmod ugo+rwx directory1 設定目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4 )、寫(w,2)和執行(x,1)的許可權chmod go-rwx directory1  刪除群組(g)與其他人(o)對目錄的讀寫執行許可權

十、chown命令

  • • chown命令: chown命令用於修改指定檔案或目錄的所有者。例如,輸入"chown user file.txt"可將名為file.txt的檔案的所有者設定為user。
(改變檔案的所有者)chown user1 file1 改變一個檔案的所有人屬性chown -R user1 directory1 改變一個目錄的所有人屬性並同時改變改目錄下所有檔案的屬性chown user1:group1 file1 改變一個檔案的所有人和群組屬性

十一、chgrp命令

(改變檔案所屬使用者組
chgrp group1 file1 改變檔案的群組

十二、grep命令

  • • grep命令: grep命令用於在指定檔案中查詢匹配的文字。例如,輸入"grep keyword file.txt"可在名為file.txt的檔案中查詢包含關鍵詞"keyword"的文字行。
(分析一行的資訊,若當中有我們所需要的資訊,就將該行顯示出來,該命令通常與管道命令一起使用,用於對一些命令的輸出進行篩選加工等等)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檔案中刪除所有空白行

十三、paste命令

  • • paste: paste命令用於將兩個或多個檔案按行合併,並將結果輸出到標準輸出。其語法為:
paste [option]... [file]...paste file1 file2 合併兩個檔案或兩欄的內容paste -d '+' file1 file2 合併兩個檔案或兩欄的內容,中間用"+"區分

十四、sort命令

  • • sort: sort命令用於對檔案進行排序,其語法為:
sort [option]... [file]... :其中,option表示選項,file表示要排序的檔名。如果不指定檔名,則預設從標準輸入讀取資料。-r:降序排列。-n:按數值大小排序。-u:去重,只輸出不重複的行。-k:指定排序的鍵,可以是行中的某個欄位。sort file1 file2 排序兩個檔案的內容sort file1 file2 | uniq 取出兩個檔案的並集(重複的行只保留一份)sort file1 file2 | uniq -u 刪除交集,留下其他的行sort file1 file2 | uniq -d 取出兩個檔案的交集(只留下同時存在於兩個檔案中的檔案)

十五、comm命令

  • • comm: comm命令用於比較兩個已排序的檔案,並輸出它們的交集、差集和並集。其語法為:
comm [option]... file1 file2其中,option表示選項,file1和file2表示要比較的兩個檔案。常用選項包括:-1:只輸出file1中有而file2中沒有的行。-2:只輸出file2中有而file1中沒有的行。-3:只輸出file1和file2中都存在的行。-i:在比較時忽略大小寫。-u:將所有不同的行都輸出。comm -1 file1 file2 比較兩個檔案的內容只刪除 'file1' 所包含的內容comm -2 file1 file2 比較兩個檔案的內容只刪除 'file2' 所包含的內容comm -3 file1 file2 比較兩個檔案的內容只刪除兩個檔案共有的部分

十六、tar命令

  • • tar命令: 用於打包和壓縮檔案和目錄。例如,輸入"tar -cvzf archive.tar.gz /home/user"可將/home/user目錄及其下的所有檔案打包成名為archive.tar.gz的壓縮檔案。(對檔案進行打包,預設情況並不會壓縮,如果指定了相應的引數,它還會呼叫相應的壓縮程式(如gzip和bzip等)進行壓縮和解壓)推薦:

16-1、引數介紹

-c :新建打包檔案-t :檢視打包檔案的內容含有哪些檔名-x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中-j :透過bzip2的支援進行壓縮/解壓縮-z :透過gzip的支援進行壓縮/解壓縮-v :在壓縮/解壓縮過程中,將正在處理的檔名顯示出來-f filename :filename為要處理的檔案-C dir :指定壓縮/解壓縮的目錄dir

16-2、tar.bz2格式檔案

# 這種壓縮格式檔案是壓縮率最好的,當然,也會相應的佔用更多的CPU和時間# 壓縮tar -jcv -f filename.tar.bz2 要被處理的檔案或目錄名稱# 查詢tar -jtv -f filename.tar.bz2# 解壓tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄

16-3、tar.gz格式檔案

# 壓縮時不會佔用太多cpu# 壓縮tar -zcvf archive_name.tar.gz filename# 解壓縮# -C dir指定解壓路徑,預設情況下直接解壓到當前目錄下。tar -zxvf archive_name.tar.gz -C new_dir

16-4、tar格式檔案

# tar格式檔案用的非常廣泛,消耗CPU較少。# 它只是一個打包工具,不負責壓縮,打包之後整體佔用空間不變,編碼也不會變。# 打包tar -cvf archive_name.tar directory_to_compress# 解包tar -xvf archive_name.tar -C dir

16-5、zip格式檔案

# zip是使用最多的文件壓縮格式# 方便跨平臺使用,但是壓縮率不是很高# 壓縮zip -r archive_name.zip filename# 將幾個檔案和目錄同時壓縮成一個zip格式的壓縮包zip -r file1.zip file1 file2 dir1# 解壓unzip archive_name.zip

16-6、其他未整理命令

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包

十七、jps命令

  • • jps:(顯示當前系統的java程序情況,及其id號)jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java程序pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java程序的一些簡單情況。語法如下:
jps [options]其中,options表示選項。常用選項包括:-l:輸出完整的程序名,包括包名。-m:輸出主類的名稱和傳遞給主方法的引數。

十九、kill命令

  • • kill:(用於向某個工作(%jobnumber)或者是某個PID(數字)傳送一個訊號,它通常與ps和jobs命令一起使用),語法為:
kill [signal] PID其中,signal表示要傳送的訊號,PID表示程序的ID。如果不指定訊號,則預設傳送SIGTERM訊號,這是終止程序的常用訊號。常用訊號包括:SIGTERM:預設訊號,用於終止程序。SIGKILL:強制終止程序,不允許程序進行清理操作。SIGHUP:掛起程序。SIGSTOP:停止程序。

二十、killall命令

killall命令用於向程序傳送訊號以終止程序,與kill命令不同的是,killall命令可以根據程序名或命令名來終止程序

二十一、系統和關機

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

二十二、top命令

  • • top: top命令用於顯示系統中最耗費資源的程序。例如,輸入"top"可即時顯示當前系統中CPU和記憶體使用率最高的程序。top命令還可以用來監視系統的效能。

二十三、touch

  • • touch命令: 用於建立一個新的空檔案或更新已存在的檔案的訪問和修改時間戳。例如,輸入"touch new_file.txt"可在當前目錄下建立名為new_file.txt的新檔案。

二十四、mkdir

  • • mkdir: mkdir命令用於在指定位置建立新目錄。例如,輸入"mkdir new_dir"可在當前目錄下建立名為new_dir的新目錄。

二十五、ps

  • • ps :ps命令用於顯示當前正在執行的程序。例如,輸入"ps"可顯示當前系統中所有正在執行的程序的詳細資訊。ps命令還有一些常用選項,如"-aux"表示顯示所有使用者的所有程序等。

二十六、ping

  • • ping : ping命令用於測試與另一臺計算機之間的網路連線。例如,輸入"ping 192.168.1.1"可向IP地址為192.168.1.1的計算機發送測試資料包,以測試網路連線是否正常。

二十七、ifconfig

  • • ifconfig : ifconfig命令用於顯示網路介面配置資訊。例如,輸入"ifconfig"可顯示出當前系統中所有網路介面的詳細配置資訊,包括IP地址、子網掩碼、MAC地址等。

二十八、> < >>等命令

>: 在Linux中,符號>被稱為重定向運算子,它用於將命令的輸出重定向到指定的位置,通常是檔案或另一個命令。
  • • 輸出重定向:使用>將命令的標準輸出儲存到檔案中。例如,將ls命令的輸出儲存到名為file.txt的檔案中:
ls > file.txt
  • • 追加輸出到檔案:如果你想將輸出附加到檔案的末尾,而不是覆蓋檔案內容,則可以使用>>符號。例如,將date命令的輸出追加到名為file.txt的檔案中:
date >> file.txt
  • • 輸入重定向:使用<符號將檔案的內容作為命令的輸入。例如,使用sort命令對名為file.txt的檔案中的內容進行排序:
sort < file.txt
  • • 將一個命令的輸出作為另一個命令的輸入:使用管道符號|將一個命令的輸出作為另一個命令的輸入。例如,將ls命令的輸出作為grep命令的輸入,並僅顯示包含“file”字串的行:
ls | grep file

二十九、| 管道符號

  • • 在Linux中,管道符號“|”用於將一個命令的輸出作為另一個命令的輸入。它允許使用者將多個命令連結在一起,使得一個命令的輸出可以成為另一個命令的輸入,從而形成更復雜的命令。例如,以下命令將ls命令的輸出傳送到grep命令中:
ls | grep keyword
  • • 在這個命令中,“|”符號將ls命令的輸出作為grep命令的輸入,並且grep命令將只返回包含“keyword”的行。
  • • 使用管道符號,可以將任意數量的命令連線在一起,從而建立複雜的命令鏈。例如,以下命令將列出當前目錄中的所有檔案,並按檔案大小排序,最後只顯示前10個檔案:
ls -l | sort -rn -k 5 | head -n 10

三十、cut

  • • cut: cut命令是在Unix或類Unix作業系統中使用的一個非常有用的命令,它用於從檔案或管道中剪下(cut)文字資料的特定部分。cut命令通常用於從文字檔案中提取有用的資訊,或者在管道中使用命令輸出的資料中選擇特定的列或欄位。cut命令的語法如下:
cut命令的語法如下:
其中,OPTIONS是可選的選項,用於指定要剪下的文字資料的位置和格式。FILE是要剪下的檔名或者從管道中讀取的輸入流。如果未指定FILE,則cut命令將從標準輸入中讀取資料。
cut命令的常用選項如下:
  • • -c, –characters=LIST:指定要剪下的字元位置列表,用逗號分隔。例如,-c 1,3,5表示剪下第1、3和5個字元。
  • • -d, –delimiter=DELIMITER:指定欄位分隔符,預設使用製表符。
  • • -f, –fields=LIST:指定要剪下的欄位列表,用逗號分隔。例如,-f 1,3表示剪下第1和第3個欄位。
  • • –complement:將選項-c或-f的操作反轉,即保留除指定位置或欄位之外的部分。
  • • -s, –only-delimited:僅顯示包含欄位分隔符的行。
以下是一些常見的cut命令的示例:
  • • 提取檔案中的第1和第3個字元:
cut -c 1,3 file.txt
  • • 使用不同的欄位分隔符提取檔案中的第2和第4個欄位:
cut -d ":" -f 2,4 file.txt
  • • 反轉提取,保留除第1和第3個字元之外的部分:
cut -c 1,3 --complement file.txt

其它命令

wc -l file: 檢視檔案一共有多少行more file: 觀察檔案的部分內容sudo -i: 為了頻繁的執行某些只有超級使用者才能執行的許可權,而不用每次都輸入密碼。提示輸入密碼時該密碼為當前賬戶的密碼,沒有時間的限制,執行該命令後提示符變為’#‘而不是’$‘,想退回普通賬戶時可以執行’exit’。執行sudo -i 後,當前目錄跳轉到/root。

總結:

-a(all: 全部) 全部一起操作-f(force: 強制) 不會詢問,直接操作。-i(interact: 互動) 詢問操作。-r(recursion: 遞迴) 遞迴操作。
連結:https://blog.csdn.net/weixin_42475060/article/details/129591618?ops_request_misc=%257B%2522request%255Fid%2522%253A%25229d4c048e59511ea50f4e4d57d3b53a20%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=9d4c048e59511ea50f4e4d57d3b53a20&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-23-129591618-null-null.142^v102^pc_search_result_base1&utm_term=linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E5%A4%A7%E5%85%A8&spm=1018.2226.3001.4187
END
想要學習Linux系統的讀者可以點選"閱讀原文"按鈕來了解書籍《Linux就該這麼學》,同時也非常適合專業的運維人員閱讀,成為輔助您工作的高價值工具書!

相關文章