记录linux日常使用过程中的一些使用方式、记录,比较少用的、少见的一些问题及解决方法。
平时使用linux遇到的比较少见的问题及解决方法,便于后期再次遇到。
Shell命令 删除特殊字符的目录、文件 程序开发中经常使用配置文件,然后在程序中引用使用,但是如果配置参数没有定义,则程序不能正确替换,就会生成一些特殊字符的目录、文件,例如: ${app.conf.name} 文件名的文件,使用rm -rf {app.conf.name} 删不掉。需要使用转义字符删除。
1 [lehoon@lehoon ~]$ rm -rf \$\ {app.conf.name\}/
计算数组大小 1 2 3 4 5 6 7 8 OLD_IFS ="$IFS " IFS =" " nginx_pid =$(ps -fe | grep ./nginx | grep -v grep | awk '{print $2}' )nginx_pid_array=($nginx_pid ) nginx_pid_len =${#nginx_pid_array[@]} echo nginx进程已经启动成功,进程数为 $nginx_pid_len IFS ="$OLD_IFS "
判断tomcat是否启动成功 通过查进程检查tomcat是否启动成功,通过curl查询应用的http状态码判断应用是否启动成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ps -u lehoon | grep -E "java" if [ $? != 0 ]then su - lehoon -c "sh $tomcat_home/bin/startup.sh" sleep 30 tomcat_status=`curl -I -s -w "%{http_code}" -o /dev/ null http:// 192.168 .1.178 :8080 /systemName` if [ $tomcat_status -eq 200 ] ;then echo "tomcat,应用启动成功" else echo "tomcat,应用启动失败" fi; else echo "tomcat程序已存在" exit 1 fi
执行命令提示free: /opt/SoftwareAG/Apama_5.3/lib/libz.so.1: no version information available (required by /lib64/libdw.so.1) 需要把环境变量lib增加
1 export LD_LIBRARY_PATH =/usr/lib 64:/usr/lib :/lib :/lib64 : $LD_LIBRARY _PATH
普通用户新建crontab任务 一般使用root创建定时任务,普通用户创建后保存失败。 解决方法:使用root创建定时任务,增加指定用户。
1 [root@lehoon -server001 ~]# crontab -u lehoon -e
编辑完保存,然后切换到lehoon用户,使用crontab -l查看创建的定时任务。
vi修改文件格式 日常使用window上传到linux下的shell文件中有回车换行符,在linux下会显示^M导致shell解析错误。 使用vi打开文件,然后通过:set ff?查看文件编码格式,在通过:set ff=unix或者:set ff=doc修改格式。
检查文件组和用户 在linux下使用crontab+shell脚本定时检查文件夹属性group、user是否是指定用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #!/bin/sh path=/var/lib/php/session group_name=$(stat -c%G ${path} ) user_name=$(stat -c%U ${path} ) datetime=`date +%Y-%m-%d-%H-%M-%S` if [ "$group_name " www != "nginx" www ]; then chown -R nginx:nginx /var/lib/php/session echo "[${datetime} ] group_name is not nginx" >>/data/yunwei/yunwei.log else echo "[${datetime} ] group_name is nginx" >>/data/yunwei/yunwei.log fi if [ "$user_name " www != "nginxwww" ]; then chown -R nginx:nginx /var/lib/php/session echo "[${datetime} ] user_name is not nginx" >>/data/yunwei/yunwei.log else echo "[${datetime} ] user_name is nginx" >>/data/yunwei/yunwei.log fi
<
金融信息交换fix协议文档
openjdk1.8中的Makefile
>