linux常用命令积累
先推荐几本好书:
1.《鸟哥的Linux私房菜-基础学习篇》-- 鸟哥
2.《Linux Shell 脚本攻略》-- Sarath Lakshman
3.《鸟哥的Linux私房菜-服务器架设篇》-- 鸟哥
4.《Unix环境高级编程》-- W.Richard...
5.《Linux系统编程》 -- Robert Love
6.《Linux内核设计的艺术》-- 新设计团队
7.《Linux内核设计与实现》--Robert Love
1,查找已安装软件并卸载
rpm -qa|grep libevent # 查看系统是否带有该安装软件,如果有执行命令:
rpm -e libevent-1.4.13-1 libevent-devel-1.4.13-1 --nodeps --allmatches
--nodeps:忽略依赖删除
--allmatches:
Remove all versions of the package which match PACKAGE_NAME. Normally an error is issued if PACKAGE_NAME matches
2,开机启动
vim /etc/rc.d/rc.local
将启动脚本文件放到里面去,用绝对路径,或者用绝对路径执行
3, 文件夹下面查找最大的文件:
# find -type f ! -path '*/.svn/*' -exec stat -c "%s %n" {} \;|sort -nr|head -10
4,调整linux系统时间和时区
一、修改时区:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制的时候会提示是否覆盖。点击yes
修改为中国的东八区
# vi /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
二、配置新的时间
日期设定:
# date -s 2013/05/06
时间设定:
# date -s 18:45:52
5,vim的列编辑模式
Ctrl+v先进入列模式,移动光标选取要编辑的行列,Shift+i进入编辑模式,然后Esc
6,mv/cp/rm的时候要排除掉一些文件时候,可以使用:
# mv $(ls | grep -v 'cm') cm ->> 将当前文件夹中所有除cm文件夹外其他文件(不包含隐藏文件)移动到cm文件夹中去。
7,发送中文邮件
先vim /etc/sysconfig/network 修改hostname为一个有意义域名,比如xn.baoxian.com,注销,重启sendmail服务,然后可以发送:
# echo "中文的内容" | mail -s "=?utf-8?B?$(echo 这个是个中文标题,吼吼 | base64)?=" [email protected]
将含有main函数的class文件和mysql驱动jar包放入一个文件夹,然后写个shell脚本:
#!/bin/bash # 定时发送数据到邮箱中 # 请注意所有的路径都是绝对路径 export LANG=zh_CN.UTF-8 JAVA_HOME=/usr/local/jdk1.6.0_25 $JAVA_HOME/bin/java -cp "/root/work/hehe/*:/root/work/hehe/" EveryDay /root/work/hehe/notice.txt wait mail -s "=?utf-8?B?$(echo 这个是个中文标题,吼吼 | base64)?=" [email protected] < /root/work/hehe/notice.txt wait mv /root/work/hehe/notice.txt /root/work/hehe/notice_$(date +%Y%m%d_%H%M).txt
之后编辑crontab:
# vim /etc/crontab
在最后面加入:
22 15 * * * root sh /root/work/hehe/hehe.sh
然后重启crond服务
# /etc/init.d/crond restart
再来一个每天给大伙发送一些冷笑话的例子:
#!/bin/bash export LANG=zh_CN.UTF-8 # 定义发送邮件函数 function send_mail { echo "$1 -- $2" mail -s "=?utf-8?B?$(echo 每天一个冷笑话(by 一刀) | base64)?=" "$1" < "$2" wait } # 第一步先计算笑话的文件名 count=1 while read line do count=$line done < /data/scripts/hehe/ins.txt # 第二步再找出email地址列表,循环发邮件 filecontent=( `cat "/data/scripts/hehe/mails.txt" `) for t in "${filecontent[@]}" do echo "$t -- $count.txt" send_mail "$t" "/data/scripts/hehe/jokes/$count.txt" done ((count++)) echo "now the count is : $count " echo "$count" > /data/scripts/hehe/ins.txt echo "每天一个冷笑话发送完毕"
本人博客已搬家,新地址为:http://www.pycoding.com/