linux使用技巧(shell/vi/screen)
1,Shell
bash > awk '{print {NF}}' file
此时想修改操作命令可参照下面快捷方式
ctrl a 光标移动到命令最前面
ctrl e 光标移动到命令最后面
ctrl f 光标向右移动一个字符
ctrl b 光标向左移动一个字符
alt b 光标向左移动一个单词
alt f 光标向右移动一个单词
ctrl u 从光标所在处开始删除字符,直到行首
ctrl k 从光标所在处开始删除字符,直到行尾
ctrl w 删除光标前的一个单词
ctrl y 恢复删除的字符
ctrl l 清屏
2,Vim
14G 移动到14行 上下两行合并(J) 删除当前字符到指定{?}字符之间内容 df{?} dt{?} cf{?} ct{?} 多窗口(结合Ctrl+D查看目录文件) :sp file2 :vsp file3 窗口间切换ctrl w [h|j|k|l] 或者 ctrl w w 窗口关闭:close 或 :q 多行编辑 添加注释:Ctrl+v 进入列编辑模式。向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如“#”,再连按Esc。就会全部注释了。 删除注释:同样 Ctrl+v 进入列选择模式,移到光标把注释符选中,按下d,OK了 撤销/恢复撤销 u ctrl r 重复上一次操作(.) 在打开一个文件编辑后才知道登录的用户对该文件没有写权,不能存盘 vi file :w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1 :20,59w /tmp/1 或者仅仅把第20到59行之间的内容存盘成文件/tmp/1 用VI编辑一个文件,但需要删除大段大段的内容 vi file Ctrl+G 把光标移到需要删除的行的处按ctrl+G显示行号,再到结尾处再按Ctrl+G. :23,1045d 假定两次行号为23和1045,则把这几间的内容全删除 在当前屏幕中 H 跳到第一行 M 跳到中间一行 L 跳到最后一行
3,Screen
screen 创建多个screen,方便切换。具体命令: screen screen -S [screen-name]
ctrl a c:创建窗口; ctrl a k:杀死某一个窗口;当当前窗口没有响应时,该命令超级有效; ctrl a d: 取消screen模式,恢复成只1有个窗口状态; 窗口间的切换: ctrl a Num:加数字,切换到第num个窗口; ctrl a a: 两个窗口间相互切换; ctrl a n: 后一个窗口 ctrl a p: 前一个窗口 screen -r //查看所有的screen,并且可以恢复detach的进程; screen -d //并且可以恢复detach的进程; 点击(此处)折叠或打开 screen -r There is a screen on: 14997.pts-0.dev-02 (Attached) 如screen -r 14997,其中14997为线程号: 用如下命令时,显示的第一列数字为其编号 ps aux | grep hma hma 13708 0.0 0.0 4676 2084 pts/0 Ss 15:18 0:00 -bash hma 14997 0.0 0.0 5148 3324 ? Ss 15:23 0:00 SCREEN hma 14998 0.0 0.0 3428 1852 pts/3 Ss+ 15:23 0:00 bash hma 15015 0.0 0.0 3436 1872 pts/4 Ss 15:23 0:00 bash hma 15028 0.0 0.0 3428 1852 pts/5 Ss+ 15:23 0:00 bash hma 15039 0.0 0.0 3428 1852 pts/6 Ss+ 15:24 0:00 bash 用screen -r可以恢复界面,与本地是否连接没有关系。即便本地的ssh断开了,也可以通过上述命令恢复工作界面。
窗口分割的功能:
水平分割 ctrl a 然后 S
垂直分割 ctrl a 然后 | (某些版本不支持)
切换窗口 ctrl a 然后 Tab
关闭分割 ctrl a 然后 Q
ctrl a " or ctrl a a