shell:date 日期处理

https://zclhj.top/2022/08/15/linux%e5%91%bd%e4%bb%a4%ef%bc%9adate/ 用途 用于显示或设置系统的时间与日期 语法格式 date 用法 查看系统当前时间 # 默认格式 $ date Tue Aug 16 05:40:32 CST 2022 # 按照 年-月-日 时:分:秒

shell:if判断中各种(-a到-z)选项的意思

如果 FILE 存在则为真。 如果 FILE 存在且是一个块特殊文件则为真。 如果 FILE 存在且是一个字特殊文件则为真。 如果 FILE 存在且是一个目录则为真。 如果 FILE 存在则为真。 如果 FILE 存在且是一个普通文件则为真。

ant命令传参值带美元符被转义导致执行不达预期

背景 gitlab流水线自动执行sql,使用的是 python 脚本里通过 os.system 包执行 ant 命令行方式进行调用,python 对传参进行一些处理,然后拼接命令cmd传入 os.system; 传参中,有个参数是数据库密码,DBA在创建数据库用户时,密码是随机生成的,有时候会包含美元符“$”,美元符在shell中调用 ant 命令行会被当成一个变量,导致密码不对,连接数据库被拒绝

shell:条件表达式

条件表达式执行格式 格式: 与方括号前后各有一个空格 若表达式成立,则返回0,不成立则返回非0。 文件测试语句 运算符及其作用 运算符 作用 -d 测试文件是否为目录类型 -e 测试文件是否存在 -f 判断是否为一般文件 -r 判断当前用户是否有权限读取 -w 判断当前用户是否有权限写入 -x 判断当前用户是否有权限执行 测试示例 # 判断 /etc/fstab 是否是一个目录,

shell:用户参数

Linux shell脚本内设了用于接收参数的变量,变量之间用空格间隔。 $0:当前shell脚本程序的名称 $#:对应总共有几个参数数量 $*:对应的是所有的参数值 $?:显示上一次命令的执行返回值 $1、$2、$3...:对应第 N 位参数的值 # cat test.sh #!/bin/bash echo "当前脚本名称为:$0" ec

查找CPU占用最高的进程

topcpu.sh #!/bin/bash # @Function # TOP CPU Thread INFO. # # # PROG=`basename $0` usage() { cat <<EOF Usage: ${PROG} ... Java top cpu print the stack of these threads. Example: ${PROG} -

ssh免密登录配置

需求是从A机器批量执行远程 BCDEF..等机器的重启服务脚本,需要免密登录。 老的操作系统 RHEL 用的是 ssh-rsa 的加密,新的用的是 ecdsa-sha2-nistp256 的方式,两者只是加密类型不一样,免密配置的操作都是一样的,如下: 在A机器,执行 ssh-keygen -t ecdsa -t 指明类型,有的机器 是 rsa 会在 ~/.ssh/ 目录下生成 id_ecdsa

挖矿脚本(仅学习分析用)

生产服务器碰到过一次异常,核心N多台机器,CPU直接飙满,发现叫 dbused 异常进程,获取到有个进程一直在访问一个远程脚本,脚本内容如下: #!/bin/bash SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin setenforce 0 2>/dev/null ulimit -u 50000 sysctl -w vm.nr_hugep