Vim常用命令

以前主要用nano,简单易上手,多数Linux也都有配,甚至android里装了buzybox都有(但是中文显示乱码,vi可正常显示中文)。但是为了不至于被nano限制,学一些vim也是有必要的,所以记一些简单命令吧。

插入命令:a在光标后插入文本;A在本行末插入文本;i在光标前插入文本;I在本行开始插入文本;o在光标的下一行插入新行;O在光标的上一行插入新行。

定位命令:hjkl分别是左下上右;$行尾;0行首;HML分别是屏幕的上边中间和下边。:set nu设置行号;:set nonu取消设置行号;gg到第一行;G到最后一行;42G定位到第42行;:42定位到第42行。

删除命令:x删除光标所在处的字符;42x删除从光标所在处开始其后42个字符;dd删除(剪切)光标所在行;42dd删除(剪切)光标所在行及其下42行;dG删除所在直到文件末尾;D删除光标所在字符到行尾;:12,42删除从12行到42行。

复制粘贴命令:yy或Y复制当前行;42yy或42Y复制光标所在行及其下42行;p将内容粘贴在所在行的下面;P将内容粘贴在所在行的上面。

替换和撤销命令:r替换当前光标所在字符;R从光标所在处开始替换字符,Esc结束替换;u撤销上一步操作。

搜索和替换命令:默认搜索和替换是区分大小写的,如想不区分,可:set ic就不区分大小写了(:set noic);/42搜索42出现的位置,此时n查看下一个出现的位置,N查看上一个出现的位置;:%s/42/55/g把全文的42全部替换成55,并且不需要确认(g);:42,55s/old/new/c把第42行到55行的old替换为new,并且确认每一个替换(c)。

保存和退出命令::ZZ或:wq保存并退出。:w保存;:q退出;:q!强制退出(不保存所做修改)。如果是root用户在遇到只读文件时,仍可以使用:w!来保存更改。:w /temp/a.bak将文件另存一份,但后续修改仍旧保存在原始文件中。

Continue reading

Apache限制IP访问

只需在配置文件中添加如下代码即可:

<Location />
Order Allow,Deny
Allow from localhost
Deny from 192.168.1.*
</Location>

我的配置文件位于/etc/apache2/sites-enabled/000-default。将上面Location节点放在VirtualHost节点内即可。其实现的效果是除本机外其他局域网主机都无法访问站点。

重启Apache时提示Could not reliably determine the server's fully qualifieddomain name可以通过在/etc/apache2/httpd.conf中添加一行ServerName localhost来解决。

最后在记一下修改Ubuntu hosts文件方法:

  1. 打开hosts文件:sudo gedit /etc/hosts
  2. 添加一行:127.0.0.1 localhost
  3. 重启网络:sudo /etc/init.d/networking restart

比较遗憾的是host文件并不支持通配符。

Ubuntu安装fcitx中文输入法

听说fcitx中文输入法是较为先进的中文输入法,而且拥有相对漂亮的皮肤,当然亮点还是能支持云输入法,众多优点当然要试一下啦。要安装fcitx中文输入法,依此在终端执行如下命令:

<code>sudo add-apt-repository ppa:wengxt/fcitx-nightly</code>
<code>sudo apt-get update</code>
<code>sudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyin</code>
<code>sudo apt-get install fcitx-table-all</code>

下面两条命令是可选的,第一个是设置fcitx为默认输入法,第二个是为防止乱码所安装的uming字体。

<code>im-switch -s fcitx -z default</code>
<code>sudo apt-get install ttf-arphic-uming</code>

最后需要重启生效。如果没有中文输入法出现,可以在Configuation里点“+”,然后反选Only Show Current Language,在下面输入框里输pinyin就可以添加中文输入法了。默认Ctrl+Space切换输入法,Shift切换语言,中文下按Enter输入英文。

VirtualBox更新扩展错误

在window xp下更新了Virtual Box,但是在更新扩展包是遇到了如下错误:

Failed to install the extension. The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: Failed to rename the extension pack directory: VERR_ALREADY_EXISTS.

解决办法如下:首先关闭Virtual Box,然后进入命令行,切换到Virtual Box的安装目录,如D:Program FilesOracleVirtualBox,然后运行下

vboxmanage extpack cleanup

这样问题就解决了。另外的我的扩展包默认是下载在C:Documents and SettingsAdministrator.VirtualBox里面的,直接双击就能安装了。

Ubuntu更新软件源

首先备份下旧源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后替换源:

sudo nano /etc/apt/sources.list

一个源:

deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse

迁移WordPress网站

forty-two.tk的域名突然被收回了,怀疑是昨天修改了《三月六日》那篇,添加了一点介绍。现在整站搬到了ft.wupo.info,其实wordpress迁移是很简单的,记录一下。

首先在老网站备份数据库和文件。数据库就进入老网站的phpmyadmin,然后导出就行了。我一开始选的自定义导出,用了zip压缩,结果最后不能导入,所以如果大家网速快可以直接选默认导出即可。如果数据库文件很大可以下载后本地压缩成zip在导入新数据库。文件我先是用的BackWPup这个插件,但它好像没有保存插件的文件,所以后来我就直接用ftp把整站文件全部下本地了,这是个笨方法,文件多又大就不适用了可以考虑在服务器压成zip下,或者用ssh。

Continue reading

PuTTY

PuTTY is an SSH and telnet client, developed originally by Simon Tatham for the Windows platform. PuTTY is open source software that is available with source code and is developed and supported by a group of volunteers.

直接下载putty.exe就可以在Windows上方便的ssh连接远程的Linux主机了。但是要从Windows传文件给Linux的话,就还需要下载pscp.exe。最好把它放在C:WINDOWSsystem32中,这样就能直接在终端使用pscp命令了。来个示例:

C:Documents and SettingsAdministrator>pscp F:/eula.1028.txt user42@192.168.1.106:/tmp