1.杀掉MYSQL SHELL
ps aux|grep mysql|grep -v grep|awk ''{print $2}''|xargs kill -9
2.删除当前目录下0字节的文件
find -type f -size 0 -exec rm -rf {} ;
3.匹配当data里包含"donald",输出第4列
awk ''/donald/ {print $4}'' data
扩展1:
awk ''/donald|chin/ {print $1, $2}'' data
扩展2:
awk ''/a[rl]/ {print $1, $2}'' data
使用"n"而不是空格做为分隔符
awk ''FS="n" {print $1}'' data
4.截取对应的列数
awk -F":" ''{ print $1 $7 }'' /etc/passwd
5.对域名进行添加www.的shell
awk ''{print"www."$1}'' yuming.txt >yuming2.txt
6.清理maillog日志
find . -name maillog | xargs echo " " >maillog
7.1.txt文件前面添加序号
awk ''{print NR,$0}'' 1.txt
8.1.txt匹配test开头的行后,将字段2和字段3相加后输出结果
awk ''$1 ~/test/{count = $2 $3;print count}'' 1.txt
9.用grep命令在当前目录下的所有普通文件中搜索hostnames这个词
find . -name * -type f -print |xargs grep "hostname"
注意,在上面的例子中, 用来取消find命令中的*在shell中的特殊含义
10.文件删除清理
find . -name "*.conf" -mtime 5 -ok rm { } ;
< rm ... ./conf/httpd.conf > ? n
按y键删除文件,按n键不删除
11.在/var/log下拷贝小于100K的文件到/tmp下,如果有失败的发送邮件到635273926@qq.com,用shell/perl/python来实现.
#!/bin/bash
SDIR=/var/log/
DDIR=/tmp/
TMPFILE=/tmp/test.txt
find $SDIR -size -100k -type f > $TMPFILE
while read F_NAME
do
cp -r $F_NAME $DDIR
if [ $? -eq 0 ]
then
echo "ok" > /dev/null 2>&1
else
echo "cp is failed " | mail -s "Note:cp is failed ! " 635273926@qq.com
fi
done < $TMPFILE
12. 根据下面的信息提取每个人的总分 输出到/home/total.txt
oldboy 15 98
kqzj 23 87
wodi 16 89
awk ''{print $1,$2 $3}'' infor >/home/tital.txt
13.在不影响MYSQL正常服务的情况下,如何导出MYSQL数据
mysqldump -all-databases >allbackupfile.sql 备份数据库
mysql -hhostname -uusername -ppassword databasename < backupfile.sql 还原数据库
mysqldump -hhostname -uusername -ppassword databasename |gzip > backupfile.sql.gz 压缩备份数据库
gunzip < bckupfile.sql.gz |mysql -uusername -ppassword databasename 还原压缩的文件包
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 >backupfile.sql 备份单个数据库表
mysqldump -hhostname -uusername -ppassword -databases databasename1 atabasename2 databasename3 >multibackupfile.sql 备份多个数据库
mysqldump -no-data -databases databasename1 databasename2 databasename3>structurbackupfile.sql 备份数据库结构
14.在一个文件夹下建立类似如下规律性的文件夹:
11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 41 42 43 44 45 51 52 53 54 55
#!/bin/sh
for i in `echo {1..5}{1..5}`;do
mkdir -p ./$i
done
或
#!/bin/bash
#for i in `seq 11 55`;
for i in $(seq 11 55)
do
echo $i;
mkdir -p ./$i;
done
15.统计末年某月的天数
cal 09 2008 | xargs | awk ''{print $NF}''
cal 09 2008 |sed
|