⑴ linux shell 清空指定文件夾下所有文件的內容。注意,是清空內容,而不是刪除文件。
文件夾下的內容不就是文件嗎?
文件的內容才是內容。
你所表達的意識是不是。。保留文件名,但是文件容量 要歸 0 ?
⑵ 如何通過linux shell腳本來檢查文件系統類型
方法/步驟
1
如何知道當前的shell,參看下面的圖片中的命令。
2
這是bash源文件resource的內容和存放路徑
3
命令ls中使用大F列出哪些是目錄哪些是文件
4
這里的backslash符號,也就是反斜杠符號是換行續寫的意思
5
這里使用backslash符號連續輸出2個目錄下的內容
分號分隔符號;的意思是,執行完成第一個命令然後才開始執行第二個命令。
可以在輸入命令行時,按下tab鍵執行命令行自動補齊
這里介紹emacs編輯器,也就是在命令行中輸入命令時使用的編輯器
在命令行編輯時游標cursor的back和forward
按下control加小寫的L將清除屏幕,並把當前行移動到屏幕的top位置
全局command編輯器配置
inputrc文件的內容
制定用戶的command行編輯工具
用命令bind的v選項看keyboard的bindings類型
這個是substitution命令,先執行,然後將輸出傳遞給前面一個command,這里不是單引號,是~鍵上的符號
⑶ 請教幾個shell腳本
1.
#!/bin/bash
#filename del
#Usage: del filename
[ $# -ne 1 ] && echo "Usage:del filename" && exit 1
find ${HOME}/sms/record -mtime -$1|xargs ls -l | awk "{if($3~/$LOGNAME/) print $0}" |xargs rm -f
2.
#!/bin/bash
compare ()
{
read -p "Input two numbers:" num1 num2
if [ $num1 -gt $num2 ];then
echo "$num1 is larger than $num2"
else
echo "$num1 is smaller or equal than $num2"
fi
}
3.
#!/bin/bash
read -p "Input your logon name:" name
if [ "$LOGNAME" = "$name" ];then
echo "right"
fi
4.
#!/bin/bash
while [ 1 ]
do
read -p "Input a month:" month
case $month in
1|2|3|4|5|6|7|8|9|10|11|12)
break;;
*)
;;
esac
done
在RHEL5.4上調試通過,希望能幫助你!
⑷ 用shell腳本清除幾分鍾前生成的文件
找到文件生成的路徑:
比如:/home/fyma
執行下述命令:
rm -rf /home/fyma/*
* 表示該路徑下所有文件
⑸ 需要用shell寫一個清空正在使用的日誌的腳本,
有個最簡單的辦法,假設文件是/var/log.txt
echo > /var/log.txt
這樣文件就清空了
⑹ 求linux主機上面清除用戶佔用空間過大的shell腳本。
#!/usr/bin/bash
Cap=`df-k-P/home|grep'home'|awk'{printf("%d ",$5)}'`
#將/home文件系統的使用率賦給變數Cap
if[$Cap-ge90];then
#判斷Cap是否大於等於90
find/home-typef-mtime+7-name"*.log"-execrm-f{};
#刪除目錄/home下所有一周前的log文件
fi;
將以上腳本保存,例如存到/tmp/capchk.sh
然後root用戶增加定時任務:
crontab -e
添加 0 3 * * * /tmp/capchk.sh>/dev/null 2>&1
每天凌晨3點檢查文件系統空間,清理日誌文件
⑺ Shell腳本清除臟數據
假設原數據為file.txt,那麼下面這條語句就可以做這個事情。
awk-F,'NF==5{print}NF!=5{getlinea;print$0""a}'file.txt
基於逗號分隔的欄位數(此例為每行5個欄位)來判斷當前行是否完整。
不完整的話就讀入下一行與當前行合並後輸出。
目前僅處理只換了一行的情況。
實測結果如下:
你可以用輸出重定向將結果保存到文件。
⑻ 編寫一個menu 的shell腳本程序 要求有清屏功能,能正確地執行各項命令並顯示。
case後邊是命令,自己改改吧。
#!/bin/bash
clear;
echo "
Number Name For Linux Menu
1 exit leave menu or return
2 menu goto another local menu
3 vi deit a file
4 mail read a mail
5 send send mail to someone
6 cal see your calendar
7 who see who is on the system
8 ls list the files in this directory
9 cat display a file on the screen
"
while echo "Please enter a number or a name for the action you wish:"
read n
do
case $n in
1)exit 0;;
2);;
3)vi;;
4)mail;;
5)send;;
6)cal;;
7)who;;
8)ls;;
9)cat;;
*)clear;echo "
Number Name For Linux Menu
1 exit leave menu or return
2 menu goto another local menu
3 vi deit a file
4 mail read a mail
5 send send mail to someone
6 cal see your calendar
7 who see who is on the system
8 ls list the files in this directory
9 cat display a file on the screen
";;
esac
done
⑼ Linux 系統 shell腳本定時 清空系統日誌文件
其實沒有必要寫shell腳本,簡單一句話放在系統定時任務里就行了。
比如你的日誌文件名叫a.log。路徑為/tmp/a.log;
那麼你可以寫個定時任務,這樣做:crontab -e 進入定時任務器,然後把下面這段寫到裡面
00 02 * * * echo " " >/tmp/a.log
然後保存退出就可以了。這段內容意思是,每天凌晨2點自動清空a.log內容。你也可以自己定義多久清一次。比如想10分鍾清一次,就這么寫*/10 * * * * echo " " >/tmp/a.log。具體的crontab時間定義你可以去網路查查。希望對您有用!
⑽ shell 腳本 如何修改,可以按時掃描,並清空不要的文件
其實有很多命令可以代替,不用把script寫得這么復雜
例如計算行數可以用:wc -l
如果要刪除文件編輯時間大於30天的文件可以: find . -mtime +30 -exec rm {} \;
如果要刪除大於30M的文件可以: find . -size +30M -exec rm {} \;