不得不知道的冷门linux小知识(持续更新中......)

如何使程序后台(关闭终端)运行

例如我要开启一个./test.go启动程序之后在后台运行

1. 使用nohup

nohup ./test.go > ./log 2>&1 &

  • 解释:nohup就是不挂起的意思将test.go直接放在后台运行,并把终端输出存放在当前目录下的log文件中。

2. 使用setsid

setsid ./test.go > ./log 2>&1 &

上面的演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:
disown -h %1

Linux/Mac下批量替换文件中的字符串

MAC下批量替换

方法一:

grep -rl "a" ./testDir | xargs sed -i "" 's/a/-replace-/g'

  • 解释说明:

    • grep -rl "a" ./testDir
    • 在当前路径下的testDir文件夹中匹配所有文件内容中存在字符串a的文件。
    • xargs sed -i "" 's/a/-replace-/g'
    • 将匹配到的文件内容中的字符串a替换成-replace-

方法二:

  • 使用rpl工具替换。

    • 这里我使用的是homebrew安装,如果没有安装homebrew可以先行百度或者谷歌。

注意:如果是Linux系统也可以使用apt安装

  • 安装rpl

brew install rpl

  • 执行替换命令(将当前目录下所有文件内容中存在a字符串的替换成b)

rpl "a" "b" ./*

Linux下的批量替换

  • Linux用户需要注意, OSX上的sed和类似ubuntu这种Linux上的sed是不同的, 要求在sed -i后面跟一个字符串, 用来备份。所以如果是Liux可以写成下面这样

grep -rl "a" ./testDir | xargs sed -i 's/a/-replace-/g'

生成SSH公钥

ssh-keygen -t rsa -C "your_email@youremail.com"

    原文作者:蒋哲
    原文地址: https://segmentfault.com/a/1190000012287032
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞