linux 常用简单命令

1.ps获取dhcpd进程状态

ps -aux |grep dhcpd |grep -v grep  排除包含grep的那条进程

ps -aux |grep dhcpd |grep -v grep |awk -F " " '{print $2}' 获取进程号

2.执行命令输出在控制台的同时也输出到文件中 ----tee

  有时候,我们不仅想在控制台看到shell脚本或者命令执行的日志,也想将日志输入到文件中处理,此时用tee命令即可。命令: sh test.sh | tee log_tmp

3.grep 完全匹配

(1)头匹配^: grep  -v "^r7.0"

(2)结尾匹配$:grep "r7.0$"

(3)完全匹配:grep "^r7.0$"

(4)完全匹配:grep -w "test" test_file

4.gitk 图形化形式提交

在git bash下执行

 5.sed 替换指定行内容

sed -i "45c versionCode: $versionCode\," test.gradle
sed -i "46c versionName: \"$versionName\"" test.gradle
sed -i "2c VERSION := '$versionCode'" test.txt

6.sz发送文件到本地,rz上传本地文件到linux机器

sz $file_name

参考:https://www.cnblogs.com/wangyuelang0526/p/5057154.html

rz 后会跳出让你选择本地文件的界面,选择好以后就会自动上传到你的linux当前路径,适合文件比较小的上传

7.是否包含某个字符

have_flag=`echo "$string1" |grep "$string2"`   (比如:have_flag=`echo "a,b,c" |grep ","`)

[  "x$have_flag"  == "x"  ] && echo not include

 8.查看centos的版本号:

  cat /etc/redhat-release

9.判断文件夹是否为空

if [  -d $dir  ] && [ "x`ls $dir`"  != "x" ] ;then ..... fi

10.字符串大小写转换

命令:tr/sed/awk

11.ssh连接远程主机执行脚本的环境变量问题

http://www.kuqin.com/shuoit/20141113/343188.html

现象:ssh调用远程脚本,出现环境变量JAVA_HOME失效的问题。

把  ssh root@192.168.1.2 "cd /root/usr/local ; sh test.sh " 修改成:

ssh root@192.168.1.2 ; cd /root/usr/local; sh test.sh ; exit 

12.计算字符串的长度

s_part="abdcd"

length_fit=`echo ${#s_part}`

13.参数过多时数组方式获取


getVarName(){
    vnames=$*
    echo "parameters is ${vnames}"
    declare -A dic
    namesArr=(${vnames//,/ })
    for parameter in ${namesArr[@]}
    do
        nameArr=(${parameter//:/ })
        dic+=([${nameArr[0]}]=${nameArr[1]})
    done
A=${dic["A"]}
B=${dic["B"]}
C=${dic["C"]}
}
getVarName $*
echo A=$A,B=$B,C=$C

14.兼容mac和linux的sed

export xsed=sed #linux

[ "$(uname)" == "Darwin" ] && export xsed=gsed  #mac

xsed -i 's/test/hello/g' test.txt

原文地址:https://www.cnblogs.com/zndxall/p/8075310.html