ccp
用法:ccp
作用:强制复制文件或目录
实现:
cp -rf $@
kkm
用法:kkm
作用:清理缓存
实现:
sync;
echo 1 > /proc/sys/vm/drop_caches;
sync;
echo 2 > /proc/sys/vm/drop_caches;
sync;
echo 3 > /proc/sys/vm/drop_caches;
free -m
rrm
用法:rrm <文件或目录>
作用:强制删除文件或目录
实现:
rm -rf $@
sp
用法:sp
作用:查看当前目录下所有文件和文件夹的大小
实现:
du -sh *
ttail
用法:ttail <文件路径>
作用:tail命令查看文件的最后200行
实现:
tail -200f $@
untar
用法:untar <压缩文件路径>
作用:解压所有类型的压缩文件
实现:
FILE_NAME=$1
if [ "${FILE_NAME##*.}"x = "gz"x ];
then
tar -zxvf $@
return 0
fi
if [ "${FILE_NAME##*.}"x = "tar"x ];
then
tar -xvf $@
return 0
fi
if [ "${FILE_NAME##*.}"x = "zip"x ];
then
unzip $@
return 0
fi
if [ "${FILE_NAME##*.}"x = "rar"x ];
then
tar -zxvf $@
return 0
fi
if [ "${FILE_NAME##*.}"x = "bz2"x ];
then
bzip2 -d $@
return 0
fi
if [ "${FILE_NAME##*.}"x = "xz"x ];
then
xz -d $@
echo "untar used xz to uncompress the specified file. Now you must uncompress using tar -xvf by yourself!"
return 1
fi
tar -zxvf $@
ujs
用法:ujs <搜索词>
作用:搜索当前用户的java进程
实现:
ps -u `whoami` -f | grep -v grep | grep java | grep $1
uj
用法:uj
作用:查看当前用户的java进程
实现:
ps -u `whoami` -f | grep -v grep | grep java
jjstack
用法:jjstack [StackName] [SleepTime]
作用:每隔一段时间取java进程的堆栈信息。StackName为最终的堆栈信息文件名的前缀,SleepTime为间隔时间(单位为秒)
实现:
if [ $# -lt 1 ]; then
echo "Usage: $0 <PID> [StackName] [SleepTime]"
echo "Get java jstack info of process:<PID> every [SleepTime] seconds."
echo "The result file name looks like [StackName]_yyyyMMddHHmmss.jstack."
echo "The default StackName is stack, default SleepTime is 10 seconds"
fi
pid=$1
stack_name="jstack"
if [ $# -gt 1 ]; then
stack_name=$2
fi
sleep_time=10
if [ $# -gt 2 ]; then
sleep_time=$3
fi
while true
do
time=`/bin/date +'%Y%m%d%H%M%S'`
stack_file_name="${stack_name}_${time}.stack"
jstack -l $pid > ${stack_file_name}
echo "jstack to: [${stack_file_name}] successful..."
sleep ${sleep_time}
done
jkill
用法:jkill
作用:kill掉当前用户的所有java进程
实现:
current_user=`whoami`
ps -u ${current_user} -f | grep java | grep -v grep | awk '{print $2}' | xargs -r kill -9
loop
用法:loop
作用:循环执行shell命令,SleepTime为间隔时间,注意输入的命令不支持alias
实现:
if [ $# -eq 0 ];
then
echo "Usage: loop <SLLEP_TIME>"
echo "loop execute command every <SLLEP_TIME> seconds"
exit 1
fi
RESET="\033[0m";
GREEN="\033[32m";
RED="\033[31m";
YELLOW="\033[33m";
# 分隔符
str="-"
# 获取屏幕宽度
ScreenLen=$(stty size |awk '{print $2}')
function echo_line()
{
yes ${str} |sed ''''${ScreenLen}'''q' |tr -d "\n" && echo
echo "-----> DATETIME: $(/bin/date +'%Y-%m-%d %H:%M:%S')"
}
SLEEP_TIME=$1
echo -e "${GREEN}Please input loop command:${RESET}";
echo -e "${YELLOW}Note: alias is not supported! ${RESET}";
read input;
echo "-----> loop command:${input}"
while true
do
echo_line
result=$("${input}")
echo -e "${result}"
sleep ${SLEEP_TIME}
done