调试 shell # bash -x script.sh
设置终端背景色 setterm -background black
一、网络
1.网卡状态
mii-tool -v
ethtool eth0
2.网络状态
iptraf netstat htop ifconfig
tcpdump ifup ifdown ifstat
二、文件操作
1.隐含权限操作
将文件与目录区别开 # ls -F
将文件设为不可更改:不可以重命名、删除、修改文本内容 # chattr +i file
将文件设为只可追加 append,不可以被清空或删除行 # chattr +a file
查看文件的隐含权限 # lsattr file
2.工作目录
目录栈压栈、退栈 pushd popd
回到之前的工作目录 cd -
进到家目录 cd ~
3. grep sed awk
前后5行都输出 # grep -C 5 foo file ;当前行及后面5行 # grep -A 5 foo file ;当前行及前面5行 # grep -B 5 foo file ;
只输出被匹配到的字符串 grep -o 使用基础正则 -G 使用扩展正则 -E 使用 Perl正则 -P
打印一列的最后一行 awk -F ' ' '{print $NF}' ;
修改的同时备份文件 sed -i bak -e 's/xx/yy/g' a.txt
4.文件大小
du -sh 或 stat 都可以
out=/usr/local/tomcat-8989/logs/catalina.out; du -sh $out ; echo $[ $(stat -c "%s" $out)/(1024*1024) ] Mb;
5.排序统计
sort -n 按照数字大小排序; -u 去掉重复行; -r 降序排列; -o 用于将排序结果写回源文件,因为字符流重定向 > 会导致文件被清空 ;-t -k -n 结合使用,指定列 指定列的分隔符进行排序 对数字排序; -b 忽略掉每一行前面的空白字符; -f 在排序时,忽略大小写; -C 检查文件是否已经被排序,乱序返回1;
tsort uniq wc
ls -S 文件按大小降序输出 -F 区分出目录与文件 -h 易读格式输出 -r 反转输出
创建临时文件 mktemp: (coreutils)mktemp invocation. Create temporary files.`
搜索被压缩的文件 zgrep
格式化 fmt 分割 split 粘贴paste
6.字符操作
字符串长度 expr length $a 或 echo ${#a}
7.上传下载
curl 选项
-s,--silent 安静模式
-I,--head 只返回报文头
--max-filesize <bytes>最大文件大小
-m,--max-time <time> 整个操作最多允许时长
-o,--output <fileName> 指定输出文件名
-w,--write-out <format> 输出指定的curl相关变量
案例:获得响应状态码
curl -I --output /dev/null --silent --write-out '%{http_code}' www.baidu.com
wget -b 后台下载(脱离终端) -o <logfile>日志文件 -P <prefix> 目录前缀
scp -P 指定端口 -i 指定私钥文件
8.算数运算
计算变量a乘以变量b
方式1 expr $a * $b 需要空格分隔、仅在乘法运算时符号*需要被转义 、doller符号必须加上;
方式2 $((a+b))
方式3 $[a*b]
方式4 echo "scale=3;1.5+1.66" | bc -l
方式5 let c=$a**$b;echo $c; 声明变量c 等于 变量的变量b次方
9.RPC 相关
ipcs 查看进程间通信信息
ipcrm 删除进程通信信息
lsipc 列出进程间通信信息
二、系统状态命令
lshw列出硬件
lsof 列出被打开的文件
查询接口状态 ifquery
查看操作系统架构 arch
ipptool
iperf
ipmaddr
nproc 或 getconf -a | grep _NPROCESSORS_ 操作系统的处理器数量
启动时间uptime
mpstat vmstat iostat ifstat iptraf htop top free df
tload dstat sar tload pidstat iostat
pmap
pstree ldconfig
5.查看进程信息
ps
pgrep
pidof
regex
signal
kill
killall
skill
pkill
renice
nice
6.资源限制
ulimit
sysctl