Linux專案實踐中常用操作彙總
Linux
1、linux檢視時間,可寫入指令碼中
date
date -d 0day +%Y%m%d
顯示前1小時的時間
date +%Y%m%d%H -d '-1 hours'
顯示前1天的時間
date +%Y%m%d -d '-1 days'
daySelect=`date +%Y%m%d -d '-1 days'`
如果是shell指令碼需要使用時間的話,使用時記得加單引號,否則會有換行符,無法使用。
2、linux檢視日誌/檔案內容
less 檔案/日誌名
shift + G 跳至最後一行便於檢視日誌執行時間
3、linux指令碼定時
簡單定時-sleep
在shell指令碼里定時執行一段命令,比如每隔5秒執行一次.
#! /bin/sh
while((1))
do
echo "hello world!"
sleep 5
done
4、linux指令碼定時排程
大牛連結:
https://blog.csdn.net/xionglangs/article/details/52913351
執行指令碼helloworld.sh:
#!/bin/bash
#該指令碼主要做指令碼排程測試
echo "hello-World!"
echo "hello-World-2!"
echo "hello-World-3!"
寫法步驟:
crontab -e 進入vi編輯,表示每小時的31,32,33都執行helloworld.sh指令碼,並輸出到日誌中。
31,32,33 * * * * sh /root/helloworld.sh >> /root/helloworld.log 2>&1 &
引數說明:
crontab -u //設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數
crontab -l //列出某個使用者cron服務的詳細內容
crontab -r //刪除某個使用者的cron服務
crontab -e //編輯某個使用者的cron服務
基本格式:
* * * * * command
分 時 日 月 周 命令
6個欄位組成,不同欄位間用空格或 tab 鍵分隔
第1列表示分鐘1~59 每分鐘用*或者 */1表示
第2列表示小時1~23(0表示0點)
第3列表示日期1~31
第4列表示月份1~12
第5列標識號星期0~6(0表示星期天)
第6列要執行的命令
例項:
#每兩個小時
0 */2 * * * date (solaris 5.8似乎不支援此種寫法)
#晚上11點到早上8點之間每兩個小時,早上8點
0 23-7/2,8 * * * date
#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * mon-wed date
#1月份日早上4點
0 4 1 jan * date
#每晚的21:30
30 21 * * *
#每月1、10、22日的4 : 45重啟lighttpd
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
#每週六、週日的1 : 10重啟lighttpd
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
#每天18 : 00至23 : 00之間每隔30分鐘重啟lighttpd
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
#每星期六的11 : 00 pm重啟lighttpd
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
#每一小時重啟lighttpd
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
#晚上11點到早上7點之間,每隔一小時重啟lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
5、linux-loz解壓
lzop -d xxx.lzo
hadoop fs -text < hdsf file>
將文字檔案或某些格式的非文字檔案通過文字格式輸出
6、linux檢視/停止Spark–yarn現存任務
檢視當前yarn所有列表,最左側是程式編號,格式類似於,application_1880123456789_12345
yarn application -list
yarn application -kill application_1880123456789_12345
7、linux檢視具體行數檔案
檢視/etc/profile的前10行內容,應該是:
# head -n 10 /etc/profile (>>/home/test)
檢視/etc/profile的最後5行內容,應該是:
# tail -n 5 /etc/profile (>>/home/test)
1、從第3000行開始,顯示1000行。即顯示3000~3999行
cat filename | tail -n +3000 | head -n 1000
2、顯示1000行到3000行
cat filename | head -n 3000 | tail -n +1000
分解:
tail -n 1000:顯示最後1000行
tail -n +1000:從1000行開始顯示,顯示1000行以後的
head -n 1000:顯示前面1000行
3、用sed命令
sed -n '5,10p' filename 這樣你就可以只檢視檔案的第5行到第10行。
8、linux常見vi檔案操作
https://www.cnblogs.com/LiuQizhong/p/11796824.html
9、linux-指令碼小知識彙總
1)\r’: 未找到命令警告
如果是在win環境下編輯的,後來ftp到unix伺服器上,那麼有可能出現Error:Unable to access jarfile找不到指令碼中的jar包,單獨跑次命令又沒得問題,那麼你可能需要將由win指令碼轉linux。
原因分析:在windows下編寫的shell指令碼,上傳到伺服器,存在多餘的空格或換行,導致報錯
解決辦法,安裝dos2unix
安裝dos2unix
yum install dos2unix
使用dos2unix對指令碼轉換
dos2unix xxx.sh
2)去除hive -e匯出檔案的WANG內容行
cat /root/data/hive/zhu.txt | grep -v "WARN" >> /root/data/hive/zhu_ruu.txt
3)檔案重複寫入問題
若指令碼執行一次後形成檔案a.txt,第二次依舊形成a.txt,那麼此時的a.txt檔案資料是2次之和。
所以在下一次指令碼執行前需要刪除a.txt檔案
eg:
`rm -r /root/data/hive/zhu.txt`
`rm -r /root/data/hive/zhu_ruu.txt`
hive -e ";" | tr "\t" "," >> /root/data/hive/zhu.txt
cat /root/data/hive/zhu.txt | grep -v "WARN" >> /root/data/hive/zhu_ruu.txt
10、linux檢視HDFS檔案的大小
hadoop fs -du -h /xxxx
11、linux檢視本地目錄大小
du -sh xx/* 也會列出當前資料夾下所有檔案對應的大小
du -h --max-depth=1
相關文章
- My SQL常用操作彙總SQL
- 前端專案實用utils彙總前端
- linux 常用命令彙總Linux
- MySql常用操作SQL語句彙總MySql
- Go常用工具和開源專案彙總Go
- 【Linux】CentOS操作和問題彙總LinuxCentOS
- python實踐中的錯誤 彙總篇Python
- Linux常用檔案操作命令Linux
- 用curl方式操作elasticsearch的常用方法彙總Elasticsearch
- 專案中多級快取設計實踐總結快取
- 【GoLang】golang 最佳實踐彙總Golang
- vue + iview 專案實踐總結 【完】VueView
- Linux運維常用的20個命令彙總!Linux運維
- 運維人員常用的Linux命令彙總運維Linux
- Vue專案常用總結Vue
- Linux實踐總結Linux
- Mybatis Plus 框架專案落地實踐總結MyBatis框架
- Kotlin 初嘗之專案實踐總結Kotlin
- 酷帥吊炸天的 Pandas 常用操作命令彙總
- Linux常用的文字檔案操作命令Linux
- 最常用 150 個Linux命令彙總(建議收藏)Linux
- javascript中字串常用操作總結JavaScript字串
- 【Linux】常用linux操作Linux
- 總結開源專案中的常見壞實踐(Bad Practice)
- Oracle 常用方法彙總Oracle
- 常用函式彙總函式
- 常用Linux操作Linux
- Linux常用操作Linux
- 什麼是框架?(最佳實踐、專案總結)框架
- SpringMVC——HTTP請求專案實踐整理總結SpringMVCHTTP
- Akka實踐一些總結(java專案)Java
- Kotlin——初級篇(八):關於字串(String)常用操作彙總Kotlin字串
- Kotlin——高階篇(五):集合之常用操作符彙總Kotlin
- TypeScript在react專案中的實踐TypeScriptReact
- TypeScript在node專案中的實踐TypeScript
- 運維人員最常用150個Linux命令彙總運維Linux
- Linux常用命令:檔案操作命令Linux
- Vue專案常見問題彙總Vue