ubuntu下linux常用指令總結,ubuntulinux指令
來實驗室將近一個月,幾乎沒碰window,一直在ubuntu下開發,然後想總結一下最近常用的linux指令。
(0) su和sudo:得到root許可權
su 切換到root使用者sudo command 切換到root使用者,執行command,然後切換回目前使用者su liaohuqiang 切換回普通使用者
(1) apt:用於安裝軟體包
apt list 根據名稱列出軟體包apt show 顯示軟體包細節sudo apt install 安裝軟體包sudo apt remove 卸載軟體包sudo apt-get check 檢查依賴sudo apt update 更新可用軟體包列表sudo apt upgrade 通過安裝/升級軟體來更新系統
(2) pip:用於安裝python模組(不是linux裡的預設指令,需自行安裝sudo apt install pip)
pip install 安裝包pip uninstall 卸載包pip list 列出已安裝的包pip show 展示已安裝包的資訊pip check 檢查依賴pip --version 顯示pip版本和位置pip help 查看協助pip help install 查看install指令的相關option介紹
(3) ssh和scp:主機間通訊
ssh username@ip 登入到遠程主機scp local_file username@ip:remote_directory 複製本地檔案到遠程主機scp -r local_directory username@ip:remote_directory 複製本地檔案夾到遠程主機
(4) 壓縮和解壓:zip, unzip, tar
zip -r target.zip . 把目前的目錄以及目錄下的子檔案夾全部壓縮zip target.zip 壓縮目前的目錄,如果有檔案夾則不會壓縮排去(因為沒有加-r)unzip source.zip -d 'folder' 解壓到folder目錄下unzip source.zip 解壓到目前的目錄下tar -zcvf target.tar.gz sorceFoler c代表打包,z代表用gzip來壓縮/解壓,v詳細報告處理資訊,f必選並且後帶檔案名稱tar -zxvf source.tar.gz -C 'folder' 解壓到folder目錄下,,其中z代表gzip屬性的,x代表解壓,v代表解壓時輸出相關資訊,f必須有並且放最後並且後帶檔案名稱。tar -xvf source.tar.gz 試了一下,少了個z也可以,效果同上
(5) 查看磁碟的儲存佔用:du;查看檔案系統的儲存佔用:df。
du -s或--summarize 僅顯示總計,只列出最後加總的值。du -h 以K,M,G為單位,提高資訊的可讀性。df -h 以K,M,G為單位,提高資訊的可讀性。df -T x顯示檔案系統類型
(6) 尋找命令
6.1 which 在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。
6.2 whereis 只能用於程式名的搜尋,而且只搜尋二進位檔案(參數-b)、man說明檔案(參數-m)和原始碼檔案(參數-s)。如果省略參數,則返回所有資訊。
6.3 locate 配合資料庫查看檔案位置。linux會將系統內所有檔案記錄在一個資料庫檔案中,但是該資料庫並不是即時更新。
6.4 find 實際搜尋硬碟查詢檔案名稱。
find . -name '*.conf' 目前的目錄尋找副檔名為.conf的檔案updatedb 更新資料庫locate 字串 快速尋找系統資料庫中指定的內容
whereis python
which python
(7) 檔案許可權
chmod [ugoa][+-=][rwx] 檔案名稱或路徑 改變指定目錄或檔案的許可權
u代表該檔案所有者,g代表該檔案所有者的同組使用者,o代表其它+代表增加許可權,-代表取消許可權,=代表唯一設定許可權r可讀,w可寫,x可執行chmod u+x test 該檔案所有者增加可執行檔許可權用數字表示,規定r=4, w=2, x=1,chmod 777 test 三種使用者都賦予可讀可寫可執行檔許可權chown 使用者名稱[:組名] 檔案名稱或目錄 改變指定目錄或檔案的所屬使用者
(8) 檔案和文本操作
grep str /tmp/test 在檔案/tmp/test中尋找strgrep ^str /tmp/test 在檔案/tmp/test中尋找以str開始的行ls -ld */ 顯示目前的目錄的所有目錄檔案ls -l | grep '^d' 顯示目前的目錄的所有目錄檔案wc -l 統計檔案行數wc -w 統計單詞數量ls -l | wc -l 統計當前目前的檔案數量,注意要減去“總用量”那一行cp -a dir1 dir2 複製目錄mv dir1 dir2 移動/重新命名目錄mkdir -p /tmp/dir1/dir2 建立一個分類樹rm -f file1 刪除檔案rm -rf dir1 刪除目錄
(9) 進程
ps -e 顯示所有進程ps -f 全格式顯示進程ps -u 'liaohuqiang' | grep 'tmux' 顯示指定使用者執行的進程,並匹配出包含'tmux'的那一行進程kill -2 pid 類似ctrl+C,在程式結束之前能夠儲存相關資料,再退出kill -9 pid 直接強制結束進程top 動態顯示進程資訊top -i 不顯示任何閑置或無用的進程k 殺死某進程n 改變顯示的進程數量u 顯示指定使用者P 按CPU使用方式排序q 退出
(10) 網路
netstat 顯示網路情況netstat -a 列出所有連接埠netstat -l 只顯示監聽連接埠netstat -t 列出所有tcp連接埠netstat -p 顯示使用該連接埠的pid和程式名稱netstat -n 直接使用ip地址,不通過網域名稱伺服器找出程式啟動並執行連接埠:netstat -anp | grep ssh找出運行在指定連接埠的進程:netstat -anp | grep ':80'ifconfig 查看網卡資訊
(11) 其它
date 顯示時間whoami 顯示目前使用者名who 目前登入系統的使用者資訊curl 'url' -O --progress 下載檔案,-O代表儲存檔案(如果沒有則輸出到螢幕), --progress表示會顯示進度條 (curl不是linux的預設自行,需自行安裝apt install curl)echo $SHELL 查看系統使用的是哪種shellecho $PATH 查看環境變數
以上只是我最近常用到的一些指令。
最後推薦一個linux指令學習和速查的網站:http://man.linuxde.net/