紀錄在linux環境下使用command line如何下指令操作
如果曾經維護管理過linux介面環境,或是管理部署,都會需要在命令列介面環境下操作,所以需要了解基礎的指令操作,本篇純記錄用過的linux CLI指令.如果沒有linux環境可以參考另一篇 [Docker]快速啟動可用VNC進去連線之ubuntu ,就可以快速練習喔.
*命令列介面(英語:Command-Line Interface,縮寫:CLI)是在圖形使用者介面得到普及之前使用最為廣泛的使用者介面,它通常不支援滑鼠,使用者通過鍵盤輸入指令,電腦接收到指令後,予以執行。也有人稱之為文字使用者介面(character user interface, CUI)- 維基百科。
系統相關資訊 ref:linux查詢作業系統資訊,CPU物理個數,CPU核心數,邏輯CPU數,記憶體資訊查詢,硬碟資訊查詢
查詢記憶體大小 1 2 3 4 5 6 7 8 9 可以用下述指令: free free -m //單位 cat /proc/meminfo aaaa@el1000:~$ free -m total used free shared buff/cache available Mem: 31985 17605 3437 71 10941 15137 Swap: 0 0 0
查詢CPU資訊
查看 CPU 物理個數 aaaa@el1000:~$ grep ‘physical id’ /proc/cpuinfo | sort -u | wc -l 1
查看 CPU 核心數量 aaaa@el1000:~$ grep ‘core id’ /proc/cpuinfo | sort -u | wc -l 8
查看 CPU 執行緒數 aaaa@el1000:$ cat /proc/cpuinfo| grep “processor”|wc -l 16 aaaa@el1000:$ grep ‘processor’ /proc/cpuinfo | sort -u | wc -l 16
查看 CPU 型號 aaaa@el1000:~$ cat /proc/cpuinfo | grep name | sort | uniq model name : Intel(R) Xeon(R) CPU D-1548 @ 2.00GHz
基本路徑操作 1 2 3 4 5 6 7 8 pwd 目前位置 mkdir folder 創建資料夾 mkdir -p folder 如果目錄已存在則不會報錯 mkdir -p Project/a/src 创建多级目录 mkdir -p touch 檔名.txt 新增空白檔案 ls 列出 -a 含隱藏檔案 cd 進入 cat filename 直接檢視檔案內容
檔案文件權限查看
ls -l 1 2 3 -l 參數可以顯示檔案與目錄的詳細資訊。 -h 參數可以讓輸出的資訊以比較容易閱讀的格式呈現。
-rwxr-xr-x 意思1 2 3 4 第一位表示文件的類型,-爲文件,d爲目錄 之後每三位代表即用戶、組用戶、其他用戶 其中r表示讀、w表示寫、x表示可執行-表示沒有權限
Linux 系统中采用三位十进制数表示权限,如0755, 0644.
一般赋予目录0755权限,文件0644权限。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0755 ABCD A- 0, 表示十进制 B-用户 C-组用户 D-其他用户 --- -> 0 (no excute , no write ,no read) --x -> 1 excute, (no write, no read) -w- -> 2 write -wx -> 3 write, excute r-- -> 4 read r-x -> 5 read, excute rw- -> 6 read, write , rwx -> 7 read, write , excute 0755->即用户具有读/写/执行权限,组用户和其它用户具有读写权限; 0644->即用户具有读写权限,组用户和其它用户具有只读权限;
Ref: ls 參數說明
vi 文書處理軟體 1 2 3 4 5 6 7 vi test.txt //輸入i進入編輯模式 //按下ESC回到一般模式 :wq 存檔 :q! 不存檔離開
http://linux.vbird.org/linux_basic/0310vi/0310vi.php
刪除 1 2 3 4 5 6 7 8 9 10 rm filename rm -r dirname/ 要刪除目錄, 需要加入 -r 代表 recursive 遞迴刪除, 使用時要格外小心, 會把目錄內所有檔案及目錄一同刪除. -f:force=>強制,不會出現警告訊息,會自動忽略不存在的檔案。 $ rm -r dirname/ 刪除空目錄,內有檔案或副目錄便不能刪除 各發行版為了安全起見,強制刪除整個根目錄會不能生效,如果真的想刪請見參考用法: Ref: https://www.opencli.com/linux/rm-delete-files-directory-command
查看檔案大小 1 2 3 4 5 6 7 du "File" du --block-size=1G "File" 後面不加檔案則是當前目錄 -s, --summarize 只顯示總計 -h, --human-readable 以 K, M, G 為計量單位 du -shc /ftp/* https://clay-atlas.com/blog/2020/01/11/linux-chinese-tutorial-command-du-check-file-size/ https://blog.xuite.net/cadmus.lin/yo/39567921
tar 1 2 3 4 5 6 7 8 9 壓縮 tar zcvf FileName.tar.gz -z :透過 gzip 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.gz -c :建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename) -f filename:-f 後面要立刻接要被處理的檔名 解壓縮 tar zxvf FileName.tar.gz -C /xxx/xxx -x :解打包或解壓縮的功能,可以搭配 -C (大寫) 在特定目錄解開
wget wget 是 linux 中除了 curl 外另一個檔案下載的好用工具。 若要下載網路上的檔案,可執行 wget 加上檔案的網址即可立即下載,
1 2 3 4 5 6 wget http://xxxx/xxxxx.tar.gz //也支援ftp://協定 -c //檔案續傳,如果下載大型檔案中途斷線,-c 參數從上次中斷的地方繼續下載 -i urls.txt //如果要下載的檔案非常多,可以將網址放進txt裡 more: https://blog.gtwang.org/linux/linux-wget-command-download-web-pages-and-files-tutorial-examples/
Ubuntu內建的apt-get指令來完成更新 Update the package list first:
sshpass
更多參考,待讀看似比較簡單的Linux推坑教學 Linux CLI 基本教學