screen使用笔记

安装就不说了
1.1 创建screen会话

可以先执行:screen -S lnmp ,screen就会创建一个名字为lnmp的会话。

1.2 暂时离开,保留screen会话中的任务或程序

当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)

1.3 恢复screen会话

当回来时可以再执行执行:screen -r lnmp 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了,或者当时没有指定会话名,可以执行:screen -ls screen会列出当前存在的会话列表,如下图:

root@iZ23vzkf5fiZ:~# screen -ls
There is a screen on:
    31370.lnmp    (08/28/2015 08:29:15 PM)    (Attached)
1 Socket in /var/run/screen/S-root.

11791.lnmp即为刚才的screen创建的lnmp会话,目前已经暂时退出了lnmp会话,所以状态为Detached,当使用screen -r lnmp后状态就会变为Attached,11791是这个screen的会话的进程ID,恢复会话时也可以使用:screen -r 11791
如果screen 状态为Attached 连不上,可以执行screen -D -r lnmp试试,也可以试试 screen -x lnmp
1.4 关闭screen的会话

执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。

2、远程演示

首先演示者先在服务器上执行 screen -S test 创建一个screen会话,观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。

3、常用快捷键

Ctrl+a c :在当前screen会话中创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

Linode使用发行版内核(以Wheezy/Jessie为例)

1.首先升级系统

apt-get update          
apt-get upgrade --show-upgraded

2.安装发行版自带内核
32位

apt-get install linux-image-686-pae
mkdir /boot/grub
apt-get install grub-legacy

64位

apt-get install linux-image-amd64
mkdir /boot/grub
apt-get install grub-legacy

3.生成/boot/grub/menu.lst

grub-set-default 1
update-grub

4.编辑/boot/grub/menu.lst,请注意不要取消注释里面的内容.

nano /boot/grub/menu.lst

修改timeout 5timeout 10
找到类似于下面这一行

# kopt=root=UUID=de400b9f-2578-488e-8664-250a8455a6fc ro

修改为

# kopt=root=/dev/xvda console=hvc0 ro quiet

找到带有groot=的这一行,确保是这样的

# groot=(hd0)

然后执行

update-grub

5.打开linode后台,修改内核为 pv-grub-x86_32或者pv-grub-x86_64,确保root device设置为/dev/xvda,禁用Xenify distro/Distro Helper选项,保存,重启就可以了
6.重启之后
测试

uname -a

删除文本中的重复行(sort+uniq/awk/sed)

三种常见方法:

第一,用sort+uniq,注意,单纯uniq是不行的。

sort -k2n file | uniq > a.out

  这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。

第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。

sort -k2n file | awk '{if ($0!=line) print;line=$0}'

当然,自己把管道后面的代码重新设计一下,可能不需要sort命令先排序拉。

第三,用sort+sed命令,同样需要sort命令先排序。

sort -k2n file | sed '$!N; /^\(.*\)\n\1$/!P; D'

  最后附一个必须先用sort排序的文本的例子,当然,这个需要用sort排序的原因是很简单,就是后面算法设计的时候的“局部性”,相同的行可能分散出现在不同的区域,一旦有新的相同行出现,那么前面的已经出现的记录就被覆盖了,看了这个例子就好理解拉。

  
ffffffffffffffffff
ffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
fffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeee
gggggggggggggggggggg

其实,这是我随便打进去的几行字,没想到就是必须用sort的很好例子,大家可以自己试试看。

解决phpmyadmin 4.0+以上版本加载缓慢的问题

加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序版本更新,所以当你进入phpmyadmin管理页面点击数据库的时候phpmyadmin一直在尝试连接官网从而把整个打开过程拖得很慢。
最终的解决办法是禁用phpmyadmin检查更新
打开根目录下的config.inc.php
添加如下

 $cfg['VersionCheck'] = false;

如此之后,phpmyadmin又变得飞快了.