shell
search_star
个人博客seekstar.github.io
展开
-
Shell获取某路径所在设备的名字
df <your-path>Filesystem 1K-blocks Used Available Use% Mounted on/dev/vdc1 419224580 119587168 299637412 29% /data参考文献:https://stackoverflow.com/questions/38615464/how-to-get-device-name-on-which-a-file-is-located-from-its-path-in原创 2021-08-23 14:43:50 · 187 阅读 · 0 评论 -
shell去掉输出的末尾换行符
用echo -n $(you_command)即可。比如:echo -n $(echo test)输出:[searchstar@localhost ~]$ echo -n $(echo test)test[searchstar@localhost ~]$原创 2021-08-19 17:37:27 · 3561 阅读 · 1 评论 -
vim当文件脏时才写入
转载自:https://stackoverflow.com/questions/14834273/stop-vim-from-saving-a-file-if-content-has-not-changed把:w换成:up,即:update翻译 2020-12-07 15:47:00 · 100 阅读 · 0 评论 -
vim批量缩进指定个空格
参考网址:https://www.zhihu.com/question/28169767常规方法是修改.vimrc中的sw,然后使用>或者<来缩进。如果只是临时需要,比如只需要缩进一格,可以使用vim的norm命令,方法如下。批量右移n格以右移一格为例。shift+v进入行选择模式,选完了需要缩进的行之后,输入冒号:,然后vim会自动把'<,'>加上,像这样:'...原创 2020-02-13 00:29:01 · 3611 阅读 · 2 评论 -
vimrc文档
在vim中输入:options然后里面就有各种选项的解释。原创 2020-08-05 17:40:49 · 121 阅读 · 0 评论 -
shell交换stdout stderr
比如这个脚本myscript.sh:#!/bin/shecho "I'm stdout";echo "I'm stderr" >&2;交换它的stdout和stderr可以这样做:(sh myscript.sh 3>&2 2>&1 1>&3-) 2>/dev/null(sh myscript.sh 3>&2 2>&1 1>&3-) >/dev/null I'm stderrI'翻译 2021-08-04 01:43:14 · 261 阅读 · 0 评论 -
tmux基础用法
详细教程:https://www.ruanyifeng.com/blog/2019/10/tmux.html新建会话tmux底下的状态栏里最左边方括号里的就是自动分配的会话名称。也可以手动指定会话名称:tmux new -s <session-name>关闭当前会话Ctrl+d或者输入exit。分离会话Ctrl+b d,或者输入tmux detach查看所有会话tmux ls接入会话接入上一个会话,如果没有就新建会话:tmux attach接入指定会话:原创 2021-07-20 16:20:33 · 980 阅读 · 0 评论 -
less刷新内容
手动刷新:G即shift+g自动定时刷新:F即shift+f参考:https://unix.stackexchange.com/questions/4351/is-there-a-way-to-dynamically-refresh-the-less-command原创 2021-07-01 17:07:34 · 703 阅读 · 0 评论 -
shell在变量中存储多行输出
其实直接res=$(echo -e "abc\ndef")即可。但是输出时不能直接echo $res这样只会输出abc def正确做法是echo "$res"abcdef原文:https://stackoverflow.com/questions/613572/capturing-multiple-line-output-into-a-bash-variable/613580...翻译 2021-05-18 23:29:44 · 2011 阅读 · 1 评论 -
shell覆盖命令的返回值
比方说在set -e的脚本里面,如果提前知道一个命令会返回非零值,但是又想让脚本继续执行下去,那就需要把命令的返回值覆盖成0。shell里true命令的返回值是0,false命令的返回值是1,因此如果要把命令的返回值覆盖成0,那么Command || true如果想覆盖成1,那么Command && false吐槽一下,shell的true和false跟C语言相反真的好诡异。。。参考文献:https://stackoverflow.com/questions/3613029原创 2021-04-14 12:33:53 · 171 阅读 · 0 评论