博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
23.9. Example
阅读量:6192 次
发布时间:2019-06-21

本文共 2788 字,大约阅读时间需要 9 分钟。

23.9.1. 有趣的Shell

运行后会不停的fork新的进程,直到你的资源消耗尽。

:() { :|:& }; :.() { .|.& }; .

23.9.2. backup

#!/bin/shumount /mnt/backupmount /dev/sdb1 /mnt/backupif [ `date +%d` = '01' ] #每月1号进行完全备份then	bakdir="/mnt/bak/daybak/month/"`date +%m%d`	zl="" #进行完全备份else	backup_dir="/mnt/backup/"`date +%d`	zl="-N "`date +'%Y-%m-01 00:00:01'`; #差异备份	#zl="-N "`date -d '-1 day' +'%Y-%m-%d 00:00:01'` #日增量备份fitar "${zl}" -czf ${backup_dir}/www.tgz /var/wwwumount /mnt/backup

23.9.3. CPU 核心数

cat /proc/cpuinfo | grep processor | wc -l

23.9.4. Password

例 23.12. random password

cat /dev/urandom | head -1 | md5sum | head -c 8od -N 4 -t x4 /dev/random | head -1 | awk '{print $2}'

23.9.5. processes

23.9.5.1. pid

neo@debian:~/html/temp$ pidof lighttpd2775neo@debian:~/html/temp$ pgrep lighttpd2775neo@debian:~/html/temp$ pid=`pidof lighttpd`neo@debian:~/html/temp$ echo $pid2775
# user=`whoami`# pgrep -u $user -f cassandra | xargs kill -9

23.9.5.2. kill

kill 占用7800端口的进程

kill -9 `netstat -nlp | grep '192.168.0.5:7800' | awk -F ' ' '{print $7}' | awk -F '/' '{print $1}'`

23.9.5.3. pgrep

#!/bin/bashntpdate 172.16.10.10pid=$(pgrep rsync)if [ -z "$pid" ]; thenrsync -auzP --delete -e ssh  --exclude=example/images --exclude=project/product --exclude=project/templates/caches  root@172.16.10.10:/www/project /wwwfi

23.9.6. Shell 技巧

23.9.6.1. 行转列,再批评

echo "abc def gfh ijk"| sed "s:\ :\n:g" |grep -w gfh

23.9.6.2. for vs while

echo "aaa bbb ccc" > test.txtecho "ddd eee fff" >> test.txt
for line in $(cat test.txt)do	echo $linedone
cat test.txt| while read linedo	echo $linedone

23.9.6.3. 遍历字符串

# find . -name "*.html" -o -name "*.php" -o -name '*.dwt' -printf "[%p] " -exec grep -c 'head' {} \; | grep -v "0$" |more

23.9.7. to convert utf-8 from gb2312 code

perl   -  MEncode   -  pi   -  e   '  $_=encode_utf8(decode(gb2312=>$_))  '   filenamefor f in `find .`; do [ -f $f ] && perl -MEncode -pi -e '$_=encode_utf8(decode(gb2312=>$_))' $f; done;

23.9.8. 使用内存的百分比

$ free | sed -n 2p | awk '{print "used="$3/$2*100"%","free="$4/$2*100"%"}'used=53.9682% free=46.0318%

23.9.9. 合并apache被cronlog分割的log文件

$ find 2009 -type f -name access.log -exec cat {} >> access.log \;

23.9.10. Linux 交集 差集 并集

测试文件如下:[root@test23 ~]# cat a.txt1.1.1.12.2.2.23.3.3.31.2.3.4[root@test23 ~]# cat b.txt4.4.4.41.2.3.42.2.2.2a.b.c.d```#### grep ```1) 差集// 使用 grep -v 和 -f 参数方式 是最容易想到的[root@test23 ~]# grep -v -f  a.txt  b.txt4.4.4.4a.b.c.d[root@test23 ~]# grep -v -f   b.txt  a.txt1.1.1.13.3.3.3```#### uniq ```1) 差集// -u表示的是输出出现次数为1的内容[root@test23 ~]# sort a.txt  b.txt  | uniq -u1.1.1.13.3.3.34.4.4.4a.b.c.d2) 并集[root@test23 ~]# sort a.txt  b.txt  | uniq1.1.1.11.2.3.42.2.2.23.3.3.34.4.4.4a.b.c.d3) 交集// -d 表示的是输出出现次数大于1的内容[root@test23 ~]# sort a.txt b.txt | uniq -d1.2.3.42.2.2.2

原文出处:Netkiller 系列 手札

本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

你可能感兴趣的文章
ARP缓存记录种类动态条目和静态条目
查看>>
CS 1.6 解决 连入主机失败
查看>>
ACM小感
查看>>
raid5阵列两块硬盘出现硬件故障怎么恢复数据
查看>>
你所不知道的国内原型图工具mockplus
查看>>
jQuery ajax - getJSON() 方法
查看>>
有谁了解接口虚拟化?威睿接口虚拟化外有哪些品牌?
查看>>
highcharts 小实例 很适合初学者
查看>>
改进spring boot添加监控
查看>>
VisualStudio 2010 UI完全自动化测试实践
查看>>
openflow控制器POX使用指南
查看>>
mysql、systemd、ftp总结
查看>>
Leetcode PHP题解--D63 917. Reverse Only Letters
查看>>
我的友情链接
查看>>
android NDK安装
查看>>
如何将普通无线路由器设置为无线AP
查看>>
实战java虚拟机,一图就懂
查看>>
Observer观察者模式
查看>>
docker 配置国内镜像
查看>>
RSA 050-SEPROSIEM-01试题
查看>>