工作三年半, 零零碎碎用过很多也写过很多脚本。不是科班出身所以bash基础不是很好 每次写都要东查西查的。是时候写一个给自己的cheat sheet了。
以下所有脚本都试用与MAC 大部分适用于centos。 如有错误跪谢指出。
系统相关:
1 找出占用 27017 的进程,并杀掉
这里的-t表示只输出pid number
xargs 是什么玩意? http://man.linuxde.net/xargs
awk是什么玩意? (随手一查AWK 这么大学问)https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html
lsof -ti:27017 | xargs kill
同样我们可以用另一种更加强大的方法 ps aux
(错误)ps aux | grep "redis-server" | awk '{print $2}' | xargs kill
上面这个是错的 因为始终会返回grep的进程 虽然did the job 但会返回无法找到这个进程 (权限问题?)以下命令works
ps aux | grep "6379" | grep -rv "S+" |awk '{print $3}' | xargs kill
2 如何开放指定命令sudo权限,让其他用户不用输入sudo密码
sudoers
https://blog.csdn.net/Field_Yang/article/details/51547804
命令行相关
1 如何在bash 脚本中输入sudo的密码
问题 每次需要sudo权限的命令 扔到bash中都会出现问题,怎么自动输入密码
?
echo "123" | sudo $PATH_TO_ES/bin/elasticsearch -d
结果不太consistent
Introduce -S arg
-S The -S (stdin) option causes sudo to read the password from
the standard input instead of the terminal device. The
password must be followed by a newline character.
搞定
echo "123" | sudo -S $PATH_TO_ES/bin/elasticsearch -d