Linux和Vim的一些实用小技巧

Linux
索引

前后台任务调度
screnn管理远程会话不中断
pstree 树状形式显示进程
whereis
linux任务控制,调度程序在前后台运行

ctrl+z
将前台任务丢到后台
jobs
查看在后台运行的任务
[yuan@dev-test workspace]$ jobs
[1]-  Stopped                 vim
[2]+  Stopped                 vim
fg[n]
将后台任务调回前台,n代表后台任务编号,默认为+的进程
screen 管理远程会话

通常情况下在远程终端窗口所开的任务,如vi,ftp等,如果窗口关闭或者网络断开,任务也随窗口的终止而终止,screen工具可以解决这个问题

screen 启动
直接键入screen,即进入screen窗口
在screen窗口中的工作内容,和console一样,如果ssh远程终端断开,下次还可以恢复screen
暂离当前screen窗口(detach)
在screen窗口中顺序按
ctrl+a
d
即可暂离当前screen

显示detached的窗口
screen -ls
sample说明有4个screen被打开并且处于detached状态
[yuan@dev-test ~]$ screen -ls
There are screens on:
        15887.pts-1.dev-test    (Detached)
        15927.pts-1.dev-test    (Detached)
        15960.pts-1.dev-test    (Detached)
        15991.pts-1.dev-test    (Detached)
4 Sockets in /var/run/screen/S-qian.
恢复detached的窗口
screen -a 进程号
接上例
screen -r 15887
如果因为网络连接等以外终端,重新进入后会发现这个screen还是激活状态,就需要用
screen -d -r 15887
命令来先detach,再attach

完全关闭screen窗口
在screen窗口中,ctrl+d
高级技巧,一个screen中使用多个screen
在screen中,依次键入ctrl+a,c ,即可创建新子窗口
使用ctrl+a,"(双引号),打开windows list,并可用上下键选择
ctrl+a,数字键,直接进入选中的窗口
其他
screen -S screen_name 可以为screen指定一个名字
指定名字的screen可以在scree -r 后使用名字来attach,而不要记住pid号
最后一个screen指定了“dev”名字
[yuan@dev-test ~]$ screen -ls
There are screens on:
        15927.pts-1.dev-test    (Detached)
        15960.pts-1.dev-test    (Detached)
        15991.pts-1.dev-test    (Detached)
        16173.dev       (Detached)
4 Sockets in /var/run/screen/S-qian.
pstree 树状形式显示进程

-a选项代表查看全部进程树
-p选项代表显示pid
[yuan@dev-test ~]$ pstree -p
init(1)─┬─acpid(2159)
        ├─atd(2208)
        ├─avahi-daemon(2217)───avahi-daemon(2218)
        ├─crond(2201)
        ├─dbus-daemon(2150)
        ├─irqbalance(2106)
        ├─mingetty(2245)
        ├─mingetty(2247)
        ├─mysqld_safe(32613)───mysqld(32668)─┬─{mysqld}(32670)
        │                                    ├─{mysqld}(32671)
        │                                    ├─{mysqld}(32672)
        │                                    ├─{mysqld}(32673)
        │                                    ├─{mysqld}(32674)
        │                                    ├─{mysqld}(32675)
        │                                    ├─{mysqld}(32676)
        │                                    ├─{mysqld}(32677)
        │                                    └─{mysqld}(32678)
        ├─ntpd(2193)
        ├─rklogd(2137)
        ├─rsyslogd(2133)───{rsyslogd}(13889)
        ├─screen(15887)───bash(15888)
        ├─screen(15927)───bash(15928)
        ├─screen(15960)───bash(15961)───vim(15988)
        ├─screen(15991)───bash(15992)
        ├─screen(14108)───bash(14109)───vim(14308)
        ├─sshd(2179)─┬─sshd(14214)───sshd(14216)───bash(14217)───perldoc(14946)+
        │            ├─sshd(15411)───sshd(15413)───bash(15414)───vim(15848)
        │            ├─sshd(15677)───sshd(15679)───bash(15680)───pstree(16056)
        │            └─sshd(15754)───bash(15756)
        └─udevd(795)

whereis 查找命令路径

有时不知道相关的命令在哪个路径中,可以使用whereis查找
[yuan@dev-test ~]$ useradd
bash: useradd: command not found          <--命令找不到,因为这是超级用户使用的命令
[yuan@dev-test ~]$ whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz  <--找找看在哪里
[yuan@dev-test ~]$ /usr/sbin/useradd a
bash: /usr/sbin/useradd: 权限不够    <--用全路径执行,权限不够,冏,演示完成了。

vim一些实用技巧
索引

多文件编辑
指定配色方案
多文件编辑

tabnew
tabnew filename,用tab方式打开一个新文件
再多个tab间切换
num +gt ,切换到指定tab
一个窗口并列打开文件
vs filename,垂直并列打开新文件
sp filename,水平并列打开新文件
指定配色方案

colorscheme
colorscheme 配色方案名,即可指定,也可以将本条命令写在.vimrc中作为默认方案
:colorscheme murphy
:colorscheme darkblue

猜你喜欢

转载自yuanhsh.iteye.com/blog/869255