1. 基礎命令
1. ls: 列出目錄內容。- 例如:`ls -l` 以長格式列出文件和目錄。2. cd: 切換工作目錄。- 例如:`cd /home/user` 進入 /home/user 目錄。3. pwd: 顯示當前工作目錄的路徑。4. mkdir: 創建新目錄。- 例如:`mkdir new_folder` 創建名為 new_folder 的目錄。5. rm: 刪除文件或目錄。- 例如:`rm file.txt` 刪除文件 file.txt。rm -f file.txt 強制刪除rm -R 目錄名稱 刪除目錄下所有文件6. cp: 復制文件或目錄。- 例如:`cp source.txt destination.txt` 復制 source.txt 到 destination.txt。7. mv: 移動文件或目錄,也可用于重命名。- 例如:`mv old_name new_name` 將 old_name 重命名為 new_name。8. cat: 查看文件內容。- 例如:`cat file.txt` 顯示 file.txt 的內容。9. grep: 在文件中搜索指定內容。- 例如:`grep keyword file.txt` 在 file.txt 中搜索關鍵字。10. chmod: 修改文件或目錄的權限。- 例如:`chmod 755 file.sh` 將 file.sh 設置為可執行。11. chown: 修改文件或目錄的所有者。- 例如:`chown user:group file.txt` 將 file.txt 的所有者設置為 user,所屬組設置為 group。12. ps: 顯示當前運行的進程。- 例如:`ps aux` 列出所有進程的詳細信息。13. kill: 終止進程。- 例如:`kill PID` 終止具有指定 PID 的進程。14. df: 顯示磁盤使用情況。- 例如:`df -h` 以人類可讀的格式顯示磁盤空間。15. top: 實時監視系統性能和進程。- 例如:`top` 顯示實時的系統狀態和進程信息。16. free: 顯示內存使用情況。- 例如:`free -h` 以人類可讀的格式顯示內存情況。17. ifconfig: 顯示網絡接口信息。- 例如:`ifconfig eth0` 顯示 eth0 網絡接口信息。18. ping: 測試網絡連接。- 例如:`ping google.com` 測試與 google.com 的連接。19. ssh: 遠程登錄到其他計算機。- 例如:`ssh user@hostname` 登錄到 hostname 上的用戶 user。20. sudo: 以超級用戶權限執行命令。- 例如:`sudo apt-get update` 以管理員權限更新軟件包。
2. top、free、ps區別
top: 動態獲取當前有哪些進程及狀態
ps: 展示進程的詳細情況,例如內存大小等
free: free -h 獲取當前內存占有及剩余情況
3. grep、awk、sed
// 查看文件內容
[w@w-MacBook-Pro temp % cat data.txt
Alice 25
Bob 30
Carol 28
David 22// 搜索>=25或者等于30的人
[w@w-MacBook-Pro temp % grep ' [2-9][6-9]\|30' data.txt
Bob 30
Carol 28// sed 's/舊字符/新字符/' data.txt
[w@w-MacBook-Pro temp % sed 's/Bob/Bobb/' data.txt
Alice 25
Bobb 30
Carol 28
David 22//' { sum += $2 } END { print sum / NR }':
這是 awk 的腳本部分,它在文件的每一行執行 { sum += $2 } 操作,將每一行的第二個字段(年齡)
累加到變量 sum 中。然后,在文件處理結束時執行 END 部分,計算并打印平均值 sum / NR,
其中 NR 是已處理的行數(記錄數)。[w@w-MacBook-Pro temp % awk '{ sum += $2 } END { print sum / NR }' data.txt21
3. 查看文本的方式及區別
cat file.txt
打印全部文本內容在顯示屏more file.txt
文本內容分頁展示,空格鍵翻頁less file.txt
文本內容分頁展示,上下翻頁head -n 5 file.txt
顯示文件前5行,不加參數默認顯示前10行tail -n 5 file.txt
顯示文件最后5行,不加參數默認顯示最后10行
4. 文件查找
1. find /Users/wangxiaochun/work -name data.txt
find path -name filename2. locate data.txt
直接查數據庫搜索,使用前需要先更新數據庫
sudo updatedb
locate filename3. whereis data.txt4. grep + find 組合 --查找含有“Bob”這個字段的文件,返回文件名
find /Users/w/work -type f -exec grep -l "Bob" {} \;
find /Users/w/work -type f -name data.txt -exec grep -l "Bob" {} \;
find /Users/w/work -type f -name "*.txt" -exec grep -l "Bob" {} \;find /path/to/search -type f -newermt "start_date" ! -newermt "end_date" -exec grep -l "keyword" {} \;說明:
find /home/user/documents -type f -exec grep -l "important" {} \;find /home/user/documents: 在 /home/user/documents 文件夾中查找。
-type f: 限定查找的對象為文件。
-exec grep -l "important" {} \;: 對于每一個找到的文件,使用 grep 命令查找是否包含關鍵字 "important",并通過 -l 選項只返回文件名。
grep -n "str" /path/to/search
找出某目錄下含有str的文件,并展示行數-n:顯示匹配的行及其行號。
-i:忽略大小寫進行匹配。
-r:遞歸地搜索指定路徑下的所有文件和子文件夾。
-l:僅顯示匹配的文件名,而不顯示匹配的行。
-c:僅顯示匹配的行數,而不顯示匹配的具體內容。
-v:反轉匹配,顯示不包含匹配內容的行。
5. 網絡
ifconfig -eth0 查看ip信息
netstat 查看正在被監聽的接口
`netstat` 是一個用于顯示網絡連接、路由表、網絡接口統計等信息的命令。以下是 `netstat` 命令的一些常見用法:1. **顯示所有網絡連接:**```netstat -a```2. **顯示監聽端口:**```netstat -tuln```3. **顯示網絡接口信息:**```netstat -i```4. **顯示路由表:**```netstat -r```5. **顯示網絡連接狀態:**```netstat -an```6. **查看每個協議的統計信息:**```netstat -s```7. **顯示 PID 和程序名稱:**```netstat -p```8. **顯示活動的 UNIX 域套接字:**```netstat -x```9. **顯示網絡接口和路由信息:**```netstat -ie```10. **顯示網絡接口組信息:**```netstat -g```