shell的一些命令

shell的一些命令

1.egrep命令

grep -nrs yqy ./

查找当前目录(以及子目录)下文件中“yqy”,显示行号。

egrep -nrs “yqy|yu-qy” ./

查找当前目录(以及子目录)下文件中“yqy”或者“yu-qy”,显示行号。
egrep命令支持正则

2.find命令

find ./ -type f !-name "*.sh" | xargs md5sum > ./yqy.md5

计算当前目录下,“.sh”的文件的MD5值

3.awk命令

ls ./ | awk "!/yqy/&&/xxm/"

筛选出包含“xxm”但是不包含“yqy”的
awk命令支持正则

grep -v "yqy"

筛选出不包含“yqy”的

4.tcpdump 命令

tcpdump -i rmnet_data0 -v -w ./yqy.pcap

tcpdump抓包
-i rmnet_data0(网卡名)
-v (实时显示进度)
-w ./yqy.pcap (转存文件路径)

#!/bin/bash

function Select_ifconfig()
{
while [[ "" = $ifconfig_result ]]
do
ifconfig_result=""
sleep 0.2 
ifconfig_result=`ifconfig | grep rmnet_data1`
done
echo -e "\033[33m$ifconfig_result\033[0m"

return 0
}

echo Start_Select_ifconfig
Select_ifconfig $@
tcpdump -i  rmnet_data1 -v -w /oemdata/1.pcap
sync

上面脚本在刚刚拨号成功时,就开始抓rmnet_data1网卡的数据包。

5.nc 命令

nc 101.202.303.404 6666 -w3 -e echo

nc命令和ping命令类似,但是网站的防ping阻止不了nc

6.netstat 命令

netstat –atnplu

显示各个网连状态

7.pc命令

ps - efT

显示线程

ps - o comm,rss

只显示进程名和其占有内存大小。

8.zip命令

zip -r ./yqy.zip ./xxm_1.log ./xxm_2.log

压缩生成 yqy.zip

unzip ./yqy.zip -d ./xxm/

解压yqy.zip到./xxm/目录下

8.tar命令

tar -cvf ./yqy.tar ./xxm_1.log ./xxm_2.log

压缩生成 yqy.tar

tar -xvf ./yqy.tar -C ./xxm/

解压yqy.tar到./xxm/目录下

9.7za命令

7za -p123456 -r a ./yqy.7z ./xxm_1.log ./xxm_2.log

压缩生成 yqy.7z

7za x ./yqy.7z -p123456 -o./xxm -aoa

解压yqy.7z到./xxm/目录下

密码123456

10.read命令

	read -t 10 -n 1 -p "Continue?[y/n]? " answer
	case $answer in
	Y|y)
		echo -e "\033[33m Continue~\033[0m "
		;;
	N|n)
		echo -e "\031[31mFail and out\033[0m "		
		exit 1
		;;
	*)
		echo -e "\031[31mPlease input y/n \033[0m "	
		;;
	esac

-t 10 (10s超时)
-n 1 (允许输入1个字符)

11.if命令

if [ "$#" -ne 3 ] && [ "$#" -ne 2 ]; then
	echo -e "\033[31m Arg?\033[0m"
else
	echo -e "\033[33m OK!\033[0m"
fi

判断"$#"(参数个数)不等3,且不等2

if [ -d xxm ] ;then 
	cd ./xxm/
fi

判断目录存在

if [ "-m" = "$1" ];then
	echo -e "\033[33m Arg1: -m \033[0m"
fi

判断字符相同

你可能感兴趣的:(语言基础)