029-88811692
網(wǎng)站建設(shè)資訊詳細(xì)

Linux系統(tǒng)操作常用命令

發(fā)表日期:2021-03-29  作者:云浪  瀏覽:  

后臺(tái)運(yùn)行

python的輸出有緩沖,導(dǎo)致日志文件并不能夠馬上看到輸出

  • nohup python3 -u xxxx.py > nohup.out & # -u參數(shù),使得python不啟用緩沖

批量移動(dòng)/刪除

可以解決移動(dòng)文件數(shù)目過(guò)大的問(wèn)題(Argument list too long)

  • find test/ -name "*.jpg" -exec cp {} train ;

  • find test/ -name "*.jpg" | xargs -i rm {}

查看端口

一般管道符grep和netstat一塊使用

  • netstat -ntlp # 簡(jiǎn)化

  • netstat -lnp | grep 88 # 詳細(xì)

  • netstat -anp # 可以看到進(jìn)程編號(hào)信息

  • firewall-cmd --query-port=666/tcp  # 查看端口是否開(kāi)啟成功 成功返回yes

firewalld的基本使用

真實(shí)的業(yè)務(wù)環(huán)境,必須開(kāi)啟防火墻

  • 啟動(dòng): systemctl start firewalld

  • 關(guān)閉: systemctl stop firewalld

  • 查看狀態(tài): systemctl status firewalld

  • 開(kāi)機(jī)禁用  : systemctl disable firewalld

  • 開(kāi)機(jī)啟用  : systemctl enable firewalld

  • 查看一個(gè)服務(wù):systemctl status  jenkins.service

開(kāi)啟一個(gè)端口

線(xiàn)上環(huán)境僅對(duì)需要的端口開(kāi)啟,非需要的端口應(yīng)關(guān)閉

  • 添加:firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,沒(méi)有此參數(shù)重啟后失效)

  • 重新載入:firewall-cmd --reload

  • 查看:firewall-cmd --zone=public --query-port=80/tcp

  • 刪除:firewall-cmd --zone=public --remove-port=80/tcp --permanent

自啟動(dòng)

將必須的腳本進(jìn)行自啟動(dòng),避免過(guò)多的腳本自啟動(dòng)

  • /etc/rc.d/init.d # 存放著自啟動(dòng)腳本 ,優(yōu)先級(jí)比下面的高

  • /lib/systemd/system/  # 存放著自啟動(dòng)腳本

  • /etc/rc.local  # 直接加入即可

日志過(guò)濾

在定位log文件的時(shí)候cat和grep命令發(fā)揮著重要的作用

  • cat -n test.log | grep "error" | more  #  more 分頁(yè)查詢(xún)

crontab

, 和數(shù)組類(lèi)似,指定數(shù)字,/ 每過(guò)多少個(gè)數(shù)字,- 從X到Z,* 取值范圍內(nèi)的所有數(shù)字

  • 每五分鐘執(zhí)行      */5 * * * *

  • 每小時(shí)執(zhí)行        0 * * * *

  • 每天執(zhí)行          0 0 * * *

  • 每周執(zhí)行          0 0 * * 0

  • 每月執(zhí)行          0 0 1 * *

  • 每年執(zhí)行          0 0 1 1 *

curl

curl命令具有很大的效力,我們可以直接對(duì)我們接口進(jìn)行測(cè)試pi

  • curl -i www.baidu.com  # 獲取全部response信息

  • curl -I www.baidu.com # 只返回response的頭信息

  • curl url -X POST -H "Content-Type:application/json" -d '{"parameterName1":"parameterValue1","parameterName2":"parameterValue2"}' # 向接口發(fā)送json數(shù)據(jù)

  • curl url -X POST -d "parameterName1=parameterValue1&parameterName2=parameterValue2" # 向接口發(fā)送表單數(shù)據(jù)

  • curl url -F "file=@/Users/local/imgs/my.png"  -v # 向接口發(fā)送文件

vim insert VISUAL模式

  • 普通模式下輸入“:set mouse-=a”,修改為非鼠標(biāo)模式

權(quán)限

相關(guān)權(quán)限我在下圖作了說(shuō)明

Linux系統(tǒng)操作常用命令(圖1)
  • r可讀,w可寫(xiě),x可執(zhí)行

  • + 表示增加權(quán)限,如u+x, u+r, u+w, g+w, g+r, o+r, a+r等

  • - 表示取消權(quán)限,如u-x, u-r, u-w, g-w, g-r, o-r, a-r等

  • = 表示賦予給定權(quán)限,并取消其他所有權(quán)限(如果有的話(huà),如原來(lái)u是rwx,設(shè)置u=r,u就剩r)

  • chown # 對(duì)文件夾或文件的所屬權(quán)限變更

  • chmod # 直接變更

遠(yuǎn)程拷貝

scp命令有很重要的作用,應(yīng)掌握

  • scp local_file remote_username@remote_ip:remote_folder # 對(duì)文件進(jìn)行拷貝

  • scp -r local_folder remote_username@remote_ip:remote_folder # 對(duì)目錄 進(jìn)行拷貝

管道和數(shù)量

統(tǒng)計(jì)數(shù)量,可以統(tǒng)計(jì)管道過(guò)濾的數(shù)量和文件的行數(shù)

  • wc -l

tail/head(語(yǔ)法一致)

會(huì)把文件里的最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新

  • tail -f notes.log

  • tail  -n  10  test.log

添加環(huán)境變量

有的時(shí)候我們需要向系統(tǒng)中手動(dòng)的添加變量信息

  • export PATH=$PATH:/usr/local/webserver/php/bin   # 臨時(shí)添加

  • 永久添加

vi /etc/profile  
PATH=$PATH:/usr/local/webserver/php/bin:/usr/local/webserver/mysql/binexport PATH
source /etc/profile  # 編譯一下
  • 查看添加的變量

echo $PATH

后臺(tái)運(yùn)行

在真實(shí)業(yè)務(wù)中,我們常常會(huì)用到后臺(tái)運(yùn)行的相關(guān)命令

nohup commond & 表示Ctrl+C也不會(huì)使其中斷&  表示任務(wù)在后臺(tái)執(zhí)行,如要在后臺(tái)運(yùn)行redis-server,則有  redis-server &&& 表示前一條命令執(zhí)行成功時(shí),才執(zhí)行后一條命令 ,如 echo '1‘ && echo '2'    
| 表示管道,上一條命令的輸出,作為下一條命令參數(shù),如 echo 'yes' | wc -l|| 表示上一條命令執(zhí)行失敗后,才執(zhí)行下一條命令,如 cat nofile || echo "fail"

管理員

該命令在線(xiàn)上一般用不到,但是在我們平常使用虛擬機(jī)的時(shí)候會(huì)用到

su username # 切換用戶(hù)
su  # 輸入root賬戶(hù)的密碼后切換到root身份,無(wú)時(shí)間限制
sudo su # 效果同su,只是不需要root的密碼,而需要當(dāng)前用戶(hù)的密碼

查看系統(tǒng)信息

在安裝一些機(jī)器學(xué)習(xí)或其他軟件的時(shí)候,我們需要確認(rèn)操作系統(tǒng)的一些信息

arch  # 用于centos查看32位還是64位
dpkg  #用于查看 Debian/ Ubuntu 操作系統(tǒng)是 32 位還是 64 位
cat /etc/issue  # 查看系統(tǒng)架構(gòu)   # centos/Debian/Ubuntu
getconf LONG_BIT # 直接返回操作系統(tǒng)是32還是64file /lib/systemd/systemd # 輸出詳細(xì)的具體信息
uname -r # 查看操作系統(tǒng)內(nèi)核

安裝

linux常用的兩個(gè)分支,烏班圖和centos的基礎(chǔ)安裝命令

apt install package   # 烏班圖
yum install  package  # centos

下載

wget遠(yuǎn)程下載文件

wget  # 直接下載
wget -b # 后臺(tái)下載

netstat命令

查看操作系統(tǒng)開(kāi)放的端口和進(jìn)程信息

netstat -ntlp # 僅顯示端口
netstat -anp # 查看防火墻端口

ps/kill

一般先用ps查看port信息,kill進(jìn)行殺掉

ps -A # 顯示進(jìn)程信息
ps -u root # 顯示root進(jìn)程用戶(hù)信息
kill -9 port # 中斷進(jìn)程進(jìn)行退出
kill port # 強(qiáng)制退出

運(yùn)行級(jí)別

linux的7種運(yùn)行級(jí)別,應(yīng)掌握

# 0 - 停機(jī)(千萬(wàn)別把initdefault設(shè)置為0,否則系統(tǒng)永遠(yuǎn)無(wú)法啟動(dòng))
# 1 - 單用戶(hù)模式
# 2 - 多用戶(hù),沒(méi)有 NFS
# 3 - 完全多用戶(hù)模式(標(biāo)準(zhǔn)的運(yùn)行級(jí))# 4 – 系統(tǒng)保留的
# 5 - X11 (x window)# 6 - 重新啟動(dòng) (千萬(wàn)不要把initdefault 設(shè)置為6,否則將一直在重啟 )

重定向

一個(gè)>表示覆蓋寫(xiě),兩個(gè)>>表示追加寫(xiě)

  • ls -l > list.txt  # ls -l 的結(jié)果保存在了list.txt文件中

開(kāi)機(jī)/關(guān)機(jī)

如果是通過(guò)shutdown命令設(shè)置關(guān)機(jī)的話(huà),可以用shutdown -c命令取消重啟

重啟命令

1、reboot  / init62、shutdown -r now 立刻重啟(root用戶(hù)使用)3、shutdown -r 10 過(guò)10分鐘自動(dòng)重啟(root用戶(hù)使用) 4、shutdown -r 20:35 在時(shí)間為20:35時(shí)候重啟(root用戶(hù)使用)

關(guān)機(jī)命令

1、halt / init 0 立刻關(guān)機(jī)  
2、poweroff  立刻關(guān)機(jī)3、shutdown -h now 立刻關(guān)機(jī)(root用戶(hù)使用)4、shutdown -h 10 10分鐘后自動(dòng)關(guān)機(jī)

返回

需要注意的是linux只能進(jìn)行 ../../兩級(jí)返回

  • ./  #指在當(dāng)前目錄

  • ../ #指返回上一級(jí)目錄

管道/查看進(jìn)程

一般都是組合使用

  • grep a *.txt  # 模糊查詢(xún)

  • ps -ef | grep mysql  # 組合使用-->查看進(jìn)程

進(jìn)入

注意 cd - 的使用,很優(yōu)雅

  • cd -  # 返回上次的工作目錄

  • cd ~ #進(jìn)入當(dāng)前用戶(hù)

  • cd / #進(jìn)入根目錄

磁盤(pán)

查看系統(tǒng)的磁盤(pán)占用信息

  • df -kh  #查看磁盤(pán)大小

  • free # 查看磁盤(pán)占用

目錄

查看linux目錄樹(shù)信息,其中tree需要單獨(dú)安裝

pwd   #顯示當(dāng)前目錄
dirs #顯示當(dāng)前目錄
tree  # 目錄樹(shù).├── jjjj
│   └── j.txt
└── kkk

查看

linux操作系統(tǒng) . 開(kāi)頭的文件夾默認(rèn)是不顯示的,使用ls -a可以查看

ls -a # 顯示隱藏
ls -l  # 單列格式輸出詳細(xì)信息,簡(jiǎn)寫(xiě)ll
cat  # 查看文件內(nèi)容的全部
tail/head # 查看指定的行
tail -f filename # 不斷刷新讀取新內(nèi)容

軟連接

在執(zhí)行l(wèi)n命令之前,目錄/usr/liu中不存在a2.c文件。執(zhí)行l(wèi)n之后,在/usr/liu目錄中才有a2.c這一項(xiàng),表明m2.c和a2.c鏈接起來(lái)(注意,二者在物理上是同一文件),利用ls -l命令可以看到鏈接數(shù)的變化。

ln /mub1/m2.c /usr/liu/a2.c  #將目錄/usr/mengqc/mub1下的文件m2.c鏈接到目錄/usr/liu下的文件a2.c
ln -s Lte.V120 Lte  #  迭代版本在前
ln -snf # 修改軟連接  
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

復(fù)制

一般做備份的時(shí)候用的多

cp # 只能移動(dòng)文件
cp -r #包括文件夾一塊移動(dòng)

移動(dòng)/改名

注意通配符的應(yīng)用

mv ex3 new1 #將文件ex3改名為new1
mv /lianxi/kkk/* /lianxi/jjjj/  #移動(dòng)文件

解壓/打包

一般在進(jìn)行二進(jìn)制安裝軟件的時(shí)候用的多

tar -zxvf XXX.tar.gz
tar -zcvf 包名 將要打包文件  #打包
tar -jxvf XXX.tar.bz2
tar -ztvf 包名  #查看包中的文件

刪除

rm -rf 應(yīng)慎用

rm -r #可以刪除文件夾
rm -rf #強(qiáng)制刪除

文件/文件夾

注意-p的參數(shù)的使用,可以大大提交效率

mkdir filefolder #建立空白文件夾
mkdir -p filefolder # 級(jí)聯(lián)創(chuàng)建
rmdir #刪除空白文件夾
touch  filename # 創(chuàng)建文件

搜索

對(duì)文件進(jìn)行搜索應(yīng)掌握,很有用

whereis #搜索程序名稱(chēng)
whereis -b #搜索二進(jìn)制文件
whereis -m #搜索說(shuō)明文件
whereis -s #搜索源代碼

find . #列出當(dāng)前目錄及子目錄下所有文件和文件夾
find  / -name "*.k"  # 在根目錄下搜索后綴為.k的文件

which
which python/usr/bin/python

釋放swap

該命令一般用不到,知道有這個(gè)命令即可

swapon -s 查看到swap分區(qū)掛載在哪兒
swapoff  /dev/sda2  #停止/釋放
swapon -a  #再次開(kāi)啟

dos2unix

該命令做物聯(lián)網(wǎng)開(kāi)發(fā)的小伙伴可能會(huì)遇到

  • dos2unix  windowsfile  # Windows格式文本轉(zhuǎn)換為Unix&Linux格式文件

其他問(wèn)題

  • 出現(xiàn)^H,使用Ctrl+回車(chē)即可


云浪科技11年互聯(lián)網(wǎng)服務(wù)品牌,可為您提供高端網(wǎng)站建設(shè)、小程序開(kāi)發(fā)、app開(kāi)發(fā)、軟件開(kāi)發(fā)、域名注冊(cè)、云服務(wù)器開(kāi)通、企業(yè)郵箱開(kāi)通、ICP備案等服務(wù),已為上千家用戶(hù)竭誠(chéng)服務(wù),期待與您合作。


Tag:
來(lái)源聲明:Linux系統(tǒng)操作常用命令》系云浪科技編輯或采編整理,以上內(nèi)容部分(包含圖片、文字)來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)與本站聯(lián)系。