备忘:命令行界面乱码的处理
在ssh时不小心 cat 或 tail 过 二进制文件,界面显示变成乱码。
输入什么和在什么路径都不鞥正常显示。解决办法如下
Ctrl
+V
然后 Ctrl
+O
, 回车
参考来源:
https://blog.csdn.net/chengxuyuanyonghu/article/details/39478447
在ssh时不小心 cat 或 tail 过 二进制文件,界面显示变成乱码。
输入什么和在什么路径都不鞥正常显示。解决办法如下
Ctrl
+V
然后 Ctrl
+O
, 回车
参考来源:
https://blog.csdn.net/chengxuyuanyonghu/article/details/39478447
内网两台linux的设备之间传大约100G的文件,以前的土法是win10上分别打开两台机的 SMB目录,然后复制黏贴。
得到的网速大约是 50M/s左右。
那么我在想,是不是因为经过我win中间转发上下行让速度折半了呢?
如果让两台linux直接对传,是不是速度会更接近千兆局域网的100M/s 理想速度呢?
运行了几个python后台守护进程,需要重启的时候不能简单 killall python
很容易会误杀其他服务
所以备忘以下的脚本
已验证有效
#!/bin/sh
function PidFind()
{
PIDCOUNT=`ps -ef | grep $1 | grep -v "grep" | grep -v $0 | awk '{print $2}' | wc -l`;
if [ ${PIDCOUNT} -gt 1 ] ; then
echo "There are too many process contains name[$1]"
elif [ ${PIDCOUNT} -le 0 ] ; then
echo "No such process[$1]!"
else
PID=`ps -ef | grep $1 | grep -v "grep" | grep -v ".sh" | awk '{print $2}'` ;
echo "Find the PID of this progress!--- process:$1 PID=[${PID}] ";
echo "Kill the process $1 ...";
kill -9 ${PID};
echo "kill -9 ${PID} $1 done!";
fi
}
#查找并kill掉 带有 newdoc.daemon 名称的进程
PidFind newdoc.daemon
#restart daemon
/path/to/startscript/chkdaemon.sh
当搜索结果不唯一时,脚本也会拒绝执行杀进程
参考文:https://jingyan.baidu.com/article/b7001fe1a5dbc40e7382dd75.html
按客户要求校正某些数据
array_name=(item1 item2 ... itemN)
使用时 array_name[N]
用到了 for 和 while,格式分别是
for [表达式];do
done
和
while [表达式];do
done
有awk之类几种方法,我用了最偷懒的。
先确保字符串变量本身没有奇怪的字符,只有阿拉伯数字(参考下文lines)
在进行逻辑运算的关键位置用 $(()) 包裹变量声明为数值
随机读10行
shuf -n 10 input_filename
最近下载一个资源,资源组规避云盘的自动审核规则,把全部的 mp4文件 改名为 .mp 几百个文件需要一个个手改太败兴。备忘一下怎么处理
在win10,可以进用bash 当做ubuntu操作,美滋滋。
开始之前,再次
进入指定路径,执行以下指令
递归查找 .mp 文件重命名为 .mp4
find . -name '*.mp' -type f -print -exec mv {} {}4 \;
参数记忆:
-type f 只查找文件类型,忽略文件夹
-print 输出包含完整路径
-exec 把前面的结果 赋值给后面的变量 {} ,且执行后面的子命令,直到 \;
结束
语法解读:
查找当前路径下 所有的 *.mp ,对符合的【文件】执行 重命名为 "原文件名4" 的操作
批量删除 .tmp 文件
find . -name '*.tmp' -type f -print -exec rm {} -f \;