日期:2014-05-16  浏览次数:20717 次

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)
        │      &n