shell 经典常用命令

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁;Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。

Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

第一行通常指定脚本解释器

#!/bin/bash

1..从日志定位问题,进行排序

sort 默认是以ascII字符为依据排序,数字的话得用-n   -r 降序排列 -u 去除重服  -k 以第几列为以准排序

cat x.log|sort -t " " -k2

2.查看cpu和内存前10

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

3.根据访问数量进行排序

awk -F " " '{print $1}' bs.service.access.log|sort|uniq -c|sort -n

4.批量kill进程

ps aux|grep gzip|awk '{print $2}'|xargs kill -9

5.获取向脚本传递的参数

while getopts "s:" arg
do
    case $arg in
            m) usage;;
            h) usage;;
            ?) usage;;
     esac
done

6.批量读取文件并且赋值给变量

while read line

do

   grep -q "$line" 2.txt

   [ $? -eq 0 ] && echo "$line [contained in 2.txt]"

done <1.txt

6.AWK脚本

awk -F分隔符 'BEGIN { 初始化 } { 循环执行部分 } END { 结束处理 }' file_list1 file_list2

awk 'NR==FNR{x[$0];next}{for(i in x)if($0~i)print}' a b

7.比较两个文件的异同

统计两个文本文件的相同行  grep -Ff file1 file2

统计file2中有,file1中没有的行  grep -vFf file2 file1

一行中部分内容相同的情况    grep -wf  file1 file2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值