python的輸出有緩沖,導(dǎo)致日志文件并不能夠馬上看到輸出
nohup python3 -u xxxx.py > nohup.out & # -u參數(shù),使得python不啟用緩沖
可以解決移動(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
真實(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
線(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
將必須的腳本進(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 # 直接加入即可
在定位log文件的時(shí)候cat和grep命令發(fā)揮著重要的作用
cat -n test.log | grep "error" | more # more 分頁(yè)查詢(xún)
, 和數(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命令具有很大的效力,我們可以直接對(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¶meterName2=parameterValue2" # 向接口發(fā)送表單數(shù)據(jù)
curl url -F "file=@/Users/local/imgs/my.png" -v # 向接口發(fā)送文件
普通模式下輸入“:set mouse-=a”,修改為非鼠標(biāo)模式
相關(guān)權(quán)限我在下圖作了說(shuō)明
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 # 直接變更
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)行拷貝
統(tǒng)計(jì)數(shù)量,可以統(tǒng)計(jì)管道過(guò)濾的數(shù)量和文件的行數(shù)
wc -l
會(huì)把文件里的最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新
tail -f notes.log
tail -n 10 test.log
有的時(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
在真實(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ù)的密碼
在安裝一些機(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)下載
查看操作系統(tǒng)開(kāi)放的端口和進(jìn)程信息
netstat -ntlp # 僅顯示端口
netstat -anp # 查看防火墻端口
一般先用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)制退出
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文件中
如果是通過(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ù)使用)
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í)目錄
一般都是組合使用
grep a *.txt # 模糊查詢(xún)
ps -ef | grep mysql # 組合使用-->查看進(jìn)程
注意 cd - 的使用,很優(yōu)雅
cd - # 返回上次的工作目錄
cd ~ #進(jìn)入當(dāng)前用戶(hù)
cd / #進(jì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
一般做備份的時(shí)候用的多
cp # 只能移動(dòng)文件
cp -r #包括文件夾一塊移動(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
該命令一般用不到,知道有這個(gè)命令即可
swapon -s 查看到swap分區(qū)掛載在哪兒
swapoff /dev/sda2 #停止/釋放
swapon -a #再次開(kāi)啟
該命令做物聯(lián)網(wǎng)開(kāi)發(fā)的小伙伴可能會(huì)遇到
dos2unix windowsfile # Windows格式文本轉(zhuǎn)換為Unix&Linux格式文件
出現(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ù),期待與您合作。