存档

‘网络产品’ 分类的存档

配置基于Windows2003集成环境IIS+Php+Mysql+Zend+Rewrite+Gzip+asp+.net+n点虚拟主机管理系统(图文)

2012年11月4日 没有评论

经常大家在使用vps及服务器时需要对一些环境进行配置,比如要在win在运行php及asp或是.net的网站,那么这么复杂的配置对一个新接触服务器管理的亲手来讲,的确有些复制,那么为了更好的服务于大家,本文以新手安装方式来建立配置基于Windows2003集成环境:

IIS+Php+Mysql+Zend+Rewrite+asp+.net+n点虚拟主机管理系统

我们从0开始,一步步建立。当我们拿到一台新的服务器或是vps时,以干净的系统为基础。一步步来操作:
一、准备工作:
1.首先我们先要确认一下我们需要安装的最基础也是最重要的iis是否有安装文件!!一般默认情况下安装系统的提供商都会给于安装文件如i386。以我们vps12.com提供给客户的环境为例。是放在c:\i386目录。可以在安装时直接调用。

2.确认下其他的软件是否下载好了。本文需要安装使用的软件有以下:
1 iis安装文i386(也有其他爱好者分享出来的专用iis6的安装文件也可以)
2 asp.net2.0
3 Rewrite for iis插件(伪静态组件)
4 n点虚拟主机管理系统
5 php for windows
6 mysql for windows
7 zend for windows
8 serv-u (ftp服务端)

ps:其中5-8软件我们用最容易的方式操作安装。要用到个软件 小骑士。是本着最为简化方式安装配置。以最快捷傻瓜式安装。

3.开始安装iis
开始 -> 设置 -> 控制面板 -> 添加或删除程序 -> 添加删除windows组件,然后找到 应用程序服务器
按如图所未勾选组件。

注意这边有个小的细节就是可以直接勾asp.net这个。然后再勾最后一个。这样就可以了。其他不要勾。

然后会提示没有文件要指定地址。然后我们选择一下 c:\i386 ,复制文件完成后。iis这样就安装完了。

详细步骤请参考图文教程:如何安装IIS  http://help.vps12.com/386.html

4. 安装asp.net 2.0 这个不用说。很容易。没有细节上的东西要注意,一直下一步就安装完成了。

5. 小骑士 (php+mysql+zend+gzip+serv-u) 都在这软件集成完成。所以我们先下载此软件。
小骑士软件下载地址:http://www.lulinke.com/
安装过程也很容易。没有多的细节上的东西要注意。一直下一步就可以完成。安装完成后我们来安装php+mysql+zend+gzip+serv-u,说明要使用这软件的好处是可以快速安装这些。对于新手比较方便。

6. Rewrite for iis插件(伪静态组件)
以上说明的软件都可以在以下找到!!
下载地址:http://pan.baidu.com/share/link?shareid=81798&uk=3878192419

7. n点虚拟主机管理系统
软件下载地址:http://www.npointhost.com/
一样此软件也是傻瓜式的配置安装。注意的是需要配置在线开设站点ftp的话需要进行设置。这也很容易都是中文的。一步步操作即可。

Linux禁止root帐号直接登录

2012年11月4日 没有评论

Linux禁止root帐号直接登录
Linux的默认管理员名即是root,只需要知道ROOT密码即可直接登录SSH。禁止Root从SSH直接登录可以提高服务器安全性。经过以下操作后即可实现。
本文适用于CentOS、Debian等Linux系统。

一、新建帐户

1
useradd newuser

SSH执行以上命令,可以创建名为“newuser”的帐号,可以自定义。

二、设置帐户密码

1
passwd newuser

使用passwd命令即可给相应帐户设置或修改密码。

三、不允许root直接登陆
1、修改相关文件

1
vi /etc/ssh/sshd_config

SSH执行以上命令,修改sshd_config文件

2、禁止root登陆
查找“#PermitRootLogin yes”,将前面的“#”去掉,短尾“Yes”改为“No”,并保存文件。

四、下次登陆
1、先使用新建账号“newuser”以普通用户登陆。
2、若要获得ROOT权限,在SSH中执行以下命令

1
su root

执行以上命令并输入root密码后即可获得root权限。

什么是VPS

2012年10月30日 没有评论

VPS(Virtual Private Server 虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的优质服务。 每个VPS都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。 用户除了可以分配多个虚拟主机及无限企业邮箱外,更具有独立服务器功能,可自行安装程序,单独重启服务器。 高端虚拟主机用户的最佳选择。虚拟专用服务器确保所有资源为用户独享,给用户最高的服务品质保证,让用户以虚拟主机的价格享受到独立主机的服务品质。

windows 批量添加IP的方法

2012年10月16日 没有评论

经常买了一些美国或是海外其他地地区的服务器后要增加多个ip。一个个在网卡上面绑。总是麻烦。费时费力。上网了解了一下。有以下几个办法可行。在win2003下测试通过。第一个最方便。也很快速。

方法1:

为了能更直观的看清楚IP的设置信息,建议在执行上面的命令之前,先添加2-3个IP。

然后打开CMD窗口,开始 – 运行 cmd,输入
netsh -c int ip dump >c:\ip.txt

这样你将会在C盘根目录看到一个ip.txt的文件,里面包含着你当前网卡的设置信息。然后编辑这个文件,把你想加的IP,根据相同的规则加在里面。然后执行
netsh -f c:\ip.txt

IP很多的话,时间会长一些,运行完毕如果没有什么错误提示的话,那就添加成功了,到控制面板里面看看是不是都有了。

方法2:

另一个方法更快更直接..而且不容易出错.

FOR /L %i IN (120,1,149) DO netsh interface ip add address “你的本地连接名字” 192.168.1.%i 255.255.255.0

弄个bat批量执行就OK了。。

(120,1,149)表示从192.168.1.120到192.168.1.149都加入到网卡里面.

方法3:
新建一个记事本文档:
输入:
@echo off
echo 正在设置ip,子网,请稍候……
rem “本地连接”为网卡名称,可在网络连接中查询,如”本地连接”
netsh interface ip set address name=”本地连接” source=static addr=10.200.49.136 mask=255.0.0.0 gateway=10.200.49.58 gwmetric=1
echo.
echo 正在设置DNS,请稍候…..
netsh int ip set dns name=”本地连接” source=static addr=172.20.0.11
netsh int ip add dns name=”本地连接” addr=172.20.0.12 index=2
echo 设置完毕!
ipconfig
pause
close
保存后修改文件名为:ip.bat

Kloxo安装教程

2012年10月14日 没有评论

介绍:
Kloxo的前身是LxAdmin,是一个开源的VPS控制面板。使用无管理服务VPS,能降低VPS的使用费用。
目前已改名为:“Kloxo”。 同样的,作为一款免费的虚拟主机管理系统,安装简单,功能强大。可以
快速地在red hat,centos系列linux系统的主机上搭建LAMP环境。安装后可以绑定40个主域名
(不限子域名个数),可以到官方网站申请无限域名的授权。

安装Kloxo默认的是英文环境,这篇文章将引导你如何将英文界面转换到大家熟悉的中文语言环境。
前提:
1) CentOS 或者 Red Hat 5.x, 不支持CentOS 6.x。
2) 至少256MB内存。
3) 至少2GB硬盘空间。
4) 如果手动分区,确保/tmp目录空间足够大。

运行如下命令:

1
2
3
wget http://download.lxcenter.org/download/kloxo/production/kloxo-installer.sh
 
sh ./kloxo-installer.sh --type=master

1) 会提示关闭SELinux,选择Y,之后按任意键开始安装。(OpenVZ不提示)

2) 提示是否同意APGL3.0协议,选择Y。

3) 提示是否要安装附加软件,这里选择N。

根据机器性能不同安装时间不等。

安装组件,执行更新

1
2
3
4
5
6
yum install php-bcmath
yum install  php-mhash
yum install php-mbstring
yum check-update
yum update
yum clean all  #(清理安装包)

更新完毕后,进入http://IP:7778/ 管理面板,默认用户名和密码都是admin。
1.中文化
1) 使用ssh登陆您的VPS
2) 进入lang目录:

1
cd /usr/local/lxlabs/kloxo/httpdocs/lang

3) 下载语言包:

1
wget http://soft.vps12.com/kloxo/kloxo_cn_pack.zip

4) 解压:

1
unzip kloxo_cn_pack.zip

(如果没有安装unzip命令请执行yum -y install unzip进行安装)

5) 访问http://你的IP:7778/ 进行kloxo语言设置

在Advanced->Appearance->Language里选择Chinese,然后点击update确认。这样就中文化了。

2.Kloxo优化

1) Zend可以在Kloxo后台的”网页&邮件&数据库-PHP配置”里启用,

2) Apache可以从”服务器:Linux-切换程序”里选择,建议先选择lighttpd和bind然后再选回apache和djbdns,否则你会看到内存占用量很高。

3) 新手建议用Apache,99%能正常支持.htaccess的rewrite规则。

4) 降低MySQL内存:编辑/etc/my.cnf 在底部加上

1
skip-locking skip-bdb skip-innodb

重启MySQL

1
service mysqld restart

3.解决乱码问题

kloxo默认是UTF-8编码,对GBK编码会出现乱码

修改 /etc/httpd/conf/httpd.conf

查找:AddDefaultCharset UTF-8

改为:AddDefaultCharset OFF

这样就解决网页的乱码问题。

Linux VPS Centos挂载未使用硬盘教程

2012年9月23日 没有评论

用户挂载未使用硬盘,默认装完系统只装载了10G,如果你购买了更多需要自行挂载才可以。
需要使用ROOT登陆SSH进行操作,使用PUTTY或XSHELL之类软件,或面板的VNC控制也可以。
注: 挂载硬盘过程请按照下面代码复制执行既可,不同Linux系统,只需途径名称修改对应名称。

一、 首先查看一下,当前空间情况:

1
fdisk -l

LinuxVPS   14G硬盘,系统盘8589M,空余6442M是我们今天要挂载的目标:

二、 查看一下当前已划分空间使用情况,总5.7G,使用1.8G,余3.7G:

1
df -hal

三、 增加分区,并进行相关操作,并重启VPS:

1
fdisk /dev/xvdb

接下来按顺序输入以下内容,#后为说明:
n #新建分区
p #主分区
3 #第3个分区
回车 #默认即可
回车 #默认即可
t #指定分区格式
8e #分区格式为LVM
w #保存

1
reboot #重启VPS

四、 再查看,就会发现新增加了一个刚才分区的内容:

五、 创建物理卷及加入组:

1
2
pvcreate /dev/xvdb3
vgextend VolGroup00 /dev/xvdb3

六、 查看物理卷情况,得到需要增加的空间容量:

1
vgdisplay

七、 按照大小增加(略小于实际容量,例如实际5.97G,增加5.95G即可)

1
lvresize -L +19.95G /dev/VolGroup00/LogVol00

八、 动态扩容分区大小:

1
resize2fs /dev/VolGroup00/LogVol00

九、 再次查看空间容量,发现已经加上了:

1
df -hal

如何修改windows服务器管理员密码

2012年8月8日 没有评论

很多使用windows服务器远程桌面的朋友,很多不会改密码。这里简单说明一下怎么改。

默认windows系统服务器管理员名为administrator 我们以止为例:

如何修改呢?

我们远程登陆系统后 右键我的电脑 > 管理 > 本地用户和组 > 用户 这里列出windows服务器的用户

我们右键选择administrator点设置密码。在这里就可以改管理员密码了!

ps:另一方法比较快捷,就直接在开始运行命令处输入 lusrmgr.msc 就可以直接调出用户管理面板。适用于winxp/2003/2008/2012等通用。

如何安装IIS

2012年7月18日 没有评论

我们平时在使用windows服务器的时候经常要应用到网站,如何在空的服务器里安装iis呢?

首先我们需要i386文件夹(这是windows的安装文件),当然网上也有部分好心人整理出win2003需要用到的iis安装文件。当然最好是有这个i386了。比较方便。

那接下来我们来一步步安装

开始 > 设置 > 控制面版 > 添加或删除程序

这里这步最关键了。就是要选择i386的文件位置。没有的话下载一个吧。

linux下复制文件cp命令

2012年7月3日 没有评论

cp 命令

用途
复制文件。

语法
复制文件到另一文件
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] [ -I ] [ -U ] [ - ] SourceFile TargetFile

复制文件到目录
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] [[ -r | -R ] [ -H | -L | -P ]] [ -I ] [ -U ] [ - ] SourceFile … TargetDirectory

复制目录到目录
cp [ -E{force|ignore|warn} ] [ -f ] [ -h ] [ -i ] [ -p ] { -r | -R } [ -H | -L | -P ] [ -I ] [ -U ] [ - ] SourceDirectory … TargetDirectory

描述
cp 命令复制由 SourceFile 参数指定的源文件到由 TargetFile 参数指定的目标文件。如果目标文件已存在,cp 覆盖原来内容,但相关的方式、所有者和组不改变。SourceFile 的最后访问时间和 TargetFile 的最后修改时间设置为复制进行的时间。如果 TargetFile 不存在,cp 创建一个新文件命名为 TargetFile,它和源文件除了粘滞位未设置外有相同的方式,除非超级用户来设置它,而所有者和 TargetFile 组正是这种用户。当 TargetFile 是另一文件的链接时,cp 用源文件内容覆盖目标链接;来自 TargetFile 的链接保留。而且,cp 命令能复制由 SourceFile 参数(或由 SourceDirectory 参数命名的目录)指定的源文件到由 TargetDirectory 参数指定的目录。

注:如果源参数之一是目录,您需要指定 -r 或 -R 标志。
如果有目录由 cp 命令在复制过程创建,新创建的目录与相应的源目录有相同的方式。

您也能复制特殊设备文件。实现这一点的首选选项是 -R 标志。指定 -R 使特殊文件在新路径名下重新创建。指定 -r 标志使 cp 命令尝试复制特殊文件为常规文件。

标志

-E -E 选项需要下列参数中的一个。如果省略 -E 选项,warn 是缺省行为。
force
以下情况对文件的 cp 操作会失败,即如果文件的固定范围大小或空间保留不能被保存的话。
ignore
在保存范围属性时忽略任何错误。
warn
如果文件的空间保留或者固定范围大小无法保存,就发出一个警告。
-f 如果目标文件不能被写操作打开的话,指定移去目标文件。移去操作在 cp 命令作任何复制之前执行。
-h 强制 cp 命令复制符号链接。缺省值是跟随符号链接,也就是将文件复制到符号链接指向处。
-H 根据由指定为 SourceFile 操作数的任何符号链接引用的文件类型和内容来进行操作。
-i 提示您将被覆盖的文件名。上述情况发生在当 TargetDirectory 或 TargetFile 参数含有与 SourceFile 或 SourceDirectory 参数所指定的文件同名的文件时。如果您输入 y 或在语言环境下的 y 的同义词,cp 命令将继续。任何其他的回答会避免 cp 命令覆盖文件。
-I 在 ACL 转换期间禁止警告消息。
-L 根据由指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接所引用的文件类型和内容来进行操作。
-p 将每个 SourceFile/SourceDirectory 的以下特征复制到相应的 TargetFile 和/或 TargetDirectory:
最后修改数据和最后访问的时间。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。没有复制 SourceFile/SourceDirectory 的 nanoseconds 字段的最后修改时间或最后访问时间。
用户标识和组标识。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。
文件许可位和 S_ISUID 和 S_ISGID 位。如果这一复制由于任何原因而失败,cp 命令将给标准错误写一个诊断消息。
如果用户标识或组标识不能复制,则文件许可位 S_ISUID 和 S_ISGID 被清除。

为了保存所有者标识和组标识、许可方式、修改和访问次数,用户必须有适当的文件访问许可权(用户应该是超级用户或与目标文件有相同的所有者标识)

如果不能保存这些特征,则目标文件不能删除。

如果目标文件系统同样支持,则保存与 SourceFile 相关联的访问控制列表(ACL)。如果源文件包含 NFS4 ACL 且目标文件系统不支持 NFS4 ACL,则 NFS4 ACL 转换为 AIXC。请参阅《安全性》中的『用户帐户』以获取关于 ACL 的更多信息。

当 ACL 转换成功时,将会打印一条警告消息到 stderr。

-P 根据指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接来进行操作。
-r 复制由 SourceFile 或 SourceDirectory 参数指定的文件或目录下的文件层次结构(递归复制)。-r 标志用处理常规文件的相同方式处理特殊文件。
-R 复制由 SourceFile 或 SourceDirectory 参数指定的文件或目录下的文件层次结构到由 TargetDirectory 参数指定的目录。特殊文件类型,如先入先出(FIFO)文件和块及字符设备将被重新创建而非复制。符号链接也被跟随,除非指定 -h 标志。(-R 标志优先于 -r 标志。)
如果没有指定 -H、-L 或 -P 选项中的任何一个,则没有指定这些选项中哪一个将用作缺省值。请留心以下内容:

如果指定了 -H 选项,则 cp 命令将根据由指定为 SourceFile 操作数的任何符号链接引用的文件类型和内容来进行操作。
如果指定了 -L 选项,cp 命令将根据由指定为 SourceFile 操作数的任何符号链接或在遍历文件层次结构期间遇到的任何符号链接所引用的文件类型和内容来进行操作。
如果指定了 -P 选项,则 cp 命令将复制指定为 SourceFile 操作数的任何符号链接和在遍历文件层次结构期间遇到的任何符号链接,但不会进行任何符号链接。

-U 将 SourceFile 中的扩展属性(EA)、访问控制表(ACL)复制到 TargetFile。如果目标文件系统上不支持 EA,则它将被忽略。如果目标文件系统上不支持源 ACL 类型,则它将转换为由目标文件系统支持的兼容的 ACL 类型。
– 指示 –(破折号,破折号)标志之后的参数将被解释为文件名。空标志允许以 – (减号)开始的文件名规范。

退出状态
该命令返回以下退出值:

0 所有文件成功复制。
>0 发生错误。

示例
在当前目录做一个文件副本,请输入:

cp prog.c prog.bak
这将复制 prog.c 到 prog.bak。如果 prog.bak 现在不存在,则 cp 命令创建它。如果它存在,cp 命令用 prog.c 命令的副本取代它。

复制您当前目录下的一个文件到另一个目录,请输入:

cp jones /home/nick/clients
这将复制 jones 文件到 /home/nick/clients/jones。

复制一个文件到一个新的文件并保存与源文件相关联的修改日期、时间和访问控制列表,请输入: cp -p smith smith.jr
这将复制 smith 文件到 smith.jr 文件。不是用当前日期和时间戳记创建文件,而是系统给 smith.jr 文件和 smith 文件相同的日期和时间。smith.jr 文件也继承 smith 文件的访问控制保护。
复制一个目录下的所有文件到一个新目录,请输入:

cp /home/janet/clients/* /home/nick/customers
这只复制 clients 目录下的文件到 customers 目录。

复制一个目录包括其所有的文件和子目录到另一个目录,请输入: cp -R /home/nick/clients /home/nick/customers
注:目录不能复制到目录本身。这将复制 clients 目录,包括所有文件、子目录和那些子目录中的文件到 customers/clients 目录。
复制一个特殊的文件集合到另一个目录,请输入:

cp jones lewis smith /home/nick/clients
这将复制您当前工作目录的 jones,lewis,和 smith 文件到 /home/nick/clients目录。

要使用模式匹配字符来复制文件,请输入:
cp programs/*.c .
这将复制 programs 目录下,以 .c 结尾的文件到当前目录,表示为单个 . (点)。您必须在 c 和最后的点号间输入一个空格。

要将一个文件复制到新的文件并保留与源文件关联的 ACL 和 EA,请输入:
cp -U smith smith.jr

————小技巧—————
让cp 不要确认

在 /root 找 profile 出來, 把其中類似的
alias cp=’cp -i’
的加 comment 符, 再重新登入就可以了

如 .bash_profile 或 .bashrc
叫 /root/.bash_profile 或 /root/.bashrc

linux 下vi编译器的使用

2012年7月2日 没有评论

vi 文字编辑(根据鸟哥私房菜整理)

一般模式:移动光标的方法

h或向左方向键(←)
光标向左移动一个字符

j或向下方向键(↓)
光标向下移动一个字符

k或向上方向键(↑)
光标向上移动一个字符

l或向右方向键(→)
光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合键,

即加上想要进行的次数(数字)后,操作即可

[Ctrl] + [f]
屏幕“向下”移动一页,相当于 [Page Down] 按键(常用)

[Ctrl] + [b]
屏幕“向上”移动一页,相当于 [Page Up] 按键(常用)

[Ctrl] + [d]
屏幕“向下”移动半页

[Ctrl] + [u]
屏幕“向上”移动半页

一般模式:移动光标的方法

+
光标移动到非空格符的下一行

-
光标移动到非空格符的上一行

n
n表示“数字”,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20 则光标会向后面移动20个字符距离

0
这是数字“0”:移动到这一行的最前面字符处(常用)

$
移动到这一行的最后面字符处(常用)

H
光标移动到这个屏幕的最上方那一行

M
光标移动到这个屏幕的中央那一行

L
光标移动到这个屏幕的最下方那一行

G
移动到这个文件的最后一行(常用)

nG
n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合 :set nu)

gg
移动到这个文件的第一行,相当于1G(常用)

n
n为数字。光标向下移动n行(常用)

一般模式:搜索与替换

/word
从光标位置开始,向下寻找一个名为word的字符串。例如要在文件内搜索vbird这个字符串,就输入 /vbird即可(常用)

?word
从光标位置开始,向上寻找一个名为word的字符串

n
n是英文按键。表示“重复前一个搜索的动作”。举例来说,如果刚刚执行 /vbird去向下搜索vbird字符串,则按下n后,会向下继续搜索下一个名称为vbird的字符串。如果是执行 ?vbird的话,那么按下n,则会向上继续搜索名称为vbird的字符串

N
这个N是英文按键。与n刚好相反,为“反向”进行前一个搜索操作。例如 /vbird后,按下N则表示“向上”搜索vbird

一般模式:搜索与替换

:n1、n2s/word1/word2/g
n1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。举例来说,在100到200行之间搜索vbird并替换为VBIRD则:“:100、200s/vbird/VBIRD /g”(常用)

:1、$s/word1/word2/g
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用)

:1、$s/word1/word2/gc
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2。且在替换前显示提示符给用户确认(conform)是否需要替换(常用)

一般模式:删除、复制与粘贴

x, X
在一行字中,x为向后删除一个字符(相当于 [Del] 按键),X为向前删除一个字符(相当于 [backspace] 即退格键)(常用)

nx
n为数字,连续向后删除n个字符。举例来说,要连续删除10个字符,则输入“10x”

dd
删除光标所在的那一整行(常用)

ndd
n为数字。从光标位置开始,删除向下n列,例如20dd则是删除20列(常用)

d1G
删除光标所在位置到第一行的所有数据

dG
删除光标所在位置到最后一行的所有数据

d$
删除光标所在位置到该行的最后一个字符

d0
d的后面是数字0,删除光标所在处,到该行的最前面一个字符

yy
复制光标所在的那一行(常用)

nyy
n为数字。复制光标所在的向下n行,例如20yy则是复制20行(常用)

y1G
复制光标所在行到第一行的所有数据

yG
复制光标所在行到最后一行的所有数据

y0
复制光标所在的那个字符到该行行首的所有数据

y$
复制光标所在的那个字符到该行行尾的所有数据

一般模式:删除、复制与粘贴

p, P
p为将已复制的数据粘贴到光标的下一行,P则为贴在光标上一行。举例来说,当前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会贴在原来的20行之后,即由21行开始贴。但如果是按下P,那么原来的第20行会被变成30行(常用)

J
将光标所在行与下一列的数据结合成同一行

c
重复删除多个数据,例如向下删除10行,[10cj]

u
复原前一个操作(常用)

[Ctrl]+r
重做上一个操作(常用)

u与 [Ctrl]+r是很常用的命令。一个是复原,另一个则是重做一次。利用这两个功能按键,编辑起来就得心应手。

.
这就是小数点。意思是重复前一个动作。如果想重复删除、重复粘贴,按下小数点“.”就可以(常用)

进入编辑模式

i、I
插入:在当前光标所在处插入输入文字,已存在的文字会向后退;其中,i为“从当前光标所在处插入”,I为“在当前所在行的第一个非空格符处开始插入”(常用)

a、A
a为“从当前光标所在的下一个字符处开始插入”,A为“从光标所在行的最后一个字符处开始插入”(常用)

o、O
这是英文字母o的大小写。o为“在当前光标所在的下一行处插入新的一行”;O为“在当前光标所在处的上一行插入新的一行”(常用)

r、R
替换:r会替换光标所在的那一个字符;R会一直替换光标所在的文字,直到按下ESC键为止(常用)

使用上面这些按键时,在vi画面的左下角处会出现“–INSERT–”或“–REPLACE–”的字样。通过名称就知道是什么操作。特别注意,上面也提过了,想在文件中输入字符时,一定要在左下角处看到INSERT/REPLACE才能输入。

Esc
退出编辑模式,回到一般模式中(常用)

命令行命令模式

:w
将编辑的数据写入硬盘文件中(常用)

:w!
若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入,与文件权限有关

:q
离开vi(常用)

:q!
若曾修改过文件,又不想存储,使用 ! 为强制离开不存储文件

注意一下,那个感叹号(!)在vi当中,常常具有“强制”的意思。

:wq
存储后离开,若为 :wq! 则为强制存储后离开(常用)

:e!
将文件还原到最原始的状态

ZZ
若文件没有更改,则不存储离开,若文件已经更改,则存储后离开

:w [filename]
将编辑的数据存储成另一个文件(类似另存新文件)

:r [filename]
在编辑的数据中,读入另一个文件的数据。即将“filename”这个文件内容加到光标所在行的后面

:n1、n2 w [filename]
将n1到n2的内容存储成filename文件

:! command
暂时离开vi到命令行模式下执行command的显示结果。例如“:! ls /home”,即可在vi中查看 /home中以ls输出的文件信息

:set nu
显示行号,设置之后,会在每一行的前缀显示该行的行号

:set nonu
与set nu相反,为取消行号