您的位置:首页 > 运维架构

Some useful DevOPS commands

2016-08-09 15:24 253 查看
while [ 1 ]; do sleep 1; ll; done # 无限循环
while [ $i -lt 10 ]; do echo $i;let "i=$i+1"; done # 有限循环
cat raw.txt | while read line; do echo $line; done # readline
until [ 1 = 0 ]; do sleep 1; ll; done # 无限循环,另一中语义
for i in /media/m* ; do ls -l $i; done  # 与目录资源结合
if [ 1 -eq 1 ]; then ll ;fi # test常用判断
if [[ 0 -eq 0 && 1 -eq 0 ]]; then ll ;fi  ## || or  多条件test的写法1  && and  (注意2层中括号)
if [ 0 -eq 0 -a 1 -eq 0 ]; then ll ;fi    ## -o or  多条件test的写法2  -a and
if [ ! -e /tmp/111 -a -z "$a" ]; then ll ;fi   ## 不存在111文件 且a变量长度为0 则执行ll(对应的否定是)


ps -ef | grep java | grep -v eclipse # 查看进程,筛选出java的,排除eclipse的
echo helloworld | tr -d "o"  # 删除字符o,输出 hellwrld
echo 'a:b:c' | tr -s ':' '*'  # 替换字符:为*,输出 a*b*c
echo 'a:b:c' | awk -F ':' '{print $1 "+" $3 "+" $2}' # 按:切分后,按下标调整顺序,空格分割输出。a+c+b
awk -F':' '{print $1}' temp2.log | awk '{ arr[$1]++ } END { for( no in arr) { print no , arr[no] } }' | sort -n -t" " -k 2 -r # 一句话实现group by,这条不细说,自己研究
echo 'a:b:c' | sed -e 's#:#*#g'  # 替换字符:为*,输出 a*b*c


sudo su admin # 切换为admin身份
sudo -u admin kill -9 xxx  # 以admin身份执行kill命令
ps -ef # 查看java进程
zip -9 -p haha -r bak.zip src # 以9级压缩比、haha为密码,压缩src目录,压缩后的文件是bak.zip


ssh -p 1022 root@192.168.1.100  # 从1022端口,以root身份登录到远程
scp -P 1022 openwrt-*  root@192.168.1.100:/tmp/  # 通过1022端口,把openwrt开头的多个文件,传输到远程机器上的tmp目录,以root做为鉴权
rsync -avz -e 'ssh -p 1022' openwrt-* root@192.168.1.100:/tmp/ # 效果基本同上,但是只是增量同步


jstack $PID >> /tmp/jstack.log  # 导出堆栈
jmap -dump:file=/home/admin/jvm.log,live # dump内存数据,必要时可以加上-F强制
jstat -gc pid


## 监听方法调用,保存出入快照
tt -t com.xxx.AbcService list
## 查看1000号快照,对象展开1层打印
tt -x 1 -i 1000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  devops