shell问题记录

shell基础不扎实,写个文档记录下

  • 系统时间格式化:`date +%Y%m%d%H%M%S`;
  • 进到当前脚本所在目录:cd `dirname $0`;比如说在脚本目录执行返回.在上级目录执行返回./xx;
  • 脚本中执行`pwd`显示的是执行该条命名时的相对位置和脚本路径无关;
  • 通过source 或 . 来加载配置文件参数到当前脚本,如果使用” . "执行,则程序继承当前shell中的环境变量,同时,若在程序中改变了当前shell中的环境变量(不使用export),则当前shell中该环境变量的值也会改变,配合使用如下;
#获取当前脚本所在位置
base_path=`pwd`

#通过source 或 . 来加载配置文件参数到当前脚本
. ${base_path}/log_cut_config.sh
  •  chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符;
  • mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录;
  • 文件比较运算符
    -e filename  如果 filename存在,则为真  [ -e /var/log/syslog ]
    -d filename  如果 filename为目录,则为真  [ -d /tmp/mydir ]
    -f filename  如果 filename为常规文件,则为真  [ -f /usr/bin/grep ]
    -L filename  如果 filename为符号链接,则为真  [ -L /usr/bin/grep ]
    -r filename  如果 filename可读,则为真  [ -r /var/log/syslog ]
    -w filename  如果 filename可写,则为真  [ -w /var/mytmp.txt ]
    -x filename  如果 filename可执行,则为真  [ -L /usr/bin/grep ]
  • hostname和hostname -i的区别,前者返回的是自己起的主机名比如nn1.hadoop后者返回的是ip地址;
  • ps -aux显示资源进程
  • 以<< EOF作为标准输入字符,以EOF为标准输入结束
  • nohup和&的区别

    & : 指在后台运行

    nohup : 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

    &是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出

    那么,我们可以巧妙的吧他们结合起来用就是
    nohup COMMAND &,这样就能使命令永久的在后台执行

    1. sh test.sh &  
    将sh test.sh任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但标准输出和标准错误信息会丢失(缺少的日志的输出)

    将sh test.sh任务放到后台 ,关闭xshell,对应的任务也跟着停止。
    2. nohup sh test.sh  
    将sh test.sh任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。
    3. nohup sh test.sh  & 
    将sh test.sh任务放到后台,但是依然可以使用标准输入,终端能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

  • 压缩文件 gizip /xx/xxx.log

    /usr/bin/gzip ${NGINX_LOG_WORK_PATH}/${log_file_name}.log
    
    chown ${LOG_USER}:${LOG_USER} ${NGINX_LOG_WORK_PATH}/${log_file_name}.log.gz

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值