zoukankan      html  css  js  c++  java
  • Linux 笔记

    1.shell 四舍五入

    echo 1 |awk 'BEGIN {printf "%.0f ",((51/10))}

    =>5

    echo 1 |awk 'BEGIN {printf "%.0f ",((56/10))}'

    =>6

    2.shell 向上取整

    echo 1 |awk '{print int(100/3)==(100/3)?int(100/3):int(100/3)+1}'

    3.监控命令执行情况

    watch -n 1 ls -l

    4.赋值时,左值包含变量

    例如a='11'

    b_$a=20会报错

    用eval b_$a=20正常

    5.变量传递

    a=10

    b=a

    echo $b 

    =>a

    echo ${!b}

    =>10

    6.shell 16进制相加

    a=0xaa; printf "%x " $(($a+1))
    a=aa; printf "%x " $((16#$a+1))

    7.shell 使用字典

    declare -A dict 声明一个字典
    dict=([n1]=x1 [n2]=x2)
    echo ${dict[n1]} =>由key取value
    echo ${dict[*]} =>取所有的value
    echo ${!dickt[*]} =>取所有的key

    8.shell 合并行

    tr " " ","

    9.字符串截取表达式(仅表达式,不包括awk,sed等语法来截取)

    10.awk if语句

    echo $a|awk -F _ '{if($1=="a"){ print $2}else {print $1}}'

    11.利用${ } 还可针对不同的变数状态赋值(沒设定、空值、非空值):

    ${file-my.file.txt} :假如$file 沒有设定,則使用my.file.txt 作传回值。(空值及非空值時不作处理) 
    ${file:-my.file.txt} :假如$file 沒有設定或為空值,則使用my.file.txt 作傳回值。(非空值時不作处理)
    ${file+my.file.txt} :假如$file 設為空值或非空值,均使用my.file.txt 作傳回值。(沒設定時不作处理)
    ${file:+my.file.txt} :若$file 為非空值,則使用my.file.txt 作傳回值。(沒設定及空值時不作处理)
    ${file=my.file.txt} :若$file 沒設定,則使用my.file.txt 作傳回值,同時將$file 賦值為my.file.txt 。(空值及非空值時不作处理)
    ${file:=my.file.txt} :若$file 沒設定或為空值,則使用my.file.txt 作傳回值,同時將$file 賦值為my.file.txt 。(非空值時不作处理)
    ${file?my.file.txt} :若$file 沒設定,則將my.file.txt 輸出至STDERR。(空值及非空值時不作处理)

    12.awk 求和
    [root@xd]$cat a.log
    1.1
    1.2
    1.3
    2
    3
    4

    [root@xd]$cat a.log |awk 'BEGIN {sum=0} {sum+=$1} END {printf "SUM is :%.2f ",sum}'
    SUM is :12.60

    *BEGIN是在awk开始扫描输入之前执行
    *END是在awk扫描输入完后执行
    *$1是一空格为分隔符,取第一个字段

    13.awk match
    a="qwert 1234"
    echo $a|awk '{print match($0,"qwe")}'
    =>1

    14.qemu起guest
    qemu-system-x86_64
    -name vm_test,process=vm_test,debug-threads=on
    -enable-kvm
    -pidfile /tmp/.vm0.pid
    -daemonize
    -monitor unix:/tmp/vm0_monitor.sock,server,nowait
    #-monitor pty -serial stdio
    -cpu host
    -smp cores=4,sockets=2,threads=2
    -numa node,mem=15G,cpus=0-3,nodeid=0
    -numa node,mem=15G,cpus=4-7,nodeid=1
    -m 30720
    -drive file=/home/centos7.6.img
    #-drive file=/home/centos7.6.img,if=virtio,format=qcow2
    -vnc :30
    #-netdev tap,id=ipvm1,ifname=tap3,script=/etc/qemu-ifup
    #-device e1000,netdev=ipvm1,id=net0,mac=00:cb:dc:db:cf:05
    -nic user,model=virtio,hostfw=tcp::2222-:22
    -machine pc-i440fx-2.1,accel=kvm,usb=off

    ps -T -p `pgrep vm_test` 查看vcpu 线程

  • 相关阅读:
    JAVA 设计模式 备忘录模式
    JAVA 设计模式 职责链模式
    JAVA 设计模式 中介者模式
    JAVA 设计模式 解释器模式
    JAVA 设计模式 观察者模式
    Linux下/usr/bin/python被删除的后果
    selenium 页面超时后捕获异常也无法继续get(url)使用的问题解决方案
    linux批量更改权限
    linux卸载软件
    安装pymysqlpool并使用(待补充)
  • 原文地址:https://www.cnblogs.com/xia-dong/p/11803617.html
Copyright © 2011-2022 走看看