生成一个C网段的IP列表
for i in $(seq 1 254);do echo 192.168.0.$i;done > ip_1921680x.txt
-------------------------------------------------------------------------------
1. 列出目录
tree -dCL 1
2. 查找空目录
find -type d -empty
3. vim 跳到文件第一行gg
跳到文件最后一行shift+g
4. rpm包下载
5. echo $?
查看系统命令是否执行成功,成功则返回0,只能返回一次有效
6. 查看路由 ip route 或者 route 或者netstat -r
7. 尽量避免运行setup修改ip,要养成用ifconfig修改的习惯,如果错了还可以重启主机;用setup修改“Firewall configuration”的相关设置,注意不要将自己关在“门外”。提供一个有效的测试方法:在crontab中加入iptables -F
8. kill -9 命令一定要看好PID
9. 刚接触核心服务器的时候,不必知道自己该做什么,应该知道自己不该做什么。
10. 对于外网的IP要禁止root用户直接登录,创建一个普通用户,然后su,进行切换
11. 去除注释和空行
cat /usr/local/nagios/etc/ndomod.cfg |grep -v '^#'|sed /^$/d
12. 字符处理
gawk '/exec success/||/Site/ {print $4}' log-file
查找: grep "要找的字符串" -rl 目录
替换: sed -i "s/要查找的字符串/替换字符串/g" `grep "要查找的字符串" -rl 目录`
注意: 替换中的 grep 命令要被 TAB 键上边的那个引号包起来
13. tar排除某个文件,路径一定是相对的。--remove-files删除源文件
tar zcvf file.tgz filesource --remove-files
tar -zcvf t.tgz t --exclude=t/b --exclude=t/s
14. wget超时参数timeout
15. xargs --help
该工具是将一个命令的标准输出转换为另一个命令的输入参数的一种方便有效的方法。
Usage: xargs [-0prtx] [--interactive] [--null] [-d|--delimiter=delim]
[-E eof-str] [-e[eof-str]] [--eof[=eof-str]]
[-L max-lines] [-l[max-lines]] [--max-lines[=max-lines]]
[-I replace-str] [-i[replace-str]] [--replace[=replace-str]]
[-n max-args] [--max-args=max-args]
[-s max-chars] [--max-chars=max-chars]
[-P max-procs] [--max-procs=max-procs]
[--verbose] [--exit] [--no-run-if-empty] [--arg-file=file]
[--version] [--help] [command [initial-arguments]]
例子
find /usr/local/nginx/sbin -name nginx | xargs -t -i rsync -av {} /opt
rsync -av /usr/local/nginx/sbin/nginx /opt
sending incremental file list
nginx
sent 2668386 bytes received 31 bytes 5336834.00 bytes/sec
total size is 2667989 speedup is 1.00
参数--replace[=marker] -i[marker]
允许将标准输入中的参数放置在command中的任何位置。传递给xargs的command中的任何marker都会被替换为xargs从标准输入中产生的参数。
如果省略marker,则默认为字符串{}
使用--replace参数时,--max-lines将被忽略。
----------------------------------------------------------------------
16. crontab输出
问题:/var/spool/clientmqueue目录占用空间超过100G
原因:cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了/var/spool/clientmqueue目录下的那些文件,日积月累可能撑破磁盘。
解决:1)直接手动删除:ls |xargs rm -f ; 2)彻底解决:在cron的自动执行语句后加上 >/dev/null 2>&1
17. 文件删了磁盘空间没释放
问题:某天发现某台机器df -h已用磁盘空间为90G,而du -sh /*显示所有使用空间加起来才30G,囧。
原因:可能某人直接用rm删除某个正在写的文件,导致文件删了但磁盘空间没释放的问题
解决:
1)最简单重启系统或者重启相关服务。
2)干掉进程
/usr/sbin/lsof|grep deleted
ora 25575 data 33u REG 65,65 4294983680 /oradata/DATAPRE/UNDOTBS009.dbf (deleted)
从lsof的输出中,我们可以发现pid为25575的进程持有着以文件描述号(fd)为 33打开的文件/oradata/DATAPRE/UNDOTBS009.dbf。在我们找到了这个文件之后可以通过结束进程的方式来释放被占用的空间:echo > /proc/25575/fd/33
3)删除正在写的文件一般用 cat /dev/null > file
16、17摘自 <
-----------------------------------------------------------------------