小伙伴关心的问题:shell的使用(常用shell),本文通过数据整理汇集了shell的使用(常用shell)相关信息,下面一起看看。

shell的使用(常用shell)

本人工作7年左右,结合日常工作给出一些日常用的shell命令,这些命令基本可以覆盖日常工作的80%以上的工作需要。这里不包括具体性能的查看,希望对大家有所帮助。shell我的理解作为日常工具即可,不必做太过深入的要求,但是基本功还是需要掌握的扎实。

1 for 循环

for应该是使用最高频的一个命令了,如果需要处理一些简单的东西 for 循环就足够了

for i in `cat file`;do echo $i ;done

2 awk 按某一列相同变量求和

求和:awk BEGIN{sum=0}{sum+=$1}END{print sum} data.txt

变量:awk -v var=bianliang BEGIN{print var}

3 某一列相加

awk {a[$1]+=$2}END{for(i in a){print i,a[i]}}

4 统计个数

按列统计个数,统计第二列各个阈值内个数的分布。

awk $2>2000{a+=1}$2>=1000&&$2<2000{b+=1}$2>=500&&$2<1000{c+=1}$2<500&&$2>200{d+=1}$2<200{e+=1}END{print ">2000 "a"\n1000-2000 "b"\n500-1000 "c"\n<200-500 "d"\n<200 "e}

5 两个文件 按 列合并

awk NR==FNR{a[i]=$0;i++}NR>FNR{print a[j]","$0;j++} 50host.cp 50hosts

a文件b文件合并1a1,a2b2,b3c3,c

6 两个文件求交集

grep -v -f file1 file2 && grep -v -f file2 file1

但是这个命令比较慢 文件小的时候可以使用

comm 这个命令比较快 需要提前排序

comm -3 file1 file2

7 扫盘

fuser -km /dev/sda3 杀死所有进程

把sda3先umount下来

然后fsck -y /dev/sda3

8 日志清理

find -mtime +3 -name "lock.log.*" -exec rm -rf {} \;

-mtime +3 3天以上 -3 3天以内

{}是find的结果 *** , \;是结束命令

9 sed 修改第几个变量

sed -i "/^ip:.*/{x;s/^/./;/^\.\{1\}$/{x;s/.*/ip:$metaserver_ip_0/;x};x;}

10 shell 中 获取当前所在目录

basepath=$(cd `dirname $0`; pwd)

11 查看线程数

pstree -p `ps -e | grep master | awk {print $1}` |wc -l

更多shell的使用(常用shell)相关信息请关注本站,本文仅仅做为展示!