Weather : light rain !
一、需求:
寫一個shell腳原本看看你使用最多的命令是哪些,列出你最經常使用的命令top10。shell
[root@Dasoncheng ~]# sort /root/.bash_history |uniq -c |sort -n |tail
二、需求:
假如咱們須要每小時都去執行你寫的腳本。在腳本中實現這樣的功能,當時間是0點和12點時,須要將目錄/data/log/下的文件所有清空,注意只能清空文件內容而不能刪除文件。而其餘時間只須要統計一下每一個文件的大小,一個文件一行,輸出到一個按日期和時間爲名字的日誌裏。 須要考慮/data/log/目錄下的二級、三級、… 等子目錄裏面的文件。(答案比我寫得好)bash
[aming@Dasoncheng ~]$ cat a.sh #!/bin/bash d=`date +%H` t=`date +%Y%m%d%H%M` for i in `find /data/log -maxdepth 1 -type f ` ; do if [ $d == 10 ] || [ $d == 12 ] ; then true > $i else size=`du -sh $i |awk '{print $1}'` echo $i $size >> /tmp/$t.log fi done
一、思路:咱們要用到一個文件就是.bash_history,而後再去sort、uniq,剩下的就不用我多說了吧。很簡單一個shell。日誌
sort /root/.bash_history |uniq -c |sort -nr |head
二、code
#!/bin/bash logdir="/data/log" t=`date +%H` d=`date +%F-%H` [ -d /tmp/log_size ] || mkdir /tmp/log_size for log in `find $logdir -type f` do if [ $t == "0" ] || [ $t == "12" ] then true > $log else du -sh $log >>/tmp/log_size/$d fi done