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

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

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

1. 使用nohup

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

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

2. 使用setsid

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

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

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

MAC下批量替换

方法一:

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

  • 解释说明:进程

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

方法二:

  • 使用rpl工具替换。homebrew

    • 这里我使用的是homebrew安装,若是没有安装homebrew能够先行百度或者谷歌。

注意:若是是Linux系统也能够使用apt安装rem

  • 安装rpl

brew install rpl字符串

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

rpl "a" "b" ./*test

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"

相关文章
相关标签/搜索