ubuntu下linux常用指令有哪些使用教程
Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。對于一些用戶ubuntu下使用,有什么常用命令呢?下面總結(jié)一下最近常用的linux指令。
方法步驟
(0) su和sudo:得到root權(quán)限
su 切換到root用戶
sudo command 切換到root用戶,執(zhí)行command,然后切換回當(dāng)前用戶
su liaohuqiang 切換回普通用戶
(1) apt:用于安裝軟件包
apt list 根據(jù)名稱列出軟件包
apt show 顯示軟件包細節(jié)
sudo apt install 安裝軟件包
sudo apt remove 卸載軟件包
sudo apt-get check 檢查依賴
sudo apt update 更新可用軟件包列表
sudo apt upgrade 通過安裝/升級軟件來更新系統(tǒng)
(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指令的相關(guān)option介紹
(3) ssh和scp:主機間通信
ssh username@ip 登錄到遠程主機
scp local_file username@ip:remote_directory 復(fù)制本地文件到遠程主機
scp -r local_directory username@ip:remote_directory 復(fù)制本地文件夾到遠程主機
(4) 壓縮和解壓:zip, unzip, tar
zip -r target.zip . 把當(dāng)前目錄以及目錄下的子文件夾全部壓縮
zip target.zip 壓縮當(dāng)前目錄,如果有文件夾則不會壓縮進去(因為沒有加-r)
unzip source.zip -d 'folder' 解壓到folder目錄下
unzip source.zip 解壓到當(dāng)前目錄下
tar -zcvf target.tar.gz sorceFoler c代表打包,z代表用gzip來壓縮/解壓,v詳細報告處理信息,f必選并且后帶文件名
tar -zxvf source.tar.gz -C 'folder' 解壓到folder目錄下,,其中z代表gzip屬性的,x代表解壓,v代表解壓時輸出相關(guān)信息,f必須有并且放最后并且后帶文件名。
tar -xvf source.tar.gz 試了一下,少了個z也可以,效果同上
(5) 查看磁盤的存儲占用:du;查看文件系統(tǒng)的存儲占用:df。
du -s或--summarize 僅顯示總計,只列出最后加總的值。
du -h 以K,M,G為單位,提高信息的可讀性。
df -h 以K,M,G為單位,提高信息的可讀性。
df -T x顯示文件系統(tǒng)類型
(6) 查找命令
6.1 which 在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果。
6.2 whereis 只能用于程序名的搜索,而且只搜索二進制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息。
6.3 locate 配合數(shù)據(jù)庫查看文件位置。linux會將系統(tǒng)內(nèi)所有文件記錄在一個數(shù)據(jù)庫文件中,但是該數(shù)據(jù)庫并不是實時更新。
6.4 find 實際搜尋硬盤查詢文件名稱。
find . -name '*.conf' 當(dāng)前目錄查找擴展名為.conf的文件
updatedb 更新數(shù)據(jù)庫
locate 字符串 快速查找系統(tǒng)數(shù)據(jù)庫中指定的內(nèi)容
whereis python
which python
(7) 文件權(quán)限
chmod [ugoa][+-=][rwx] 文件名或路徑 改變指定目錄或文件的權(quán)限
u代表該文件所有者,g代表該文件所有者的同組用戶,o代表其它
+代表增加權(quán)限,-代表取消權(quán)限,=代表唯一設(shè)定權(quán)限
r可讀,w可寫,x可執(zhí)行
chmod u+x test 該文件所有者增加可執(zhí)行的權(quán)限
用數(shù)字表示,規(guī)定r=4, w=2, x=1,
chmod 777 test 三種用戶都賦予可讀可寫可執(zhí)行的權(quán)限
chown 用戶名[:組名] 文件名或目錄 改變指定目錄或文件的所屬用戶
(8) 文件和文本操作
grep str /tmp/test 在文件/tmp/test中查找str
grep ^str /tmp/test 在文件/tmp/test中查找以str開始的行
ls -ld */ 顯示當(dāng)前目錄的所有目錄文件
ls -l | grep '^d' 顯示當(dāng)前目錄的所有目錄文件
wc -l 統(tǒng)計文件行數(shù)
wc -w 統(tǒng)計單詞數(shù)量
ls -l | wc -l 統(tǒng)計當(dāng)前目前的文件數(shù)量,注意要減去“總用量”那一行
cp -a dir1 dir2 復(fù)制目錄
mv dir1 dir2 移動/重命名目錄
mkdir -p /tmp/dir1/dir2 創(chuàng)建一個目錄樹
rm -f file1 刪除文件
rm -rf dir1 刪除目錄
(9) 進程
ps -e 顯示所有進程
ps -f 全格式顯示進程
ps -u 'liaohuqiang' | grep 'tmux' 顯示指定用戶執(zhí)行的進程,并匹配出包含'tmux'的那一行進程
kill -2 pid 類似ctrl+C,在程序結(jié)束之前能夠保存相關(guān)數(shù)據(jù),再退出
kill -9 pid 直接強制結(jié)束進程
top 動態(tài)顯示進程信息
top -i 不顯示任何閑置或無用的進程
k 殺死某進程
n 改變顯示的進程數(shù)量
u 顯示指定用戶
P 按CPU使用情況排序
q 退出
(10) 網(wǎng)絡(luò)
netstat 顯示網(wǎng)絡(luò)情況
netstat -a 列出所有端口
netstat -l 只顯示監(jiān)聽端口
netstat -t 列出所有tcp端口
netstat -p 顯示使用該端口的pid和程序名稱
netstat -n 直接使用ip地址,不通過域名服務(wù)器
找出程序運行的端口:netstat -anp | grep ssh
找出運行在指定端口的進程:netstat -anp | grep ':80'
ifconfig 查看網(wǎng)卡信息
補充:Linux基本命令
?、賚s 意為list 列出當(dāng)前文件夾中的文件
-l 顯示文件的屬性 可用ll來表示
②alias 別名 看看是否有別名的文件
③cd dir 跳躍目錄 -P選項 將路徑中的鏈接文件替換成鏈接指向的文件路徑
?、躳wd 查看當(dāng)前工作的文件夾名 使用-P的選項,會直接進入到其中,相當(dāng)于cd
相關(guān)閱讀:Linuxshell腳本不執(zhí)行問題實例分析
shell腳本不執(zhí)行問題:某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報錯。我看了下,腳本很簡單,也沒有常規(guī)性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯。看這錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務(wù)器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:
1)重新在linux下編寫腳本;
2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復(fù)雜腳本問題。
ubuntu下linux常用指令相關(guān)文章: