概述
系统查看:
测试CPU是小端序还是大端序:
#1为小端模式,0为大端模式
echo -n I | od -o | head -n1 | awk '{print $2}'| cut -c6
#或通过lscpu命令,显示 Little Endian / Big Endian
lscpu | grep 'Byte Order'
查看CPU是32位还是64位:
#显示架构名称,如x86_64、ppc等
uname -m
#或通过lscpu命令显示架构名称
lscpu | grep 'Arch'
--
数学运算:
16进制数字转10进制:
#16进制转10进制
((num=0x11)); echo $num
#10进制转16进制
echo "obase=16;17"|bc
--
进程操作:
根据进程名使用进程pid,如果多个进程用空格分割pid:
echo `ps aux | grep ProcName | grep -v 'grep' | awk '{print $2}'`
或
echo `pgrep ProcName`
根据进程名使用多个进程pid,多个进程用-p分割pid:
echo `ps aux | grep ProcGroupName | grep -v 'grep' | awk '{print "-p " $2}'`
或
echo `pgrep ProcGroupName | awk '{print "-p " $1}'
非交互使用top,显示某个进程的信息3次,然后退出:
top -b -n 3 -p $pid
--
网络操作:
获取本机ipv4地址:
echo `ip a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|head -1|cut -d / -f 1`
--
字符串操作:
将字符串用空格分割并取第2、3、4个字段:
echo $str | cut -d ' ' -f 2,3,4
将字符串用空格分割并取最后一个字段:
echo $str | rev | cut -d ' ' -f 1 | rev
将字符串用空格切分为数组用于for循环:
echo "1 2 3" | cut -d ' ' -f 1-
删除字符串开头末尾中间的空格和末尾的换行:
echo -n " 12 34 56 " | sed s/[[:space:]]//g | wc -c
#6
只是删除行尾的换行:
echo "sss" | xargs echo -n
将零字符替换为换行:
sudo cat /proc/$pid/environ | tr '