1. 标准输出和错误重定向
./main >> log.txt 2>&1./main 指的是命令行执行的程序指令
>> 指的是追加写入文件,如果要覆盖写入的话使用 >
log.txt 指的是重定向的文件,不在控制台输出显示,直接输出到该文件之中
2>&1 指的是标准输出和标准错误都输出到文件,如果不加这个限制,只有标准输出会定向输出到文件,警告和错误提示仍然输出到控制台显示。
2. 截取字符串
在 BashScript 中,pattern 是 glob 风格的
${var/pattern/substr} :首次。查找var所表示的字符串中,第一次被pattern所匹配到的字符串,以substr替换之。
${var//pattern/substr} :全部。查找var所表示的字符串中,所有能被pattern所匹配到的字符串,以substr替换之。
${var/#pattern/substr} :行首。查找var所表示的字符串中,行首被pattern所匹配到的字符串,以substr替换之。
${var/%pattern/substr} :行尾。查找var所表示的字符串中,行尾被pattern所匹配到的字符串,以substr替换之。
3. 获取可用处理单元数量
$ nproc
用于检测可供当前进程使用的处理单元数量
$ nproc --all
展示所有已经安装的处理单元数量
$ make -j `nproc`
多进程编译
4. apt 安装指定版本的软件或依赖库
$ sudo apt-get install <package name>=<version>
5. 修改用户登录密码
$ passwd user_name
(Current) passwd:
(New) passwd:
(Retype new) passwd:
参考资料
[1] Ubuntu通过apt-get安装指定版本和查询指定软件有多少个版本 https://www.cnblogs.com/EasonJim/p/7144017.html