VIM 命令

移动光标

命令 说明
h,j,k,l 上,下,左,右
ctrl-e 移动页面
ctrl-f 上翻一页
ctrl-b 下翻一页
ctrl-u 上翻半页
ctrl-d 下翻半页
w 跳到下一个字首,按标点或单词分割
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾
gg 跳至文首
G 调至文尾
5gg/5G 调至第5行
gd 跳至当前光标所在的变量的声明处
fx 在当前行中找x字符,找到了就跳转至
; 重复上一个f命令,而不用重复的输入fx
* 查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找

锁粒度的控制

update数据库的时候,数据库控制并发的方式,基本分为2种:乐观锁、悲观锁。

悲观锁

锁记录我们一般的操作就是SELECT … FOR UPDATE,行级锁。这个SQL在读取完数据后,就能把这行数据锁住,防止其它SESSION对行数据进行修改。这就是我们所说的悲观锁。
为什么叫悲观锁呢,因为它会让其它SESSION阻塞,等待锁定行记录的那条SESSION将修改COMMIT掉后才能获得对行数据的操作资源。
我们通常不提倡用悲观锁,为什么呢?因为我们通常公司里的服务都是访问量挺高的,所以占用数据池资源是挺大的,如果用悲观锁,就会导致很多的资源阻塞而无法使用,这样我们的系统便会变得很慢,老是在等资源。
个人觉得悲观锁的使用场景得看业务和实际情况,如果这个模块本身访问量就很低,那就可以用悲观锁。

Centos命令行图形界面切换

查看/etc/inittab如下

# systemd uses 'targets' instead of runlevels.   
# by default, there are two main targets:  
#
# multi-user.target: analogous to runlevel 3  
# graphical.target: analogous to runlevel 5  
#
# To view current default target, run:  
# systemctl get-default  
#  
# To set a default target, run:  
# systemctl set-default TARGET.target  

新版本的CentOS系统里使用targets取代了运行级别的概念。系统有两种默认的targets,多用户.target对应之前版本的3运行级别;而图形.target对应之前的5运行级别。

查看默认的target

systemctl get-default

开机以命令模式启动

systemctl set-default multi-user.target

开机以图形界面启动

systemctl set-default graphical.target

Python2切换Python3

Ubuntu自带python2,有时候需要使用pytho3。使用 update-alternatives

建立链接

1
sudo update-alternatives --install /usr/bin/python python /usr/local/lib/python2.7 100
1
sudo update-alternatives --install /usr/bin/python python /usr/local/lib/python3.2 150

如果要切换到Python2

1
sudo update-alternatives --config python
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×