來實驗室將近一個月,幾乎沒碰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 pythonwhich 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 查看環境變量
以上所述是小編給大家介紹的ubuntu下linux常用指令小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答
圖片精選