查詢目錄中的內(nèi)容:ls
ls [選項(xiàng)] [文件或目錄](méi)
選項(xiàng):
-a 顯示所有文件,包含隱藏文件(一些系統(tǒng)行文件,最好不要修改)
-l 顯示詳細(xì)信息
-d 查看目錄屬性
-h 人性化顯示文件大小
-i 顯示inode
目錄處理命令
建立目錄
mkdir -p [目錄名]```
-p遞歸創(chuàng)建,一次創(chuàng)建多級(jí)目錄
切換目錄
cd [目錄](méi)
簡(jiǎn)化操作
cd ~ 進(jìn)入當(dāng)前用戶的家目錄
cd 進(jìn)入當(dāng)前用戶的家目錄
cd - 進(jìn)入上次目錄
cd .. 進(jìn)入上一級(jí)目錄
cd . 進(jìn)入當(dāng)前目錄
查詢所在位置:pwd
pwd命令用于顯示當(dāng)前用戶所在的目錄
刪除文件或目錄: rm
rm -rf [文件或目錄](méi)
rmdir temp/
rm -rf test
rm -rf /:千萬(wàn)不能執(zhí)行這條指令,這是讓linux自殺
復(fù)制命令:cp
cp [選項(xiàng)] [原文件或目錄](méi) [目標(biāo)目錄](méi)
-r 復(fù)制目錄
-p 連帶文件屬性復(fù)制
-d 若源文件是鏈接文件,則復(fù)制鏈接屬性
-a 相當(dāng)于 -pdr
一般多使用cp -r復(fù)制目錄
使用cp -a來(lái)復(fù)制文件/目錄及其相關(guān)屬性
剪切或修改命令:mv
mv [源文件或目錄](méi) [目標(biāo)目錄](méi)
改名: mv 原文件名 目標(biāo)文件名
源文件和目標(biāo)文件在同一個(gè)目錄下就是改名,不在同一個(gè)目錄下就是剪切
鏈接命令:ln
ln -s [源文件] [目標(biāo)文件]
-s:創(chuàng)建軟連接
不加-s是創(chuàng)建硬鏈接
硬鏈接特征
1.擁有相同的i節(jié)點(diǎn)和存儲(chǔ)block塊,可以看作是同一個(gè)文件
2.可以通過(guò)i節(jié)點(diǎn)識(shí)別
3.不能跨分區(qū)
4.不能對(duì)目錄使用
軟鏈接特征
1.類似Windows快捷方式
2.軟鏈接擁有自己的 I節(jié)點(diǎn)和block塊,但是數(shù)據(jù)塊至保存源文件的文件名和I節(jié)點(diǎn)號(hào),并沒(méi)有實(shí)際的文件數(shù)據(jù)
3.lrwxrwxrwx |軟鏈接
4.修改任意文件,另一個(gè)都改變
5.刪除源文件,軟鏈接不能使用
拷貝指令
cp [源文件] [目標(biāo)文件目錄](méi)
解壓文件
tar -zxvf [待解壓的文件]
讀取文件內(nèi)容
cat [FileName] : 讀取文件的全部?jī)?nèi)容
head -n [nums] [FileName]: 讀取文件的前nums行的內(nèi)容
tail -n [nums] [FileName]: 讀取文件的最后nums行的內(nèi)容
wc -l [FileName]: 統(tǒng)計(jì)文件的行數(shù)
sed -n '$=' [FileName]: 統(tǒng)計(jì)文件的行數(shù)
sed -n '2p;4,10p' [FileName]: 讀取第二行,第4-10行的內(nèi)容
連接到服務(wù)器
ssh [serverusername]@[server_ip] [-p 端口號(hào)]
//例如: ssh root@202.121.178.205 -p 5022
上傳文件到服務(wù)器和下載服務(wù)器上的文件到本地
scp [-r] [-PserverPort] filename1 filename2
-r:傳輸?shù)氖俏募A則添加上
-PserverPort:指定服務(wù)器端的地址,默認(rèn)為22
scp [-P端口號(hào)] [本地文件的絕對(duì)地址] [serverusername]@[server_ip]:[服務(wù)器上的目標(biāo)地址]
//比如將本地文件/home/hadoop/localfile.txt文件傳輸?shù)?02.121.178.205的端口號(hào)為5022的/opt目錄中
//scp [-P5022] /home/hadoop/localfile.txt root@202.121.178.205:/opt
//上傳
//下載
scp [-P端口號(hào)] [serverusername]@[server_ip]:[服務(wù)器上的目標(biāo)地址] [本地文件的絕對(duì)地址]
//比如將202.121.178.205的端口號(hào)為5022的/opt目錄中的server.txt下載到本地文件/home/hadoop
//scp [-P5022] root@202.121.178.205:/opt/server.txt /home/hadoop
服務(wù)器上的后臺(tái)運(yùn)行
nohup 運(yùn)行指令 &
服務(wù)器ip與機(jī)器名查詢
// 知道ip查看hostname
nslookup ip
//知道hostname查看ip
nslookup hostname
查看遠(yuǎn)程服務(wù)器端口是否開(kāi)放
nmap -v ip -p 【端口號(hào)】
進(jìn)程號(hào)查看運(yùn)行文件目錄
// 查看進(jìn)程號(hào)
ps -ef|grep java
// 查看該進(jìn)程運(yùn)行文件的目錄
ll /proc/pid/cwd
服務(wù)器定時(shí)任務(wù)--Crontab
這里推薦一個(gè)crontab運(yùn)行時(shí)間驗(yàn)證的網(wǎng)站:https://tool.lu/crontab/
一些常用的指令這里就不在描述了,可以參考:http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html,這個(gè)文檔里面還是很齊全的,下面就簡(jiǎn)單的介紹定制化的(積累中,持續(xù)更新...)
// 每個(gè)月最后一天執(zhí)行腳本(linux環(huán)境)
0 0 28-31 * * [ `date -d tomorrow +\%e` -eq 1 ] && do-something
或者:
0 0 28-31 * * [ ["$(date --date=tomorrow +\%d)"=="01"] ] && do-something
// [Tip]: 一定要注意判斷語(yǔ)句中的空格,外面的中括號(hào)和指令之間是有空格隔開(kāi)的,不能省呀,省了就呵呵了
每隔n個(gè)自然天執(zhí)行一次(這里不采用星期的方法),不能使用
* * */n * * do-something
因?yàn)樯厦孢@條指令是按照一個(gè)月進(jìn)行計(jì)算循環(huán)的,需要通過(guò)crontab間接實(shí)現(xiàn)(當(dāng)然可以使用其他方法實(shí)現(xiàn))
思路:
- 每天定時(shí)執(zhí)行running.sh腳本,再在腳本running.sh里面判斷,當(dāng)間隔時(shí)間滿足條件時(shí)
- 執(zhí)行test.py腳本,同時(shí)修改上次執(zhí)行時(shí)間,以便于下次執(zhí)行
下面這句是用修改上次執(zhí)行時(shí)間的(注意引號(hào)):
可以使用
- sed -i '4 s/[0-9][0-9]*/'"
HOME/running.sh
或者:- sed -i "4 s/[0-9][0-9]*/
HOME/running.sh