一、文件和目錄
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 測算一個命令(即程序)的執行時間
八、進程相關的命令
17. jps命令
(顯示當前系統的java進程情況,及其id號)
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平台上簡單察看當前java進程的一些簡單情況。
18. ps命令
(用於將某個時間點的進程運行情況選取下來並輸出,process之意)
-A :所有的進程均顯示出來
-a :不與terminal有關的所有進程
-u :有效用戶的相關進程
-x :一般與a參數一起使用,可列出較完整的信息
-l :較長,較詳細地將PID的信息列出
ps aux # 查看系統所有的進程數據
ps ax # 查看不與terminal有關的所有進程
ps -lA # 查看系統所有的進程數據
ps axjf # 查看連同一部分進程樹狀態
19. kill命令
(用於向某個工作(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用)
20. killall命令
(向一個命令啟動的進程發送一個信號)
21. top命令
是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。
如何殺死進程:
(1)圖形化界面的方式
(2)kill -9 pid (-9表示強制關閉)
(3)killall -9 程序的名字
(4)pkill 程序的名字
查看進程端口號:
netstat -tunlp|grep 端口號
—————END—————
資料來源:https://mp.weixin.qq.com/s/FFxs_iGpgZp3lRmABxFuuQ
常用的 21 條 Linux 命令列表:
cd /home :進入'/ home'目錄 cd .. :返回上一級目錄 cd ../.. :返回上兩級目錄 cd :進入個人的主目錄 cd ~user1 :進入個人的主目錄 cd - :返回上次所在的目錄 ls :查看目錄中的文件 ls -l :顯示文件和目錄的詳細資料 ls -a :列出全部文件,包含隱藏文件 ls -R :連同子目錄的內容一起列出(遞歸列出),等於該目錄下的所有文件都會顯示出來 ls [0-9] :顯示包含數字的文件名和目錄名 cp -a :將文件的特性一起復制 cp -p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份 cp -i :若目標文件已經存在時,在覆蓋時會先詢問操作的進行 cp -r :遞歸持續複製,用於目錄的複制行為 cp -u :目標文件與源文件有差異時才會復制 mv -f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋 mv -i :若目標文件已經存在,就會詢問是否覆蓋 mv -u :若目標文件已經存在,且比目標文件新,才會更新 rm -f :就是force的意思,忽略不存在的文件,不會出現警告消息 rm -i :互動模式,在刪除前會詢問用戶是否操作 rm -r :遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數 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行) 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 :顯示一個二進製文件或可執行文件的完整路徑 find /var/mail/ -size +50M -exec rm {} \; :刪除大於50M的文件 ls -lh :顯示權限 chmod ugo+rwx directory1 :設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4 )、寫(w,2)和執行(x,1 )的權限 chmod go-rwx directory1 :刪除群組(g)與其他人(o)對目錄的讀寫執行權限 chown user1 file1 :改變一個文件的所有人屬性 chown -R user1 directory1 :改變一個目錄的所有人屬性並同時改變改目錄下所有文件的屬性 chown user1:group1 file1 :改變一個文件的所有人和群組屬性 chgrp group1 file1 :改變文件的群組 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 file1 file2 :合併兩個文件或兩欄的內容 paste -d '+' file1 file2 :合併兩個文件或兩欄的內容,中間用"+"區分 sort file1 file2 :排序兩個文件的內容 sort file1 file2 | uniq :取出兩個文件的並集(重複的行只保留一份) sort file1 file2 | uniq -u :刪除交集,留下其他的行 sort file1 file2 | uniq -d :取出兩個文件的交集(只留下同時存在於兩個文件中的文件) comm -1 file1 file2 :比較兩個文件的內容只刪除'file1'所包含的內容 comm -2 file1 file2 :比較兩個文件的內容只刪除'file2'所包含的內容 comm -3 file1 file2 :比較兩個文件的內容只刪除兩個文件共有的部分 tar -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 :測算一個命令(即程序)的執行時間 ps -A :所有的進程均顯示出來 -a :不與terminal有關的所有進程 -u :有效用戶的相關進程 -x :一般與a參數一起使用,可列出較完整的信息 -l :較長,較詳細地將PID的信息列出 ps aux :查看系統所有的進程數據 ps ax :查看不與terminal有關的所有進程 ps -lA :查看系統所有的進程數據 ps axjf :查看連同一部分進程樹狀態