【Linux】一些命令

1、后台命令

Ctrl + Z 程序站位后台运行

bg 查看后台运行程序

fg 序号  调到前台

2、shell中执行命令并将结果赋值给变量

variable=$(command)

3、字符串替换

  • 脚本替换

  • vim编辑 末行命令替换

  • 将\N替换成空格或者空
#将字符串\N换成空或空格

    #将\N替换成空
    cat tmp.txt |sed ':jix;N;s/\\N//g;b jix'

    #将\N替换成空格
    cat tmp.txt |sed ':jix;N;s/\\N/ /g;b jix'

#将换行换成空或空格

    #将\N替换成空格

    echo `cat tmp.txt`

    cat tmp.txt | xargs

4、字符串截取

  • 使用 # 号截取右边字符(如果希望直到最后一个指定字符(子字符串)再匹配结束,那么可以使用##
url="http://c.biancheng.net/index.html"
echo ${url#*:}

结果为//c.biancheng.net/index.html 

  • 使用 % 截取左边字符(截取左边的  *要写在指定字符右边)(如果希望直到最后一个指定字符(子字符串)再匹配结束,那么可以使用%%)

url="http://c.biancheng.net/index.html"
echo ${url%/*}  #结果为 http://c.biancheng.net
echo ${url%%/*}  #结果为 http:

*是通配符的一种,表示任意长度的字符串。*chars连起来使用的意思是:忽略左边的所有字符,直到遇见 chars

5、if条件判断

6、shell按照指定符号切分字符串

[root@znrmdapp1 rmdDataFlow]# cat tmp.sh
#!/bin/bash
string="hello,shell,haha"
array=(${string//,/ })
echo ${array[0]}
echo ${array[1]}
echo ${array[2]}
[root@znrmdapp1 rmdDataFlow]# . tmp.sh 
hello
shell
haha
[root@znrmdapp1 rmdDataFlow]# 

6、shell判断文件目录或文件是否存在

当前目录下是否存在目录jar

if [ -d "jar" ];
then 
    echo "yes"
else
    echo "no"
fi

当前目录下是否存在文件jar.sh

if [ ! -f "jar.sh" ];
then
    echo "no"
else
    echo "yes"
fi

判断hdfs目录是否存在

dir=/test
hadoop fs -test -e $dir 
if [ $? -ne 0 ]; then
   echo "Directory not exists!"
   hadoop fs -mkdir -p $dir
else
   echo "exists"
fi

7、Linux 查看服务器开放的端口号

Linux 查看服务器开放的端口号

猜你喜欢

转载自blog.csdn.net/qq_44065303/article/details/112553849