unix常用命令使用经验

来源:互联网 发布:linux改名命令 编辑:程序博客网 时间:2024/06/05 09:21

sed

sed不支持\d

ssh

ssh同时登录到多台远程机器执行一些命令:
`
for host in hosts_list; do
{
local cmd=”grep \”test\” /home/work/app/log/app.log.*
ssh -o StrictHostKeyChecking=no sld@${host} “${cmd}”
} &
done

wait

echo “all done”
`

git

为git设置代理:
git config –global remote.origin.proxy proxy.domain.name: port

curl

为curl设置代理:
curl -x proxy.domain.name:proxy.port http://target.url/xx

tmux

copy-mode

拷贝屏幕上完整的一行不引入额外的换行符(CR):(这里仅说明绑定vi的快捷键模式)
首先进入copy-mode(Ctrl + B +Esc),然后定位到要拷贝的行(k,j),定位到行尾($),开始选择(v),定位到行头(0),如果原始的行超过了屏幕的宽度,再按一下0定位到原始行头,按下yank键复制(y). 按(Ctrl + B + p)粘贴。

注意:按下v后(即开始选择后),不要通过(k or j)键移动光标,否则yank的buffer中会引入多余的换行符CR。

zsh

WORDCHARS

通过设置这个变量可以自定义一个单词中可以出现的特殊字符如,*?_-[]~=&;!#$%^(){}<>/,尤其是’/’,这个可以帮助我们快速地移动、删除一个目录名,关于zsh中如何更高效地移动光标,可参考man zshzle

插入上一条命令的最后一个参数

这个在日常的工作中是经常用到的。在emacs模式下,可通过按ESC + .实现,在vimcmd模式下,这个快捷键可能没有绑定,我们可在.zshrc或者相关的配置文件中修改:bindkey ‘\e.’ insert-last-word

gdb

之前都是打log调试,这次尝试了下gdb:
1、进入gdb
gdb /path/to/your_pragram
e.g. gdb bin/test
2、设置程序运行参数
set args <arg list>
e.g. set args -d . -f conf/test.conf
3、设置源代码搜索路径
directory /path/to/your_src
e.g. directory ../../data/dev/test
4、设置断点
通过list查看代码行号(list可以指定类名或者函数名作为参数进行代码快速定位)
e.g.

list Test::test
b 101

5、执行程序
run
6、断点中断查看变量
p var
7、单步
step or next
8、继续执行
continue

bash

冒号命令(:)

冒号命令有3中用途:
1、占位符,什么都不做,相当于python中的pass
e.g.
if [[ -f "test" ]]; then
:
fi

2、参数扩展
e.g. : ${WORKSPACE:=./workspace},在WORKSPACE未定义的情况下设置默认值
若WORKSPACE没有声明或者不存在,不使用:命令则报错
3、重定向
e.g. :>tt.txt ,标识清空tt.txt文件

原创粉丝点击