常用Linux命令

获取日期

//获取年月日及时分秒
[root@master ~]# date "+%Y-%m-%d %H:%M:%S"
2019-04-12 13:59:47
//获取当前的秒数
[root@master ~]# start_second=$(date +%s)
//获取90秒后的秒数,数值加减使用两个小括号
[root@master ~]# end_second=$((start_second+90))
[root@master ~]# echo $start_second 
1555048926
[root@master ~]# echo $end_second 
1555049016

awk命令

//grep -v在筛选出的结果排除
[root@master ~]# ps -ef|grep ssh|grep -v grep
root      1174     1  0 Apr10 ?        00:00:04 /usr/sbin/sshd
root     31614 31612  0 Apr11 ?        00:00:00 /usr/libexec/openssh/sftp-server
root     31629 31612  0 Apr11 ?        00:00:00 /usr/libexec/openssh/sftp-server
root     31636 31612  0 Apr11 ?        00:00:00 /usr/libexec/openssh/sftp-server
//输出pid
//`awk '{print $2}'`就是输出第二列
[root@master ~]# ps -ef|grep ssh|grep -v grep|awk '{print $2}'
1174
31614
31629
31636
//wc -l输出结果行数
[root@master ~]# ps -ef|grep ssh|grep -v grep|awk '{print $2}'|wc -l
4

循环数组

[root@master clay]# cat test.sh 
##循环数组需要使用${array[@]}
work_node=(node1 node2 node3)
for node in ${work_node[@]}
do
  echo $node
done
[root@master clay]# sh test.sh 
node1
node2
node3

文本替换

[root@master clay]# cat test.text 
aaa
bbb
ccc
ddd
//sed命令中的分隔符可以用任意符号,但是不能与文本中已有的符号相同
//grep "aaa" -rl /root/clay 意思是替换/root/clay目录下所有的aaa字符串
[root@master clay]# sed -i "s%aaa%爱爱爱%g" `grep "aaa" -rl /root/clay`
[root@master clay]# cat test.text 
爱爱爱
bbb
ccc
ddd

获取脚本所在目录

[root@master /]# pwd
/
[root@master /]# cat /root/clay/test.sh 
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
echo $SHELL_FOLDER
[root@master /]# sh /root/clay/test.sh 
/root/clay

find命令

[root@master /]# find /root/clay  -type f -mtime -2 -name *zookeeper*.sh -exec ls -trl {} \;
-rw-r--r-- 1 root root 260 Apr 12 13:26 /root/clay/k8s_deploy/platform/zookeeper/kubectl-apply-zookeeper.sh
-rw-r--r-- 1 root root 213 Apr 12 13:26 /root/clay/k8s_deploy/platform/zookeeper/kubectl-delete-zookeeper.sh

查看端口是否被占用

[root@node1 ~]# netstat -anp |grep 35432
tcp6       0      0 :::35432                :::*                    LISTEN      32393/kube-proxy 
[root@dpp-plant ~]# netstat   -nultp|grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      15248/java  

防火墙

  1. 查看防火墙已经开放哪些端口
[root@dpp-plant ~]# firewall-cmd --zone=public --list-ports
8069/tcp 80/tcp 8002/tcp 16000/tcp 8666/tcp 8889/tcp 9000/tcp 8886/tcp 8000/tcp 9009/tcp 9999/tcp 8161/tcp 6379/tcp 8008/tcp 8083/tcp 8088/tcp 3306/tcp 2181/tcp 8028/tcp 8080/tcp 50080/tcp 9092/tcp 8001/tcp 8182/tcp 8761/tcp 8091/tcp 8009/tcp 4000/tcp 8070/tcp 9090/tcp 3300/tcp 8089/tcp 8060/tcp 61616/tcp 8888/tcp 8081/tcp 8018/tcp 9300/tcp 8099/tcp 5601/tcp 8181/tcp 8665/tcp 8092/tcp 8090/tcp 4822/tcp 30080/tcp 8038/tcp 8010/tcp 16201/tcp 8093/tcp 9200/tcp 16010/tcp 50070/tcp 5432/tcp 6378/tcp 8095/tcp 8082/tcp
  1. 怎么开启一个端口
[root@dpp-plant ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
  1. 重新载入
[root@dpp-plant ~]# firewall-cmd --reload
success
  1. 查看
[root@dpp-plant ~]# firewall-cmd --zone=public --query-port=80/tcp
yes
  1. 删除
[root@dpp-plant ~]# firewall-cmd --zone=public --remove-port=80/tcp --permanent
success
  1. 查看防火墙状态
[root@dpp-plant ~]# firewall-cmd --state
running

你可能感兴趣的:(常用Linux命令)