CentOS 5.5硬盘分区方案
硬盘分区方案
在计算机上安装Linux系统,对硬盘进行分区是一个非常重要的步骤,下面介绍几个分区方案。
(1)方案1
/ :建议大小在5GB以上。
swap:即交换分区,建议大小是物理内存的1~2倍。
(2)方案2
/boot:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为100MB。
/ :Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为5GB以上。
/home:存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。
swap:实现虚拟内存,建议大小是物理内存的1~2倍。
(3)方案3
/boot:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为100MB。
/usr :用来存放Linux系统中的应用程序,其相关数据较多,建议大于3GB以上。
/var :用来存放Linux系统中经常变化的数据以及日志文件,建议大于1GB以上。
/home:存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。
/ :Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为5GB以上。
/tmp:将临时盘在独立的分区,可避免在文件系统被塞满时影响到系统的稳定性。建议大小为500MB以上。
swap:实现虚拟内存,建议大小是物理内存的1~2倍。
-------------------------------------------------------------------------------------------------------------------------------
磁盘分区配置
如果是全新硬盘,可能会发生如下错误信息,这个信息仅提示你,安装程序找不到分区表,不需要担心。此时,直接按下“Yes”按钮就可以了,如下图所示。
(1)分区模式
如同前面谈到的,磁盘分区是整个安装过程里面最重要的部分了。CentOS预设给了我们四种分区模式,分别为:
<1>在选定磁盘上删除所有分区并创建默认分区结构:
如果选择这种模式,你硬盘会整个被Linux拿去使用,并且硬盘里面的分区全部被删除后, 以安装程式的预设方式重新建立分区结构,使用上要特别注意!
<2>在选定驱动上删除Linux分区并创建默认的分区结构:
在这个硬盘内,只有Linux的分区被删除,然后再以安装程式的预设方式重新建立分区。
<3>使用选定驱动器中的空余空间并创建默认的分区结构:
如果你的这颗硬盘内还有未被分割的磁盘空间(注意,是未被分割,而不是该分区内没有资料的意思!), 那么使用这个项目后,他不会更动原有的分区,只会就剩余的未分割区块进行预设分区的建置。
<4>建立自定义的分区结构:
就是我们要使用的啦!不要使用安装程式的预设分割方式,使用我们需要的分割方式来处理。
(2)默认分区模式
如下图所示为磁盘分区设置对话框,选择默认(在选定驱动上删除Linux分区并创建默认的分区结构)即可。单击“下一步”按钮,出现如下图所示的提示,单击“是”按钮,下一步出现如下图所示的系统默认磁盘设置,单击“下一步”按钮。
(3)自定义分区模式
如下图所示为磁盘分区设置对话框,选择“建立自定义的分区结构”即可。建立四个分区,分别是/, /boot, /home与swap四个。
按下‘下一步’后就会出现如下的分区视窗。这个画面主要分为三大区块:
最上方为硬盘的分区示意图, 目前因为硬盘并未分区,所以呈现的就是一整块而且为Free的字样。中间则是指令区,下方则是每个分区的装置档名、 挂载点目录、档案系统类型、是否需要格式化、分区容量大小、开始与结束的磁柱号码等。
至于指令区,总共有六大区块,其中RAID与LVM是硬盘特殊的应用,这部份我们会在单独介绍。至于其他指令的作用如下:
新建:是增加新分区,亦即进行分区动作,以建立新的磁盘分区;
编辑:则是编辑已经存在的磁盘分区, 你可以在实际状态显示区点选想要修改的分区,然后再点选‘编辑’即可进行该分区的编辑动作。
删除:则是删除一个磁盘分区,同样的, 你得要在实际状态显示区点选想要删除的分区。
重设:则是恢复最原始的磁盘分区状态。
Tips:需要注意的是,你的系统与作者的系统当然不可能完全一样,所以你屏幕上的硬盘资讯应该不会与作者的相同的喔! 所以看到不同,不要太紧张啊,那是正常的。
接下来建立根目录(/)的分区。按下“新建”后,就会出现如下的画面。由于我们需要的根目录是使用Linux的文件系统,因此预设就是ext3这个文件系统。 至于在挂载点的地方,你可以手动输入也可以用鼠标来挑选。 最后在大小(MB)的地方输入你所需要的磁盘容量即可。不过由于作者这个系统当中只有一颗硬盘,所以在“允许的驱动器”里面就不能够自由挑选。
最终建立/boot分区的结果如下所示,他会主动的将/boot这个特殊目录移到硬盘最前面,所以你会看到/boot所在的硬盘分区为/dev/hda1,而起始磁柱则为1号。情况如下图所示:
Tips:某些安装程序在你没有指定swap为内存的1~2倍时会有警告讯息的告知,此时只要将警告讯息忽略,按下一步即可。
让我们继续完成最后一个分区/home,继续按下上图的“新建”,依序填入正确的信息,包括挂载点、文件系统类型、大小等。
分区的最终结果如下图所示。你会发现到系统自动的将/dev/hda4变成扩展分区。然后将所有容量都给/dev/hda4, 并且将swap分配到/dev/hda5去了。
在上图中继续按下“新建”来交换空间(swap)。如同上面谈到的, 因为swap是交换空间,因此不需要有挂载点。所以,请如同下图所示,在“文件系统类型”处挑选为“swap”。
文件系统类型分别是:
ext2/ext3:是Linux适用的文件系统类型。由于ext3文件系统多了日志的记录, 对于系统的复原比较快速,因此建议你务必要选择新的ext3不要用ext2了。
physical volume (LVM):这是用来弹性调整档案系统容量的一种机制,可以让你的文件系统容量变大或变小而不改变原有的文件资料内容。
software RAID:利用Linux作业系统的特性,用软件模拟出磁盘阵列的功能。
swap:就是交换空间!由于swap并不会使用到目录树的挂载, 所以用swap就不需要指定挂载点。
vfat:同时被Linux与Windows所支持的文件系统类型。如果你的主机硬盘内同时存在Windows与Linux作业系统,为了资料的交换,确实可以建置一个vfat的文件系统。
我们继续按下“新建”来建立/boot这个分区。依序填入正确的信息,包括挂载点、文件系统类型、大小等。务必让该分区在整个硬盘的最前面部分。因此,我们针对/boot就选择“强制为主分区”。如下图所示:
如果你想要知道Linux还支援什么文件系统类型,点一下上图中的ext3那个按钮,就会出现如下的画面。
网易域名邮箱AND腾讯域名邮箱,域名设置参考
网易域名邮箱(ym.163.com):
小提示:完成验证需要您自己在域名管理网站进行,我们在此仅提供截图示意,如果您在设置时遇到困难,则需要联系域名提供商来解决。
例如example.com是您的域名:
步骤1:使用您的域名及密码登录域名管理网站(例如您的域名是在新网注册,可登录新网域名管理网站 http://dcp.xinnet.com/),并转到DNS记录维护页
步骤2:输入以下 MX 记录:域名:example.com 、优先级:10 、指向/IP地址/主机名:mx.ym.163.com
步骤3:(可选)将TXT设置修改为:v=spf1 include:spf.163.com ~all
步骤4:保存更改,完成DNS参数设置。
新网域名服务提供商(范例):
万网域名服务提供商(范例):
Godaddy域名服务提供商(范例):
ename.com域名服务提供商(范例):
怎样使用类似mail.abc.com这种地址来访问域名邮箱登录页面呢?
GODADDY域名相关设置方法:
第一步:验证域名(以下两种方法任选其一) 方法一:上传验证文件 1 下载专用的验证文件:qqmail_domain_verify.txt; 2 将该文件上传至您的域名指向的Web服务器(或虚拟主机)的根目录; 3 确保可以通过 http://您的域名/qqmail_domain_verify.txt 这样的方式访问到该文件。 方法二:给您的域名设置一个CNAME记录
登录您的域名管理页面,选择域名管理,点击后面的“Advanced Details”,如图:
在随后打开的页面中,找到Total DNS,点击下方的“Total DNS Control”,就能进入域名设置页面了。
然后,在图示的页面中,增加一个CNAME别名。具体信息如下:
名称:qqmail3fd0f520
IP:mail.qq.com
(CNAME解析一般在2-24小时后生效。如果您无法直接设置您的域名,请联系您的域名服务商)
完成后会出现如下图所示的一条CNAME记录
第二步:设置MX记录
MX记录用来指定由我们来对您的域名提供邮件服务。MX的设置入口跟CNAME在相同页面,请参考上文找到MX设置页面。然后将您的MX记录设置为mxdomain.qq.com ,优先级为10
设置方法如下:
请注意:godaddy的MX记录设置,“Host”一栏不允许为空,请填写“@”
修改SSH的默认端口号
修改SSH的默认端口号
vi /etc/ssh/sshd_config
找到#Port 22,标识默认使用22端口,
修改为:Port 22XX
然后重启服务进程
/etc/init.d/sshd restart
Linux下常有的一些命令
1、man <要查的命令名字> 4
2、ls 相当于DOS的dir 4
3、clear 相当于DOS的cls,清除屏幕上的内容 5
4、mkdir <目录名> 相当于DOS的md,新建一个目录 5
5、cd <目录名> 5
6、rm <文件名> 5
7、cp <源文件> <目的文件> 5
8、mv <源文件> <目的文件> 6
9、pwd 列出当前所在的目录位置 6
10、more <文件名> 查看文件的内容 6
11、chmod 改变文件或目录的读、写、执行的允许权限 7
12、chown 改变文件或目录的所有权 7
13、chgrp 改变文件或目录的工作组所有权 8
14、date 相当于DOS的date 8
15、su <用户名> 9
16、passwd 更改用户口令 9
17、exit 退出终端操作 9
18、shutdown 超级用户root才有权执行,关闭Solaris操作系统 9
19、find 搜索指定目录下要找的文件,找到后给出文件的路径 9
20、vi 10
21、echo 显示环境变量用 20
22、ping 测试网络通断情况。 20
23、ftp 本地工作站与远端工作站之间文件传输 21
24、telnet ip_address 远程登录命令,在工作站和PC机中都有 22
25、ps 查看系统的进程 22
26、kill 杀掉操作系统中的进程 23
27、tar 把多个文件或目录打包成一个文件,或者把已经打包的文件展开 23
28、compress 把文件压缩成后缀为.Z的压缩文件 23
29、uncompress 把后缀为.Z的压缩文件解压缩 23
30、df -k 查看各文件系统剩余的空间,-k说明单位是千字节(kb) 23
SOLARIS操作系统常用命令
SOLARIS操作系统中区分大小写字母,要注意输入系统的字符的大小写是正确的.在图形界面的CDE环境下,用鼠标的左键可以选定终端中的一个单词或一行字符,用鼠标的中键可以把选定的内容复制到光标当前的位置,十分方便.
1、man <要查的命令名字>
给出要查命令所有选项的含义,以及命令的详细说明.
2、ls 相当于DOS的dir
它的常用选项有-l(显示文件的详细信息),-a(显示包括隐含文件在内),-R(recursive,显示子目录中所有的文件和子目录),-t(依照文件最后修改时间的顺序列出文件名).例如:ls 列出目前目录下的文件名。
ls -a 列出包含以.起始的隐藏文件在内的所有文件名。
ls -t 依照文件最后修改时间的顺序,依序列出文件名。
ls -l 列出目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。
ls -R 显示出目录下,以及其所有子目录的文件名。
内容很多一屏显示不完时,可用管道符连接more命令,每显示一屏暂停,按空格键继续.如: ls -altR | more
注意:
ls rms*.* 将列出rms.ini这类中间带"."的文件,而不会列出rms这类不带"."的文件,用ls rms* 可以把带"."和不带"."的文件都列出
3、clear 相当于DOS的cls,清除屏幕上的内容
4、mkdir <目录名> 相当于DOS的md,新建一个目录
5、cd <目录名>
相当于DOS的cd,和DOS的cd不一样的是,只输入cd将回到HOME目录.
6、rm <文件名>
相当于DOS的del,支持通配符*和?,例如rm file*, 为了不误删除想要的文件,在用通配符删除之前,先用ls file* 看看是否列出的文件都需要删除.要注意,用命令行删除的文件是无法恢复的,Unix操作系统因为多用户的原因,无法提供DOS下的undelete命令.如果在Solaris的CDE环境下,扔到垃圾箱里的文件是可以恢复的,因为扔到垃圾箱里的文件并没有被真正删除.
rm -r <目录名>
相当于DOS的deltree,小心使用.例如:rm file1 删除文件名为 file1 的文件。
rm file? 删除文件名中有五个字符,前四个字符为file 的所有文件。
rm f* 删除文件名中以 f 开头的所有文件。
7、cp <源文件> <目的文件>
相当于DOS的copy,和DOS的copy不一样的是,必须指定源文件名和目的文件名.cp -r <源文件> <目的文件> 相当于DOS的xcopy,带子目录的拷贝.例如:cp file1 file2 将文件 file1 复制成 file2
cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 file1.
cp /tmp/file1 . 将目录 /tmp 下的文件 file1 复制到当前目录下,文件名仍为 file1。
cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名为 file2
cp -r dir1 dir2 复制整个目录。若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,复制到目录 dir2 下,新目录名称为 dir1,即dir2/dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,复制为目录 dir2。
8、mv <源文件> <目的文件>
相当于DOS的move,常用来给文件换名.例如:mv file1 file2 将文件 file1,更改文件名为 file2。
mv file1 dir1 将文件 file1,移到目录 dir1 下,文件名仍为 file1。
mv dir1 dir2 若目录 dir2 已经存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2 下,新目录名称为 dir1,即dir2/dir1。若目录 dir2 不存在,则将dir1更改为目录 dir2。
9、pwd 列出当前所在的目录位置
10、more <文件名> 查看文件的内容
显示满一屏就暂停,按空格键翻到下一页,按回车键看下一行。其它命令的输出太多来不及细看时,常通过管道操作符"|"输出到more来分屏显示输出内容。
例如:
more file1 以分页方式,查看文件名 file1 的内容。
ls -l | more 把ls -l的输出通过管道符输出到more来分屏显示输出内容。
11、chmod 改变文件或目录的读、写、执行的允许权限
格式:chmod [-R] mode name
name 可为文件名或目录名;mode可为 3 个 0-7 的数字,或利用ls -l 命令,列出
文件或目录的读、写、执行允许权的文字缩写。)
mode : rwx rwx rwx r:read w:write x:execute
user group other
缩写 : (u) (g) (o)
例如:
%chmod 755 dir1 把目录dir1设定成任何使用者,都能读取和执行,但只有所有者可做修改。
%chmod 700 file1 把文件file1设定只有所有者可以读、写和执行。
%chmod u+x file2 把文件file2增加所有者可以执行的权利。
%chmod g+x file3 把文件file3增加工作组使用者可执行的权利。
%chmod o-r file4 把文件file4除去其它使用者可读取的权利。
12、chown 改变文件或目录的所有权
格式:chown [-R] username name
name 可以是文件名或目录名。
例如:
%chown user file1
将文件 file1 的所有权,改为使用者 user 所有。
%chown -R user dir1
将目录 dir1,及其下所有文件和子目录的所有权,改为使用者 user 所有。
13、chgrp 改变文件或目录的工作组所有权
格式:chgrp [-R] groupname name
name 可为文件名或目录名
例如:
%chgrp sbsrms file1
将文件 file1 的工作组所有权,改为 sbsrms 工作组。
%chgrp -R bin dir1
将目录dir1,及其下所有文件和子目录,改为 bin 工作组。
14、date 相当于DOS的date
只输入date就显示当前的工作站时间,如果有root超级用户权限,加上参数可以修改 工作站的时间。
格式:date mmddHHMM[cc]yy
mm--月份,dd--日期,HH--小时,MM--分钟,cc--世纪(可选),yy--年份
例如:
#date 1023153098 将把工作站系统时间改为1998年10月23日15点30分
15、su <用户名>
改变自己的用户名进入其他使用者的帐号,拥有其使用权利。不指明用户名,就进入root超级用户。
例如:
%su user 进入使用者 user 的帐号
passwrod: 输入使用者 user 的密码
16、passwd 更改用户口令
例如:
%passwd rms 更改用户rms的口令
17、exit 退出终端操作
18、shutdown 超级用户root才有权执行,关闭Solaris操作系统
例如:
#/usr/sbin/shutdown -y -g0 -i0 输入绝对路径,以保证是执行关闭系统的shutdown程序
19、find 搜索指定目录下要找的文件,找到后给出文件的路径
格式:find search-path -name filename -print
例如:
%find / -name file1 -print ( 从根目录开始寻找 file1文件,并给出它的路径。)
20、vi
vi是在工作站上广泛使用的编辑软件。对初学者而言,
常因其特殊的使用方法,而不得其门而入;对已经在使用 vi 的使用者来说,也
常见因对 vi 的不熟悉或不够了解,而无法发挥出 vi 强大的编辑能力,以下将
简单介绍 vi 的使用方法。不必死记硬背,多实际操作几次就能记住常用的命令。
进入vi
直接执行 vi编辑程序即可:
%vi test
此刻屏幕上会出现 vi 的编辑屏幕,同时 vi 会将文件复制一份至内存中的缓冲区 (buffer) 。 vi会保留在硬盘中的文件不变,而先对缓冲区的文件作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。
离开vi
若在输入模式下,则先利用《ESC》进入指令模式,而后即可选用下列指令
离开vi。
:q! 离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入硬盘中,并离开vi。
:ZZ 同wq。
:x 同wq。
:w 将缓冲区内的资料写入硬盘中,但并不离开vi。
:q 离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容。
此指令可与:w 配合使用。
vi 的操作模式
vi 提供两种操作模式:输入模式(insert mode)和指令模式(command mode)
。当使用者进入 vi 后,即处在指令模式下,此刻键入的任何字符都被视为
指令。在此模式下可进行删除、修改等动作。若要输入资料,则需进入输入
模式。
输入模式
如何进入输入模式
a (append) 由光标之后加入资料。
A 由该行之末加入资料。
i (insert) 由光标之前加入资料。
I 由该行之首加入资料。
o (open) 新增一行于该行之下以供输入资料。
O 新增一行于该行之上以供输入资料。
如何离开输入模式
《ESC》 结束输入模式。
指令模式
光标的移动
h 向左移一个字符。
j 向上移一个字符。
k 向下移一个字符。
l 向右移一个字符。
0 移至该行之首
$ 移至该行之末。
^ 移至该行的第一个字符处。
H 移至屏幕的第一列。
M 移至屏幕的中间那列。
L 移至屏幕的最后一列。
G 移至该文件的最后一列。
+ 移至下一列的第一个字符处。
- 移至上一列的第一个字符处。
( 移至该句之首。 (注一)
) 移至该句之末。
{ 移至该段落之首。 (注二)
} 移至该段落之末。
nG 移至该文件的第 n 列。
n+ 移至光标所在位置之后的第 n 列。
n- 移至光标所在位置之前的第 n 列。
<Ctrl><g> 会显示该行的行号、文件名称、文件中最末行的行号、光标
所在行号占总行号的百分比。
注一:句子(sentence)在vi中是指以『!』、『.』或『?』结束的一串字。
注二:段落(paragraph)在vi中是指以空白行隔开的文字。
屏幕的移动
<Ctrl><f> 屏幕往下卷一页。
<Ctrl> 屏幕往上卷一页。
<Ctrl><d> 屏幕往下卷半页。
<Ctrl> 屏幕往上卷半页。
<Ctrl><e> 屏幕往下卷一行。
<Ctrl><y> 屏幕往上卷一行。
删除、复制及修改指令介绍 (此单元较少使用)
d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令格式为:
Operator + Scope = command
(运算子) (范围)
运算子:
d 删除指令。删除资料,但会将删除资料复制到内存缓冲区。
y 将资料(字组、行列、句子或段落)复制到缓冲区。
p 放置(put)指令,与 d 和 y 配和使用。可将最后delete或yank的资
料放置于光标所在位置的行列下。
c 修改(change)指令,类似delete与insert的组合。删除一个词组、句
子等的资料,并插入新输入的资料。
范围:
e 由光标所在位置至该字符串的最后一个字符。
w 由光标所在位置至下一个字符串的第一个字符。
b 由光标所在位置至前一个字符串的第一个字符。
$ 由光标所在位置至该行的最后一个字符。
0 由光标所在位置至该行的第一个字符。
) 由光标所在位置至下一个句子的第一个字符。
( 由光标所在位置至该句子的第一个字符。
{ 由光标所在位置至该段落的最后一个字符。
} 由光标所在位置至该段落的第一个字符。
整行动作
dd 删除整行。
D 以行为单位,删除光标后的所有字符。
cc 修改整行的内容。
yy yank整行,使光标所在该行复制到内存缓冲区。
删除与修改
x 删除光标所在该字符。
X 删除光标所在之前一字符。
dd 删除光标所在该行。
r 用接于此指令之后的字符取代(replace)光标所在字符。
如: ra 将光标所在字符以 a 取代之。
R 进入取代状态,直到《ESC》为止。
s 删除光标所在的字符,并进入输入模式直到《ESC》。
S 删除光标所在的该行资料,并进入输入模式直到《ESC》。
移动与复制
利用 delete 及 put 指令可完成资料移动的目的。
利用 yank 及 put 指令可完成资料复制的目的。
yank 和 delete 可将指定的资料复制到内存缓冲区,而通过 put 指令
可将缓冲区内的资料复制到屏幕上。
例:
移动一行 .在该行执行 dd
.光标移至目的地
.执行 p
复制一行 .在该行执行 yy
.光标移至目的地
.执行 p
指令重复
在指令模式中,可在指令前面加入一数字 n,则此指令动作会重复执行 n
次。
例:
删除10行 .10dd
复制10行 .10yy
.光标移至目的地
.p
指标往下移10行 .10j
取消前一动作(Undo)
即复原执行上一指令前的内容。
u 恢复最后一个指令之前的结果。
U 恢复光标该行的所有改变。
查找
在vi中可查找某一字符串,使光标移至该处。
/字符串 往光标之后寻找该字符串。
?字符串 往光标之前寻找该字符串。
n 往下继续寻找下一个相同的字符串。
N 往上继续寻找下一个相同的字符串。
资料的连接
J 句子的连接。将光标所在的下一行连接至光标该行的后面。
若某行资料太长亦可将其分成两行,只要将光标移至分开点,进入输入模式
(可利用 a、i等指令)再按《Enter》即可。
环境的设定
:set nu 设定资料的行号。
:set nonu 取消行号设定。
:set ai 自动内缩。
:set noai 取消自动内缩。
自动内缩(automatic indentation)
在编辑文件或程序时,有时会遇到需要内缩的状况,『:set ai』即提供自
动内缩的功能,用下例解释:
.vi test
.(进入编辑屏幕后)
this is the test for auto indent
《Tab》start indent ← :set ai (设自动内缩)
《Tab》data
《Tab》data
《Tab》data ← :set noai (取消自动内缩)
the end of auto indent.
.注:<Ctrl><d> 可删除《Tab》字符。
ex指令
读写资料
:w 将缓冲区的资料写入硬盘中。
:10,20w test 将第10行至第20行的资料写入test文件。
:10,20w>>test 将第10行至第20行的资料加在test文件之后。
:r test 将test文件的资料读入编辑缓冲区的最后。
删除、复制及移动
:10,20d 删除第10行至第20行的资料。
:10d 删除第10行的资料。
:%d 删除整个编辑缓冲区。
:10,20co30 将第10行至第20行的资料复制至第30行之后。
:10,20mo30 将第10行至第20行的资料移动至第30行之后。
字符串搜寻与取代
s(substitute)指令可查找某行列范围。
g(global)指令则可查找整个编辑缓冲区的资料。
s指令以第一个满足该条件的字符串为其取代的对象,若该行有数个满足该条
件的字符串,也仅能取代第一个,若想取代所有的字符串则需加上g参数。
:1, $s/old/new/g 将文件中所有的『old』改成『new』。
:10,20s/^/ / 将第10行至第20行资料的最前面插入5个空白。
:%s/old/new/g 将编辑缓冲区中所有的『old』改成『new』。
恢复编辑时被中断的文件
在编辑过程中,若系统当掉或连线中断,而缓冲区的资料并还未
被写回硬盘时,当再次回到系统,执行下列指令即可回复中断前
的文件内容。
%vi -r filename
编辑多个文件
vi还提供同时编辑多个文件的功能,方法如下:
%vi file1 file2 ..
当第一个文件编辑完成后,可利用『:w』将该缓冲区存档,而后
再利用 『:n』载入下一个文件。
21、echo 显示环境变量用
例如:
%echo $RMSROOT 显示环境变量RMSROOT的值
22、ping 测试网络通断情况。
格式:ping ip_address
例如:ping 129.9.123.45
23、ftp 本地工作站与远端工作站之间文件传输
必须拥有远端工作站的帐号及密码,才可进行传输工作 。
格式: ftp hostname or ftp ip_address
例如 :
ftp 129.9.123.45 与远端工作站 129.9.123.45 ,进行文件传输
Name (129.9.123.45:user-name) : 输入帐号
Password (129.9.123.45:user-name): 输入密码
!为执行外部操作系统的命令。
ftp> help 列出 ftp 文件传输,可使用的任何命令。
ftp> !ls 列出本地工作站,目前目录下的所有文件名。
ftp> !pwd 列出本地工作站,目前所在的工作目录位置。
ftp> ls 列出远端工作站目前目录下的所有文件名。
ftp> dir 列出远端工作站目前目录下的所有文件名(略同于 UNIX 的 ls -l 指令).
ftp> pwd 列出远端工作站目前所在的目录位置。
ftp> cd dir1 更改远端工作站的工作目录位置至 dir1 下。
ftp> get file1 将远端工作站的文件 file1 ,拷贝到本地工作站中。
ftp> put file2 将本地工作站的文件 file2 ,拷贝到远端工作站中。
ftp> mget *.c 将远端工作站中,文件名后缀为 c 的所有文件,拷贝到本地工作站中。
ftp> mput *.txt 将本地工作站中,文件名后缀为 txt 的所有文件,拷贝到远端工作站中。
ftp> bin 以二进制方式传输文件,切记在传送可执行文件时要先执行此命令。
可以将ASCII文件按二进制方式传输,但决不能将二进制文件按ASCII方式传输,否则二进制文件的内容会遭到破坏而无法使用。
ftp> asc 以ASCII方式传输文件,只在传输ASCII文件时用,特别是在DOS和Solaris之间传输时用。
ftp> prompt 使用 mput/mget 时不用每个文件皆询问yes/no
ftp> quit 结束 ftp 工作。
ftp> bye 结束 ftp 工作,和quit一样。
注: 从PC到工作站间的文件传输也可在 PC端WIN95下的 FTP命令进行文件传输,用法与
上所述大致相同。
24、telnet ip_address 远程登录命令,在工作站和PC机中都有
例如:
%telnet 129.9.123.45
25、ps 查看系统的进程
格式:ps [-euf...]
例如:
%ps -u rms (查看系统中,用户rms的 process。)
%ps -ef (查看系统中,包含系统内部,及所有用户的进程。)
26、kill 杀掉操作系统中的进程
一般先用ps命令先查看进程的ID号,再用kill。如果kill杀不掉,可再加参数-9,说明为强制杀掉。
例如:
%kill -9 1234 这里1234是假设的进程号。
27、tar 把多个文件或目录打包成一个文件,或者把已经打包的文件展开
例如:
%tar cvf RMS RMStar 把目录打包成一个文件
%tar xvf RMStar 把打包的文件展开。
28、compress 把文件压缩成后缀为.Z的压缩文件
例如:
%compress RMStar
29、uncompress 把后缀为.Z的压缩文件解压缩
例如:
%uncompress RMStar.Z
30、df -k 查看各文件系统剩余的空间,-k说明单位是千字节(kb)
Linux列出当前目录下的文件和目录
显示目录文件用linux中ls命令
ls 命令可以说是linux下最常用的命令之一。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。
只列出子目录
1. ls -F | grep /$ 或者 alias sub = "ls -F | grep /$"(linux)
2. ls -l | grep "^d" 或者 ls -lL | grep "^d" (Solaris)
计算当前目录下的文件数和目录数
下面命令可以分别计算当前目录下的文件和目录个数:
# ls -l * |grep "^-"|wc -l ---- to count files
# ls -l * |grep "^d"|wc -l -- to count dir
显示彩色目录列表
打开/etc/bashrc, 加入如下一行:
alias ls="ls --color"
下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:
1. 蓝色-->目录
2. 绿色-->可执行文件
3. 红色-->压缩文件
4. 浅蓝色-->链接文件
5. 灰色-->其他文件
ls -tl --time-style=full-iso sshd
ls -ctl --time-style=long-iso
Linux查看某目录占用空间以及其下有多少个文件
检查文件系统的磁盘空间占用情况: (df -h)
df命令用来检查linux文件系统的磁盘空间占用情况,所有用户均有使用df命令的权限。
linux文件与目录操作
与其它操作系统一样,在Linux系统下用户的数据和程序也是以文件的形式保存的。所以在使用Linux的过程中,是经常要对文件与目录进行操作的。现在我们就以一个Window用户的立场来学习一下Linux下的文件与目录操作方法。
1. 文件名与文件类型
文件名是一个文件的标识。从这个角度来说,文件名的规则与Windows 9x下的是基本上相同的。它同样是由字母、数字、下划线、圆点组成,最大的长度是255个字符。
与Windows 9x一样,Linux系统中也有普通文件和目录文件,不过目录文件在Window中被简称为目录就是了。而在Linux系统中有一种特殊的文件,那就是设备文件。在Linux系统中,把每一个I/O设置都映射成为一个文件,可以象普通文件一样处理,这就使得文件与设备的操作尽可能统一。从用户的用户来说,对I/O设备的使用和一般文件的使用几乎一样,这样就可以不必了解I/O设备的细节。
2. 目录结构
与Windows下一样,在Linux中也是通过目录来组织文件的。但不同的是,在Linux下只有一个根目录,而不象Windows那样一个分区一个根目录。如果有多个分区的话,就需要将其它分区mount到根目录上来用。
大家回忆一下当时为Linux分区时,有一个选项要填,那就是Mount Point,我们将其中一个写成了“/”,也就是根目录(这点与Windows相反,一个是“\”,一个是“/”,真是天生冤家)。其它的则可能是/home、/usr。
安装完系统后,你会发现/home、/usr就是根目录下面的home、usr目录!对了,整个分区就用于该目录了。
安装完Linux后,有许许多多的目录,下面我们就说明一些重要的目录:
/bin:存放着一百多个Linux下常用的命令、工具
/dev:存放着Linux下所有的设备文件!
/home:用户主目录,每建一个用户,就会在这里新建一个与用户同名的目录,给该用户一个自己的空间
/lost+found:顾名思义,一些丢失的文件可能可以在这里找到
/mnt:外部设备的挂接点,通常用cdrom与floppy两个子目录!它的存在简化了光盘与软盘的使用。你只需在塞入光盘后,运行:mount /mnt/cdrom,就可以将光盘上的内容Mount到/mnt/cdrom上,你就可以访问了。不过你使用完成后,应该离开该目录,并执行umount /mnt/cdrom。同样的,软盘就是mount /mnt/floppy和umount /mnt/floppy了。
/proc:这其实是一个假的目录,通过这里你可以访问到内存里的内容。
/sbin:这里存放着系统级的命令与工具
/usr:通常用来安装各种软件的地方
/usr/X11R6 X Window目录
/usr/bin与/usr/sbin 一些后安装的命令与工具
/usr/include、/usr/lib及/usr/share 则是存放一些共享链接库
/usr/local 常用来安装新软件
/usr/src Linux源程序
/boot:Linux就是从这里启动的
/etc:这里存放在Linux大部分的配置文件
/lib:静态链接库
/root:root用户的主目录,这就是特权之一!
/var:通常用来存放一些变化中的东西!
/var/log:存放系统日志
/var/spool:存放一些邮件、新闻、打印队列等
另外,要说明的是,在Linux下“当前目录”、“路径”等概念与Windows下是一样的。
3. 显示文件内容
使用过DOS命令的人都应该知道,我们可以使用type命令来查看一个文件的内容。在Linux下有五个相关的命令,功能各有千秋,不过它们都象type命令一样,只能用来查看文本文件。
1) cat命令
cat命令是最象type命令的,使用的方法很简单:“cat 文件名”。不过比type命令更强大的是,它可以同时查看多个文件:“cat 文件名一 文件名二”。
2) more命令
如果文本文件比较长,一屏无法显示完,那么使用cat命令就可能无法看清。这里我们可以简单地使用more来代替cat命令即可。其效果与type 文件名/p类似。使用more命令将一次显示一屏文本,显示满后,停下来,并提示出已显示全部内容的百分比,按空格键就可以看到下一屏。
3) less命令
less命令的功能几乎和more命令一样,也是按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。
Ø 向前翻:按b键;
Ø 向后翻:按p键;
Ø 指定位置:输入百分比
Ø 退出:q
我经常使用more和less,几乎不使用cat查看文件。
4) head命令
通过head命令可以仅查看某文件的前几行,格式为:
head 行数 文件名
如果未指定行数,则使用默认值10。
5) tail命令
与head命令相对应的,我们可以使用tail命令来查看文件尾部的内容。通常用来实时监测某个文件是否被修改,通常用来观察日志。如:
tail -f maillog
4. 编辑文件
在Red Hat Linux 7中有许多文字编辑工具,其中最常用的应该是vi,这是一个广泛应用于所有UNIX系统的编辑器。它的使用有些特别:
首先,可以使用命令“vi 文件名”打开一个文件。
刚启动的时候,vi处于命令状态,不能够输入任何字符。在这个状态下,可以使用方向键进行移动,而需要输入内容时,你需要输入“i”或“a”命令进入编辑状态。编辑完成后,你需要按下“ESC”键回到命令状态。
在命令状态下,你可以输入“:q!”不存盘退出,输入“:wq”存盘退出。
5. 文件的复制、删除与移动
大家都早已熟知在DOS下我们可以使用copy、del、move命令来实现文件的复制、删除与移动。下面我们说说如何在Linux系统中做以上操作。
1) cp命令:文件/目录复制命令
它的语法格式为:cp [选项] 源文件或目录 目标文件或目录
常用的选项有:
Ø a 该选项常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,就象DOS中的xcopy /s一样
Ø f 如果目标文件或目录已存在,就覆盖它,并且不做提示
Ø i 与f选项正好相反,它在覆盖时,会让用户回答“Y”来确认
Ø p 使用该选项,复制文件时将保留修改时间和访问权限
Ø r 若给出的源是一个目录,那么cp将递归复制该目录下所有的子目录和文件,不过这要求目标也是一个目录名
另外,大家要注意的是,如果源是文件名,目标是目录名的话,那么使用cp命令可以指定多个源文件名。如:
$ cp a.txt b.txt /home/user1
该命令将把a.txt和b.txt文件复制到/home/usr1目录中。
2) rm命令:文件/目录删除命令
它的语法格式为:rm [选项] 文件 …
常用的选项有:
Ø f 在删除过程中不给任何指示,直接删除
Ø r 指示rm将参数中列出的全部目录和子目录都递归地删除
Ø i 交互式的删除,每个文件在删除时都给出提示
使用rm命令时一定要小心,特别是以root用户登录时,我就看到过一个朋友在使用rm命令删除/home/tmp目录时将命令“rm -rf /home/tmp”误输成了 “rm -rf / home/tmp”,结果等他走回电脑面前,整个系统都被删除了!
3) mv命令:文件/目录移动命令
它的语法格式为:mv [选项] 源文件或目录 目标文件或目录
常用的选项有:
Ø f 如果操作要覆盖某已有的目标文件时不给任何指示
Ø i 交互式的操作,如果操作要覆盖某已有的目标文件时会询问用户是否覆盖
mv命令的执行效果与参数类型的不同而不同!
第一参数(源) 第二个参数(目标) 结果
文件名 文件名 将源文件名改为目标文件名
文件名 目录名 将文件移动到目标目录
目录名 目录名 目标目录已存在:源目录移动到目标目录
目标目录不存在:改名
目录名 文件名 出错
6. 目录相关操作
1) 创建新目录:mkdir,它的使用与DOS下的md相同:mkdir 目录名;
2) 删除空目录:rmdir,它的使用与DOS下的rd相同:rmdir 目录名;
3) 改变目录:cd,它的使用与DOS下的cd命令基本相同,唯一一个不同的是,不管目录名是什么,cd与目录名之间必须有空格,也就是:“cd/”、“cd..”、“cd.”都是非法的,而应该输入:“cd /”、“cd ..”、“cd .”,如果直接输入命令“cd”,而不加任何参数,将回到这个用户的主目录。
4) 显示当前目录:pwd
5) 列目录命令:ls,相当于DOS下的dir
它的语法为:ls [选项] [目录或文件]
常用的选项有:
Ø a 显示指定目录下所有的子目录与文件,包括隐藏文件;
Ø c 按文件的修改时间排序
Ø l 采用长格式来显示文件的详细信息,每个文件一行信息,其内容为:文件类型与权限 链接数 文件属主 文件属组 文件大小 最近修改时间 文件名
7. 文件与目录的权限操作
在Linux系统中,每一个文件和目录都有相应的访问许可权限,我们可以用它来确定谁可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为可读、可写和可执行三种,分别以r,w,x表示,其含义为:
r w x
文件 可读 可写 可执行
目录 可列出目录 可在目录中做写操作 可以访问该目录
在文件被创建时,文件所有者可以对该文件的权限进行设置。
对于一个文件来说,可以将用户分成三种,并对其分别赋予不同的权限:
1) 文件所有者
2) 与文件所有者同组用户
3) 其它用户
每一个文件或目录的访问权限都有三组,每组用三位表示,如:
d rwx r-x r--
第一部分:这里的d代表目录,其它的有:- 代表普通文件 c 代表字符设备文件;
第二部分:文件所有者的权限字,这里为r w x表示可读、可写、可执行 (目录的可执行指的可以进入目录);
第三部分:与文件所有者同组的用户的权限字,这里为r - x表示可读、不可写、可执行。由于同组用户之间交流较多,让他看看文件,别乱改就行了嘛。
第四部分:其它用户的权限字,这里为- - -,当然给我无关的人嘛,我的文件当然不但不给你写,也不让你读。
1) 文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
Ø 用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
例如:为同组用户增加对文件a.txt的读写权限:
chmod g+rw a.txt
Ø 用数字设定法
而数字设定法则更为简单:chmod [mode] 文件名
关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r--则可以表示成为:
111 101 100
再将其每三位转换成为一个十进制数,就是754。
例如,我们想让a.txt这个文件的权限为:
自己 同组用户 其他用户
可读 是 是 是
可写 是 是
可执行
那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我们执行命令:
chmod 664 a.txt
2) 改变文件的属主命令:chown
语法格式很简单:chown [选项] 用户名 文件/目录名
其中最常用的选项是“R”,加上这个参数,可以将整个目录里的所有子目录和文件的属主都改变成指定用户。
3) 改变文件属组命令:chgrp
该命令也很简单:chgrp 组名 文件名
3.3 用户管理
用户管理,主要的工作就是建立一个合法的用户帐户、设置和管理用户的密码、修改用户帐户的属性以及在必要时删除已经废弃的用户帐号。
1. 增加一个新用户
在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。
# useradd user1
但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。如果需要另外指定用户主目录的话,那么可以使用如下命令:
# useradd -d /home/xf user1
同时,该用户登录时将获得一个Shell程序:/bin/bash,而假如你不想让这个用户登录,也就可以指定该用户的Shell程序为:/bin/false,这样该用户即使登录,也不能够执行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一个用户的同时会创建一个新组,这个组与该用户同名,而这个用户就是该组的成员。如果你想让新的用户归属于一个已经存在的组,则可以使用如下命令:
# useradd -g user user1
这样该用户就属于user组的一员了。而如果只是想让其再属于一个组,那么应该使用:
# useradd -G user user1
完成了这一操作后,你还应该使用passwd命令为其设置一个初始密码。
2. 删除一个用户
删除用户,只需使用一个简单的命令“userdel 用户名”即可。不过最好将它留在系统上的文件也删除掉,你可以使用“userdel -r 用户名”来实现这一目的。
3. 修改用户属性
在前面我们看到了在新建一个用户的时候如何指定它的用户主目录,如何指定它的Shell,如何设置它所属的组…等等。在Linux中提供了一个命令来实现:
usermod -g组名 -G 组名 -d 用户主目录 -s 用户Shell
还有一种直接的方法,那就是修改/etc/passwd文件,在这个文件中每个用户占用一行,它的内容为:
用户名:密码:用户ID:组ID:用户全名:用户主目录:用户Shell
不过值得注意的是,密码这一项通常是用一个*号代替的,你是看不到的。
4. 增加一个组
还记得Linux的文件可以为同组的人、非同组的人设置不同的访问权限吗?我们可以根据自己的需要创建用户组:
groupadd 组名
5. 删除一个组
同样的,我们有时会需要删除一个组,它的命令就是groupdel 组名。
6. 修改组成员
如果我们需要将一个用户加入一个组,只需编辑/etc/group文件,将用户名写到组名的后面。例如将newuser用户加入到softdevelop组,只需找到softdevelop这一行:
softdevelop:x:506:user1,user2
然后在后面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser
另外,在Red Hat Linux中还提供一个图形化的用户管理工具:userconf,通过它可以更直接地进行用户管理。
3.4 进程管理
Linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。
在Linux系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理守护进程,都可以称之为进程。Linux用分时管理方法使用所有的任务共同分享系统资源。下面我们就看一下如何控制这些进程。
1. 启动进程
在Linux系统中有两种启动进程的方法:
1) 直接输入命令,就将直接启动一个进程
Ø 在普通情况下,进程将在前台执行,这时我们无法再执行新的命令
Ø 如果我们在命令之后加上一个“&”,那行进程将会放在后台执行,我们仍然可以执行新的命令
2) 通过at、cron、crontab命令可以像Windows中的计划任务一样定时启动某个进程,具体的使用方法大家可以使用man 命令名来查询。
2. 查看进程
在Linux系统中,我们可以使用ps命令来查看正在运行的进程例如:
列出属于当前用户的进程:
# ps
PID TTY TIME CMD
16767 pts/1 0:00 ps
18029 pts/1 0:00 bash
其中PID代表进程ID,TTY是该进程是由哪个控制台启动的,CMD则是命令。
如果你想列出更详细的信息,则可使用命令:“ps -auxw”。
3. 终止进程
一个进程在任务完成之后,将会自动完成。如果要中途中止该进程的话,有两种方法:
1) 对于在前台运行的程序,直接通过组合键CTRL+C就可以中止进程;
2) 而对于在后台运行的程序,则需要通过前面介绍的ps命令找到它的进程号,然后使用“kill 进程号”来终止该进程。
3.5 磁盘管理
系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中,做为系统管理员应随时监视磁盘空间的使用情况。我们可以使用下面两个命令来实现:
1. df命令
df,就是Disk Free,顾名思义就是检查磁盘上还剩下多少空间等信息。下面是一个使用实例:
# df
FileSystem 1k-blocks Used Available Use% Mounted on
/dev/hda5 4134900 1749728 2175124 45% /
/dev/hda6 6048320 5741092 0 100% /home
共显示了6列信息:
1) FileSystem:硬盘分区
2) 1k-blocks:按K计算的分区大小
3) Used:已经使用的分区大小(按K计算)
4) Available:还要用的分区大小
5) Use%:已使用的空间所占百分比
6) Mounted on:挂接点
可以看到/home是另一个分区,现在空间已经用完了!这都时当时没有规划好!
如果对与以K为计算单位表示硬盘空间,那么你可以使用df -m,这样就会以M为计算单位。
2. du命令
du,就是disk usage,就是看一下磁盘使用了多少。下面就是一个使用实例:
# pwd
/var/log
# du
4 ./uucp
776 .
在这里,我们使用du命令列出了/var/log目录所占用的磁盘空间。它统计出了该目录有一个子目录:uucp,占用了4K,而/var/log目录下的文件则共有776K。
该命令还有一些常用的选项,用来完成更多的功能:
Ø -a 将列出当前目录下所有的文件、子目录、子目录下的文件、子目录下的子目录…的磁盘占用情况
Ø -b 以字节为单位表示占用的磁盘空间
Ø -c 在最后显示出一个统计值
3.6 软件安装
在Red Hat Linux下,应用软件的安装包通常有两种格式:
1) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux创造的一种包封装格式。
2) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:
名称-版本-修正版-类型
例如:
sfotware-1.2.3-1.i386.rpm
软件名称:software
版本号:1.2.3
修正版本:1
可用平台:i386,适用于Intel 80x86平台。
类型:rpm,说明是一个rpm包。
根据Linux应用程序软件安装包中的内容不同可以分为::
1) 是可执行文件,也就是解开包后就可以直接运行的。在Windows中所有的软件包都是这种类型。安装完这个程序后,你就可以使用。不过下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
2) 另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。
通常,用tar打包的,都是源程序;而用rpm打包的则常是可执行程序。
1.搞定使用rpm打包的应用软件
rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。
1) 安装:
我只需简单的一句话,就可以说完。执行:
rpm -ivh rpm软件包名
更高级的,请见下表:
rpm参数 参数说明
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 不管任何错误
-U 升级安装
-v 检测套件是否正确安装
这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。
2) 卸载:
我同样只需简单的一句话,就可以说完。执行:
rpm -e 软件名
不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:
rpm -ivh software-1.2.3-1.i386.rpm
而当卸载时,则应执行:
rpm -e software。
2. 搞定使用tar打包的应用软件
1) 安装:
整个安装过程可以分为以下几步:
Ø 取得应用软件:通过下载、购买光盘的方法获得;
Ø 解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar -xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar -xvf 解压后的tar包”进行解包;
Ø 阅读附带的INSTALL文件、README文件;
Ø 执行“./configure”命令为编译做好准备;
Ø 执行“make”命令进行软件编译;
Ø 执行“make install”完成安装;
Ø 执行“make clean”删除安装时产生的临时文件。
好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
2) 卸载:
通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。一般都提供 make uninstall 来卸载软件的。
。
要想成为一套优秀的操作系统,除了性能稳定、功能齐全之外,还应该拥有一个友好的操作系统,否则只会呆在研究室里,难以普及。
在UNIX系统下,大多都是采用X Window做为图形界面的。1984年,麻省理工学院与DEC制定了Athena计划,这就是X Window 第一个版本。1988年1月成立了一个非盈利性的X联盟,负责制定X Window的标准。在Linux出现后,Xfree86 Project Inc.基于Linux实现了一个开源的X Window系统:XFree86。
X Window与其他的图形界面系统相比,有几个特点:
Ø 良好的网络支持:X Window采用了C/S网络结构,程序间可以通过网络来通信,而且有良好的网络透明性,也就是说用户不需知道程序在使用远端主机资源。
Ø 个性化的窗口界面:X Window并未对窗口界面作统一性的规范,程序员可以根据需求自行设计,其中最有名的就是后面要介绍的GNOME与KDE。
Ø 不内嵌于操作系统:X Window只定义了一个标准,而不属于某个操作系统,因此可在不同的操作系统上运行相同的X Window软件。
整个X Window由三个部分组成:
Ø X Server:主要是控制输出及输入设备的程序,并维护相关资源,它接收输入设备的信息,并将其传给X Client,而将X Client传来的信息输出到屏幕上。所以不同的显卡就需要选择不同的X Server,在配置X Window时最主要的就是配置X Server
Ø X Client:它才是应用程序的核心部分,它是与硬件无关的,每个应用程序就是一个X Client
Ø X protocol:X Client与X Server之间的通信语言就是X protocol
为了使得X Window更加易于使用,各个不同的公司与组织都针对其做了许多集成桌面环境。如AIX上的CDE,SUN的OpenServer,而在Linux下则主要是GNOME与KDE的双雄会。下面我们就一起来了解一下它们。
4.2 GNOME简介
GNOME最初是由墨西哥的程序设计师Miguel De Icazq发起的,它受到了Red Hat公司的大力支持。它现在属于GNU(GNU is Not UNIX)计划的一部分,主要目的是希望能够为用户提供一个完整、易学易用的桌面环境,并为程序设计师提供强大的应用程序开发环境。
1997年8 月,为了克服KDE所遇到的QT许可协议和单一C++依赖的困难,以墨西哥的Miguel de Icaza为首的250程序员就开始了一个新项目,完全从头开始,这就是GNOME。经过14个月的共同努力,终于完成了这个工程。现在GNOME已得到了占Linux 市场份额最大发行商Red Hat 的支持,拥有了大量应用软件,包括文字处理软件Go,电子表格软件Gnumeric,日历程序GNOMEcal,堪与PhotoShop 媲美的图形图像处理软件Gimp 等。
现在GNOME与KDE成为了两大竞争阵营,必将使得Linux更加易于使用。
GNOME中还提供了大量的应用软件,它们都放在GNOME的“开始”(一个小脚丫)à Programs中,包括了许许多多的应用软件,下面就是其中的一些:
1. Applications:应用软件
1) Dia:一个工程图编辑器,适用于绘制电路图;
2) Calendar:一个集日历与日程表于一身的好工具;
3) Address Book:一个通讯录
4) GEdit:一个功能类似于Windows下的记事本的文本编辑器;
5) Gnumeric:Linux下的一个类似于EXCEL的电子表格软件;
6) Time tracking tools:一个用于提醒时间的小工具;
2. Games:游戏软件
1) Gnome Milnes:GNOME下的扫雷;
2) Gnibbles:贪吃蛇游戏;
3) Freecell:Windows下的空当接龙游戏;
3. Graphics:图形处理软件
1) Electric Eyes:一个十分优秀的图形处理软件,可谓GNOME下的AcdSee呀!
2) XPDF:一个在Linux阅读PDF文档的工具;
3) The Gimp:一个十分优秀的绘图软件,与Photoshop很象!
4. Internet:Internet应用软件
1) Dialup Configuration Tool:一个界面十分友好的拔号上网设置工具;
2) gFTP:一个FTP客户端
3) pine:一个E-Mail客户端软件
4) Netscape :大名鼎鼎的浏览器软件,被微软从Windows平台挤下来的
5) RH Network monitor:网络流量显示
5. Multimedia:多媒体软件
1) Audio Mixer:声音控制器
2) CD Player:CD播放器
3) XMMS:与Winamp是一个模子里出来的
4.3 KDE简介
KDE项目在1996年10月发起的,其目的是在X-Window上建立一个完整易用的桌面环境。KDE现在除了拥有KFM(类似于IE4.0)、KPresenter(类似PowerPoint)、KIllustrator(类似CorelDraw或 Illustrator)等重量级软件,还有体贴用户的GUI配置软件可以帮助用户配置Unix/Linux,使其深受使用者欢迎。
但由于KDE是基于由TrollTech公司开发的Qt程序库的,所以也受到了许多批评。虽然Qt本身作为一基于C++的跨平台开发工具是非常优秀,但可惜的是它不是自由软件。Qt的License允许任何人使用Qt编写免费软件及免费拷贝给其他用户使用,但如果利用Qt编写非免费软件则需要购买他们的License。更重要的是任何人都不可以随意修改Qt源代码。如果TrollTech公司更改Qt License、公司倒闭或给人收购等都会令KDE前功尽弃。
在KDE中,也有许许多的应用软件,它们被分组放在“开始”(一个K字)菜单中,说实在的,我感觉KDE的软件应用比GNOME更多,图形界面也更好。
1. Office:办公软件
这就是大名鼎鼎的Koffice套件。
1) Kword:字处理软件
2) Kspread:象Excel的电子表格处理软件
3) Kpresenter:一个类似于PowerPoint的演示软件
4) Kchart:一个电子图表软件
5) Kiiiustrator:一个电子出版软件
2. Develop:开发工具
1) Kdevelop:一个KDE下的集成开发环境
3. Applications:应用软件
1) Advanced Editor:一个增强型的文本编辑软件
2) Emacs:这是一个功能强大的编辑软件,在GNOME中也有,它的原形是字符终端下的Emacs
3) Organizer:一个日程安排软件
4. Internet:Internet软件
1) Kppp:一个十分友好的拔号上网配置工具
2) Kmail:一个十分漂亮的Email 客户端,有点象Outlook!
3) Chat Client:一个IRC客户端
4) KPPPLoad:一个网络流量工具
5) Netscape:大名鼎鼎的WEB浏览器,在GNOME中也有集成
4.4 使用窗口管理器
Red Hat Linux 7.1默认安装后,X Window将使用GNOME做为窗口管理器,除非你在安装时将GNOME去掉,而选择了KDE包。通常我们可以将这两个包都安装上,到使用的时候再选择。
1) 在字符终端下执行以下命令,则以后X Window的窗口管理器都成了KDE:
#tchdesk KDE
2) 如果你又不想使用KDE了,则可以使用以下命令转回GNOME:
#tchdesk GNOME
4.5 汉化Red Hat Linux 7.1
1.安装 TrueType 字体
要在系统里使用中文TrueType字体,最好先禁用xfs字体服务器, xfs在启动时会自动更新字体目录下的fonts.dir文件,这样会影响到我们所作的修改。
以root身份登陆,然后执行setup工具,在Service中关闭xfs。
1)修改XF86Config-4 配置文件
进入/etc/X11目录,用vi编辑XF86Config-4文件,如下进行相应的修改:
Section "Files"
# FontPath "unix/:7100" 注释掉这一行,加入下面的几行
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11r6/lib/X11/fonts/TrueType"
EndSection
Section "Module"
Load "dbe" # Double-buffering
Load "GLcore" # OpenGL support
Load "dri" # Direct rendering infrastructure
Load "glx" # OpenGL X protocol interface
Load "extmod" # Misc. required extensions
Load "v4l" # Video4Linux
Load "xtt" 加入这一行
EndSection
2)获取字体文件simsun.ttf
新建一个目录:/usr/X11R6/lib/X11/fonts/TrueType ,然后将Windows所在的分区mount上来,然后将simsum.ttf复制到该目录。
3)生成字体列表
cd /usr/X11R6/lib/X11/fonts/TrueType
# ttmkfdir>fonts.dir
# vi fonts.dir 修改字体列表文件,使其与下面类似
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-koi8-r
#cp fonts.dir fonts.scale
4)修改 gtk 的字体定义
# vi /etc/gtk/gtkrc.zh_CN
修改后的内容如下:
style "gtk-default-zh-cn" {
fontset = "-misc-SimSun-medium-r-normal--14-*-*-*-*-*-*-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
2.安装中文输入法Chinput 3.0.1
1)首先下载以下几个软件包:
Chinput-3.0.1-1.i386.rpm
pth-1.3.7-3.i386.rpm
unicon2-im.tar.gz
2)然后安装:
# rpm -ivh pth-1.3.7-3.i386.rpm
# rpm -ivh Chinput-3.0.1-1.i386.rpm --nodeps
# cp unicon2-im.tar.gz /usr/lib
# cd /usr/lib
# tar vfxz unicon2-im.tar.gz
# rm unicon2-im.tar.gz
# ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3
3)修改Chinput的一些配置
# cd /usr/lib/ZWinPro
# vi Chinput.ad 修改以下几个地方
...
chinput.gblocale=zh_CN.gb2312
chinput.big5locale=zh_CN.gb2312
...
chinput.gbfont=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0
chinput.big5font=-misc-SimSun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0
...
(注意:在这个文件里不能出现空格,只能用 Tab 代替)
4)修改~/.bashrc文件,新增以下几行:
export LC_ALL=zh_CN.GB2312
export LANG=zh_CN.GB2312
export XMODIFIERS=@im=Chinput
3.汉化 GNOME
重启后,执行startx时,你在GNOME中就可以显示中文了。紧接着,你可以通过在Program->设定->Session->Startup Programs里面把chinput加入启动运行程序里面就完成了 GNOME的中文环境和输入法的安装了。
4.汉化 KDE
如果是KDE系统,则打开 Preferences->Personalization->Country & Language,选择中文,再打开 Look & Feel->Fonts,选择相应的字体,并把字符集改成gb2312.1980-0。最后再打开桌面上的 Autostart 目录,新建一个应用程序( Chinput )的连接,以后每次启动后就可以使用中文输入法了.
第5章:网络应用
5.1 常用网络命令
在Red Hat Linux 7.1系统提供了与网络相关的工具,掌握好这些工具是十分必要的:
第一类:设置工具
1.netconf:
netconf是Red Hat Linux提供的Linuxconf的一部分,主要用于设置与网络相关的参数。它可以在consle下运行(文本菜单),也可以在X-Window中运行(图形界面)。在前面,我们介绍过了netconf的一些应用,它的使用比较简单,只要认识上面的英文就可以了,所以在此就不再多说。BTW,如果你设置好了X-Window的话,用用图形界面的netconf,会更漂亮的哟。
2.ifconfig
ifconfig是Linux系统中最常用的一个用来显示和设置网络设备的工具。其中“if”是“interface”的缩写。它可以用来设备网卡的状态,或是显示当前的设置。
下面我们简单地说明常用的命令组合:
1) 将第一块网卡的IP地址设置为192.168.0.1:
ifconfig eth0 192.168.0.1 (格式:ifconfig 网络设备名 IP地址)
2) 暂时关闭或启用网卡:
关闭第一块网卡:ifconfig eth0 down
启用第一块网卡:ifconfig eth0 up
3) 将第一块网卡的子网掩码设置为255.255.255.0:
ifconfig eth0 netmask 255.255.255.0(格式:ifconfig 网络设备名 netmask 子网掩码)
我们也可以同时设置IP地址和子网掩码:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
4) 将第一块网卡的广播地址设置为192.168.0.255:
ifconfig eth0 -broadcast 192.168.0.255
5) 将第一块网卡设置为不接收多播数据包:
ifconifg eth0 allmulti
如果要让其接收,则使用命令:ifconfig eth0 -allmulti
6) 查看第一块网卡的状态:
ifconfig eth0
如果要查看所有的网卡状态,则直接使用不带参数的ifconfig命令即可。
ifconfig输出的状态信息是十分有用的,下面,我们就简单说明一下:
有几个状态比较重要:
Ø UP/DOWN:网卡是否启动了,如果是DOWN的话,那肯定无法用的;
Ø RX packets中的errors包的数量如果过大说明网卡在接收时有问题;
Ø TX packets中的errors包的数量如果过大说明网卡在发送时有问题;
3.route
route命令是用来查看和设置Linux系统的路由信息,以实现与其它网络的通讯。要实现两个不同的子网之间的网络通讯,需要一台连接两个网络路由器或者同时位于两个网络的网关来实现。
在Linux系统中,我们通常设置路由是为了解决以下问题:该Linux机器在一个局域网中,局域网中有一个网关,能够让你的机器访问Internet,那么我们就需要将这台机器的IP地址设置为Linux机器的默认路由。
1) 增加一个默认路由:
route add 0.0.0.0 gw 网关地址
2) 删除一个默认路由:
route del 0.0.0.0 gw 网关地址
3) 显示出当前路由表
route
第二类:诊断工具
1.ping
ping是一个最常用的检测是否能够与远端机器建立网络通讯连接。它是通过Internet控制报文协议ICMP来实现的。而现在有些主机对ICMP进行过滤,在这种特殊的情况下,有可能使得一些主机Ping不通,但能够建立网络连接。这是一种特例,在此事先说明。
同样的,在此不罗列ping命令的所有可选参数,而是通过实例来说明一些常用的组合,需要更详细地了解的,可以通过www.linuxaid.com.cn网站在线培训的命令查询工具获得。
1) 检测与某机器的连接是否正常:
ping 192.168.0.1
pingwww.linuxaid.com.cn
也就是说,我们可以用IP地址或域名来指定机器。
2) 指定ping回应次数为4:
在Linux下,如果你不指定回应次数,ping命令将一直不断地向远方机器发送ICMP信息。我们可以通过-c参数来限定:ping -c 4 192.168.0.1
3) 通过特定的网卡进行ping:
有时,我们需要检测某块网卡(系统中有多块)能否ping通远方机器。我们需要在执行ping命令时指出:
ping -I eth0 192.168.0.1
2.traceroute
如果你ping不通远方的机器,想知道是在什么地方出的问题;或者你想知道你的信息到远方机器都经过了哪些路由器,可以使用traceroute命令。顾名思义:trace是跟踪,route是路由,也就是跟踪路由。
使用这个命令很简单:
traceroute 远程主机IP地址或域名
这个命令的输出类似:
1 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3
2 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3
………
1) 最前面的数字代表“经过第几站”;
2) 路由器(网关)的IP地址就是“该站”的IP地址;
3) 访问所需时间1、2、3是指访问到这个路由器(网关)需要的时间。
3.netstat
在Linux系统中,提供了一个功能十分强大的查看网络状态的工具:netstat。它可以让您得知整个Linux系统的网络情况。
1)统计出各网络设备传送、接收数据包的情况:
使用命令:netstat -i
这个命令将输出一张表,其中包括:
Iface:网络接口名 MTU:最大传输单元
RX-OK:共成功接收多少个包 RX-ERR:接收的包中共有多少个错误包
RX-DRP:接收时共丢失多少个包 RX-OVR:共接收了多少个碰撞包
TX-OK:共成功发送多少个包 TX-ERR:发送的包中共有多少个错误包
TX-DRP:发磅时共丢失多少个包 TX-OVR:共接收了多少个碰撞包
2)显示网络的统计信息
使用命令:netstat -s
使用这个命令,将会以摘要的形式统计出IP、ICMP、TCP、UDP、TCPEXT形式的通信信息。
3)显示出TCP传输协议的网络连接情况:
使用命令:netstat -t
这个命令的输出也是一张表,其中包括:
Local Address:本地地址,格式是IP地址:端口号
Foreign Address:远程地址,格式也是IP地址:端口号
State:连接状态,包括LISTEN、ESTABLISHED、TIME_WAIT等。
4)只显示出使用UDP的网络连接情况:
使用命令:netstat -t
输出格式也是一样的。
5)显示路由表:
使用命令:netstat -r
这个命令的输出与route命令的输出相同。
5.2 网络配置文件
在Red Hat Linux 7.1中有一些用于存放网络配置的文件:
1./etc/hosts
在该文件中存放的是一组IP地址与主机名的列表,如果在该列表中指出某台主机的IP地址,那么访问该主机时将无需进行DNS解析。
2./etc/host.conf
该文件用来指定域名解析方法的顺序,如:
order hosts,bind
它说明,首先通过/etc/hosts文件解析,如果在该文件中没有相应的主机名与IP地址的对应关系,再通过域名服务器bind进行解析。
3./etc/resolv.conf
在该文件中存放域名服务器的IP地址。
4./etc/protocols
Red Hat Linux 7.1系统使用该文件辨别本主机使用的,并通过它完成协议和协议号之间的映射,用户不应修改该文件。
5./etc/services
该用户用于定义现有的网络服务,用户无需修改它,它通常由安装网络服务的程序来维护。该文件包括网络服务名、网络端口号和使用的协议类型,其中网络端口号和使用的协议类型之间有一个斜杠分开,在设置行的最后还可以添加一些服务的别名。
5./etc/xinetd.d目录
在Linux系统中有一个超级服务程序inetd,大部分的网络服务都是由它启动的,如chargen、echo、finger、talk、telnet、wu-ftpd等…,在7.0之间的版本它的设置是在/etc/inetd.conf中配置的,在Red Hat 7.0后,它就改成了一个xinetd.d目录。
在xinetd.d目录中,每一个服务都有一个相应的配置文件,我们以telnet为例,说明一下各个配置行的含义:
service telnet
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.telnetd
log_on_failure+=USERID
disable=yes
}
第一行,说明该配置用来设置telnet服务。
第二行,说明Socket连接类型是stream,也就是TCP
第三行,是指不等待到启动完成
第四行,是指以root用户启动服务进程
第五行,是指服务进程是/usr/sbin/in.telnetd
第六行,是用于做一些出错日志
第七行,是指禁止远方telnet,如果需要开放则将该配置改为:disable=no
修改了xinetd的配置,需要重启xinetd才能够生效,有两种方法可以实现:
1) 执行如下命令:
/etc/rc.d/init.d/xinetd restart
2) 执行如下命令:
killall -HUP xinetd
5.3 网络服务访问限制
在Red Hat Linux 7.1中加强了网络安全的防范,如果你安装时安全等级不是在最低一级的话,那么本机之外的所有访问都可能被拒绝。这是因为在Red Hat 7.1中做了一些默认的ipchains设置,这是Linux内置的防火墙机制,它可以使用一些规则来允许或禁止某种访问。
它的规则存放在/etc/sysconfig/ipchains文件中,如果你想让它暂时不生效,那你可以运行/etc/rc.d/init.d/ipchains stop,那么所有的规则都被取消,所有的网络访问都将被允许。
你可以运行/etc/rc.d/init.d/ipchains status来获知现在对网络访问的限制。关于这方面的知识,本文限于篇幅无法详细介绍,有兴趣的读者可参考《Linux防火墙》一书。
5.4 WEB服务器
在Linux系统中最适合于做服务器的当数Apache,Red Hat Linux 7.1中集成了Apache 1.3.19版,你只要在安装时选中WEB服务器,那么系统将自动完成Apache服务器的安装,在默认情况,WWW服务就已经启动了。
如果你在安装时没有选择WEB服务器包,那也没有关系,你只需执行以下命令即可:
1) 将Red Hat Linux 7.1安装光盘的第一张放入光驱,然后执行如下命令:
# mount /mnt/cdrom
2) 转到apache安装文件所在目录:
# cd /mnt/cdrom/RedHat/RPMS
3) 使用RPM完成安装:
# rpm -ivh apache-1.3.19-5.i386.rpm
现在,你就已经拥有一个基于Linux的WEB服务器了,它的配置文件位于/etc/httpd/conf目录下,你可根据需要进行相应的修改,修改完后执行:/etc/rc.d/init.d/httpd restart即可。而WEB服务的主目录则在/var/www/html目录下,你可以将你的WEB页传到这里就可以更新了。
而如果每一个用户都想要拥有一个自己的主页的话,则:
1) 首先在自己的用户主目录下建一个public_html目录:
# cd
# mkdir public_html
2) 然后将自己的用户主目录的权限改为大家可读
# chmod 755 用户主目录
3) 这样你就可以使用“localhost/~用户名/”访问到每个用户的主页了。
5.5 FTP服务器
在Red Hat Linux 7.1中集成了Wu-FTP 2.6.1做为FTP服务器,在你安装时只要选择了FTP包的话,那么你的Linux服务器就是一台FTP服务器了,如果当时没有安装的话,也没有关系,跟安装apache一样:
1) 将Red Hat Linux 7.1安装光盘的第一张放入光驱,然后执行如下命令:
# mount /mnt/cdrom
2)转到wu-ftp安装文件所在目录:
# cd /mnt/cdrom/RedHat/RPMS
3)使用RPM完成安装:
# rpm -ivh wu-ftp-2.6.1-16.i386.rpm
由于FTP服务是由xinetd超级服务器创建的,所以关于FTP服务器的配置在/etc/xinetd.d目录下的wu-ftpd文件中:
service ftp
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.ftpd
server_args=-l -a
log_on_success+=DURATION USERID
log_on_failure+=USERID
nice=10
disable=no
}
下面,我们介绍一些关于FTP服务器的管理方法:
1、 暂时关闭FTP服务
有两种方法可以使FTP服务暂停:
1) 以root用户身份执行:
# ftpshut now
这样就会在/etc目录下生成一个shutmsg的文件,这时FTP服务器将无法使用,直到你删掉这个文件。
2) 修改配置文件/etc/xinetd.d/wu-ftpd,将disable=no改为disable=yes,然后重启xinetd。
2、 禁止某用户使用FTP服务
有两种方法可以禁止某用户使用FTP服务器:
1) 在/etc/ftpuser中写入该用户帐号名
2) 在/etc/ftpaccess中写入一行配置:
deny-uid 用户名
用这种方法还可以禁止一个组的用户使用
deny-gid 组名
3、 禁止匿名用户(anonymous)登录FTP服务器
有许多种方法可以实现,但我觉得最简单有效的方法就是将anonymous写入配置文件:/etc/ftpuser中,就可了。
5.6 文件服务器
我们还可以使用Red Hat Linux 7.1内置的Samba为局域网内的Windows主机做文件服务器。如果在安装系统时选择了SMB服务器软件包的话,那么安装完以后,Samba服务就已经Ready了。
不过为了方便配置,建议安装一下swat,它提供了一个WEB界面的配置工具。它的安装包是第二张光盘的/RedHat/RPMS/samba-swat-2.0.7-36.i386.rpm。
安装完以后,它会在xinetd.d目录中新建一个swat文件,其内容为:
service swat
{
port=901
socket_type=stream
wait=no
only_from=127.0.0.1
server=/usr/sbin/swat
log_on_failure+=USERID
disable=yes
}
我们看到disable的值是yes,也就是说,现在swat还没有启用,因此,我们需要将其改为disable=no,然后重启xinted。另外,由于这里有一句:
only_from=127.0.0.1
说明只能在本机使用swat,而如果你想在Windows中用IE来配置的话,请将这句注释掉或删掉。
下面,我们以设置一个大家都可以访问的homes目录为例,说明SWAT的设置方法:
1) 打开IE浏览器,在地址栏上输入Linux的主机名或IP以及“:901”,例如:
2) 如果连接正常,将出一个登录提示窗,要求输入用户名与密码,在此以root为用户名,并输入root用户的密码,再单击确定;
3) 如果输入无误,将出现Samba的配置界面:Swat的首页;
我们可以看到在Swat界面中,最上面有7个图标,分别是:HOME(首页)、GLOBALS(全局设置)、SHARES(共享设置)、PRINTERS(打印机)、STATUS(状态)、VIEW(查看)、PASSWORD(密码)
4) 首先,我们单击GLOBALS图标,将出现GLOBALS设置页面,其中我们对以下几项进行设置:
Ø BaseOption à Workgroup:在些输入工作组名(如NetBIOS中的工作组名)
Ø BaseOption à Netbios name:主机名
Ø SecurityOption à Security:选择安全等级,在些选择“SHARE”
Ø SecurityOption à hosts allow:允许的主机,通常写入你的网络号,如192.168.0.
Ø SecurityOption à hosts deny:如果你不让某台机器使用,则写入它的IP地址
修改完后,点击“Commit Changes”按钮(在7个图标的下边一些),保存设置。
5) 然后,单击SHARES图标,进行共享设置:
第一步:在Create Share按钮的右边文本框中输入要设置的共享名
第二步:单击“Create Share”按钮;
第三步:确认“BaseOptions à Path的值为你想共享的目录,例如/home/smb/test(注意这必须是已经存在的目录);
第四步:将“SecurityOptions à writeable”的值设置为Yes,使该目录共享为可写;
第五步:将“SecurityOptions à guest ok”的值设置为Yes,使该目录无需密码访问;
第六步:在“SecurityOptionsàhosts allow、hosts deny”中设置相应的主机IP;
第七步:将“BrowseOptionsàbrowseable”设置为Yes,使其便于使用
最后,点击“Commit Changes”按钮,保存设置。
现在,我们就可以在Windows 9x上通过网络邻居访问到这台Samba服务器,并且有一个可读、可写的共享目录。
在平时使用的时间,系统管理员可以点击“STATUS”按钮,切换到状态页面对其进行监测,在这个页面上,你可以:
1) 启动(Start smbd按钮)、停止Samba(Stop Smbd按钮)服务,以及重启服务(Restart smbd按钮);
2) 另外,你可以看到当前与Samba服务器建立的连接(Active Connections),并且可以按下“X”按钮,中止它的访问;
3) 同时你还可以检测到正在访问的文件夹(Active Shares),正打开的文件(Open Files)。
Godaddy注册的域名解析和管理教程(图文原创)
教程时间为“2010-09-09”!
管理域名和添加域名解析,直接点击:Total DNS Control ——→会看到A(Host),点击后面的修改即可。也可点击右侧的Add New来选择要添加的新的A记录或者CNAME和MX记录。其中TTL最短可以设置为1/2小时,如图所示:
无需另外添加“www”的A记录,因为www已经用cname里的 @默认指向到了主域名上了。@代表主域名。如下图:
Host这里只需要填二级域名就可以,不用填主域名。比如:MySQL.taohost.net,只需要填MySQL就行了。
vim 撤销上一个编辑操作
vim USR_02
USR_02
*usr_02.txt* Vim version 6.1. 最后修改:2001年9月3日(翻译于2002年5月10日)
VIM用户手册 - Bram Moolenaar(由nek_in翻译)
Vim初步
本章提供用Vim编辑一个文件的足够信息。这里提供的方法不是很好或者很快,但至少你能
编辑。花些时间去练习这些命令,这是后面的知识的基础。
|02.1| 第一次运行Vim
|02.2| 插入文本
|02.3| 移动光标
|02.4| 删除字符
|02.5| 撤销与重做
|02.6| 其他编辑命令
|02.7| 退出
|02.8| 寻求帮助
下一章:|usr_03| 移动
前一章:|usr_01| 关于本手册
目录:|usr_toc|
--------------------------------------------------------------------------------
*02.1* 第一次运行Vim
启动Vim的命令如下:
gvim file.txt
在UNIX操作系统中,你可以在任意命令提示符下输入这个命令。如果你用的是Microsoft
Windows, 启动一个MS-DOS控制台,再输入这个命令。
无论哪一种方式,现在Vim开始编辑一个名为file.txt的文件了。由于这是一个新建
文件,你会得到一个空的窗口。这个屏幕看起来象下面这样:
+---------------------------------------+
|# |
|~ |
|~ |
|~ |
|~ |
|"file" [New file] |
+---------------------------------------+
('#"是当前关标的位置)
以波纹线(~)开头的行表示该行在文件中不存在。换句话说,如果Vim打开的文件不能充满
这个显示的屏幕,它就显示一个波纹线开头的行。在屏幕的底部,有一个消息行指示文件
名为file.txt并且说明这是一个新建的文件。这行信息是临时的,新的信息可以覆盖它。
VIM命令
gvim命令建立一个新窗口用于编辑。如果你用的是这个命令:
vim file.txt
则编辑在命令窗口内进行。换句话说,如果你在xterm中运行,编辑器使用xterm窗口。
如果你用的是Microsoft window的MS-DOS窗口,编辑器使用这个MS-DOS窗口。两个版本
显示出来的文本看起来是一样的。但如果你用的是gvim,就会有其他特性,如菜单条。
后面会有更多的描述。
--------------------------------------------------------------------------------
*02.2* 插入文本
Vim是一个多模式的编辑器。就是说,在不同模式下,编辑器的响应是不同的。在普通模式
下,你敲入的字符只是命令;而在插入模式,你敲入的字符就成为插入的文本了。
当你刚刚进入Vim,它处在普通模式。通过敲入"i"命令(i是Insert的缩写)可以启动
插入模式,这样你就可以输入文字了,这些文字将被插入到文件中。不用担心输错了,
你还能够随后修正它。要输入下文的程序员打油诗,你可以这样敲:
iA very intelligent turtle
Found programming UNIX a hurdle
输入"turtle"后,你通过输入回车开始一个新行。最后,你输入键退出插入插入模式
回到普通模式。现在在你的Vim窗口中有两行文字了:
+---------------------------------------+
|A very intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
| |
+---------------------------------------+
什么是模式?
要看到你在什么模式,输入如下命令:
:set showmode
你会发现当你敲入冒号后,Vim把光标移到窗口的最后一行。那里是你输入“冒号命令”
(以冒号开头的命令)的地方,敲入回车结束这个命令的输入(所有的冒号命令都用
这种方式结束)
现在,如果你输入“i”命令,Vim会在窗口的底部显示 --INSERT--(中文模式
显示的是--插入-- —— 译者注),这表示你在插入模式。
+---------------------------------------+
|A very intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
|-- INSERT -- |
+---------------------------------------+
如果你输入回到普通模式,最后一行又变成空白。
解决问题
Vim新手常常遇到的一个问题是不知道自己在什么模式下,可能是因为忘了,也可能
是因为不小心敲了一个切换模式的命令。无论你在什么模式,要回到普通模式,只
要敲就可以了。有时你需要敲两次,如果Vim发出“嘀”一声,就表示你已经
在普通模式。
--------------------------------------------------------------------------------
*02.3* 移动光标
回到普通模式后,你可以使用如下命令移动光标:
h 左
j 下
k 上
l 右
这些命令看起来是随便选的。无论如何,谁听说过用l表示右的?但实际上,作这些选择
是有理由的:移动光标是最普通的编辑器命令,这些命令将放在你可以最快输入的位置
(特别是当你用十指输入的时候。
注意:
你还可以用箭头键移动光标,但这样会减慢你输入的速度,因为你必须把你的手从
文本键移动到箭头键。想象一下,你在一个小时内可要这样做几百次,这可要花
相当多的时间的。(译者注:原文是根据英文输入来说明的,如果你输入的是中文
如果你需要在编辑中移动光标,还是用箭头快一些,因为输中文的时候,你要输入
命令还要把中文输入法切换到英文输入状态。主要还是看个人习惯吧,译者倒是已经
习惯不使用箭头键了,这样至少直接使用vi的时候不需要改变习惯)
而且,有一些键盘是没有方向键的,或者放在一些很特别的地方(译者注:译者
现在用的便携就是这样)。所以,知道hjkl的用法在这些情况下就很有帮助了。
记住这些命令的一个方法是:h在左边,l在右边,j指着下面。用图表示如下:
k
h l
j
学习这些命令的最后方法是使用它。用“i”命令输入更多的文字。然后用hjkl键移动
光标并在某些地方输入一些单词。别忘了用切换回普通模式。|vimtutor|也是一个
练习的好办法。
--------------------------------------------------------------------------------
*02.4* 删除字符
要删除一个字符,把光标移到它上面然后输入“x”。(这是对以前的打字机的一种回归,
那时你通过在字符上输入xxxx删除它) 例如,把光标移到行首,然后输入xxxxxxx(七个x)
可以删除“A very”。结果看起来这样:
+---------------------------------------+
|intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
| |
+---------------------------------------+
现在你可以输入新的字符了,例如,通过输入:
iA young
这个命令启动一次插入操作(注意那个“i”),并插入“A young”,然后退出
插入模式(注意最后一个)。结果是:
+---------------------------------------+
|A young intelligent turtle |
|Found programming UNIX a hurdle |
|~ |
|~ |
| |
+---------------------------------------+
删除一行
要删除一整行要使用“dd”命令,后一行会移上来填掉留下的空行:
+---------------------------------------+
|Found programming UNIX a hurdle |
|~ |
|~ |
|~ |
| |
+---------------------------------------+
删除一个分行符
在Vim中你可以把两行连起来,这意味着两行间的换行符被删除了。“J”命令
用于完成这个功能。
以下面两行为例子:
A young intelligent
turtle
把光标移到第一行,然后按“J”:
A young intelligent turtle
--------------------------------------------------------------------------------
*02.5* 撤销与重做
假设现在你删得太多了,当然,你可以重新输入需要的内容,不过,你还有一个更简单的
选择。“u”命令撤销上一个编辑操作。看看下面这个操作:先用“dd”删除一行,再敲
“u”,该行又回来了。
再给一个例子:把光标移到第一行的A上:
A young intelligent turtle
现在输入xxxxxxx删除“A young”。结果如下:
intelligent turtle
输入“u”撤销最后一个删除操作。那个删除操作删除字符g,所以撤销命令恢复这个字符:
g intelligent turtle
下一个u命令恢复倒数第二个被删除的字符:
ng intelligent turtle
下一个u命令恢复u,如此类推:
ung intelligent turtle
oung intelligent turtle
young intelligent turtle
young intelligent turtle
A young intelligent turtle
注意:
如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容
模式了。看这里修正这个问题:|not-compatible|。
本文假定你工作在“Vim的方式”。你可能更喜欢旧的Vi的模式,但是你必须
小心本文中的一些小区别。
重做
如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销
一个撤销。要看执行的例子,输入CTRL-R两次。字符A和它后面的空格就出现了:
young intelligent turtle
有一个特殊版本的撤销命令:“U”(行撤销)。行撤销命令撤销所有在前一个编辑行
上的操作。 输入这些命令两次取消前一个“U”:
A very intelligent turtle
xxxx 删除very
A intelligent turtle
xxxxxx 删除turtle
A intelligent
用“U”恢复行
A very intelligent turtle
用“u”撤销“U”
A intelligent
“U”命令自己改变自己,“u”命令撤销操作,CTRL-R命令重做操作。这有点乱,但不用
担心,用“u”和CTRL-R命令你可以切换到任何状态。
--------------------------------------------------------------------------------
*02.6* 其他编辑命令
Vim有大量的命令可以修改文本。参见|Q_in|和下文。这里是一些经常用到的:
添加
“i”命令在光标所在字符前面插入字符。一般情况下,这就够用了,但如果你刚好想在
行尾加东西怎么办?要解决这个问题,你需要在文本后插入字符。这通过“a”
(append)命令解决。
例如,要改变如下行
and that's not saying much for the turtle.
为
and that's not saying much for the turtle!!!
把光标移到行尾的句号上。然后输入“x”删除它。现在光标处于一行的尾部了,现在输入
a!!!
添加三个感叹号到turtle的“e”后面了:
and that's not saying much for the turtle!!!
打开一个新行
“o”命令在光标下建立一个新的空行,并把Vim切换到插入模式。然后你可以为这个新行
输入文本了。
假定你的光标在下面两行中第一行的某个地方:
A very intelligent turtle
Found programming UNIX a hurdle
如果你现在用“o”命令并输入新的文字:
oThat liked using Vim
结果会是:
A very intelligent turtle
That liked using Vim
Found programming UNIX a hurdle
“O”命令(大写)在光标上面打开一个新行。
指定个数
假定你想向上移动9行,你可以输入“kkkkkkkkk”或者你可以输入“9k”。实际上,
你可以在很多命令前面加一个数字。例如在这章的前面,你通过输入“a!!!”
增加三个感叹号。另一个方法是使用命令“3a!”。个数3要求把后面的命令执行
三次。同样的,要删除三个字符,可以使用“3x”。个数总是放在要被处理多次的
命令的前面。
--------------------------------------------------------------------------------
*02.7* 退出
使用“ZZ”命令可以退出。这个命令保存文件并退出。
注意:
与其他编辑器不一样,Vim不会自动建立一个备份文件。如果你输入“ZZ”,
你的修改立即生效并且不能恢复。你可以配置Vim让它产生一个备份文件,
参见|07.4|。
放弃修改
有时你会做了一系列的修改才突然发现现在还不如编辑前,不用担心,Vim有“放弃修改
并退出”的命令,那就是:
:q!
别忘了按回车使你的命令生效。
如果你要了解细节,这就是:这个命令有三部分,包括冒号(:),它使Vim进入命令模式,
q命令,它告诉Vim退出,而感叹号是强制命令修饰符(override command modifier)。
这里,强制命令修饰符是必要的,它要求Vim强制性地放弃修改并退出。如果你只是
输入“:q”,Vim会显示一个错误信息并拒绝退出:
E37: No write since last change (use ! to override)
通过指定强制执行,你有效地告知Vim:“我知道我所做的看起来很傻,但我长大了,知道
自己在做什么了。”
如果你放弃修改后还想重新编辑,用“:e!”命令可以重新装载原来的文件。
--------------------------------------------------------------------------------
*02.8* 寻求帮助
所有你想知道的东西,都可以在Vim帮助文件中找到,随便找它问!
要获得一般的帮助用这个命令:
:help
你还可以用第一个功能键。如果你的键盘上有一个键,可能也能用。
如果你不指定主题,“:help”命令显示一个普通的帮助窗口。Vim的作者在帮助系
统方面使用了一个很聪明的方案(也许可以说是很变态的方案):他们用一个普通的编
辑窗口来显示帮助。你可以在帮助窗口中使用任何普通的Vim命令移动光标。所以,h,
j,k和l还是表示左,下,上和右。
要退出帮助窗口,用退出一个普通窗口的命令:“ZZ”。这只会退出帮助窗
口,而不会退出Vim。
当你阅读帮助的时候,你会发现有一些文字被一对竖线括起来了(例如|help|)。这表示
一个超级链接。如果你把光标移到这两个竖线之间并按CTRL-](标签跳转标签命令),
帮助系统会把你引向这个超级链接指向的主题。(由于不是本章的重点,这里不详细讨论,
Vim对超级链接的术语是“标签”(tag),所以CTRL-]实际是跳转到光标所在单词为名的
标签所在的位置。)
跳转几次以后,你可能想回到原来的地方。CTRL-T(标签退栈)把你送回前一个
跳转点。CTRL-O(跳转到前一个位置)也能完成相同的功能。
在帮助屏幕的顶上,有一个符号: *help* 。这个名字被帮助系统用来定义一个标签
(也就是超级链接的目标)。
参见|29.1|可以了解更多关于标签的内容。
要获得特定主题的帮助,使用如下命令:
:help {主题}
例如,要获得“x”命令的帮助,输入如下命令:
:help x
要知道如何删除文本,使用如下命令:
:help deleting (译者注:要直接用中文是不行了,除非我用中文来写这些标签……)
要获得所有命令的帮助索引,使用如下命令:
help index
如果你需要获得一个包含控制字符的命令的帮助(例如CTRL-A),你可以在它前面
加上前缀"CTRL-"。
help CTRL-A
Vim有很多模式。在默认情况下,帮助系统显示普通模式的命令。例如,如下命令显示
普通模式的CTRL-H命令的帮助:
:help CTRL-H
要表示其他模式,可以使用模式前缀。如果你需要插入模式的命令帮助,使用“i_”前
缀。例如对于CTRL-H,你可以用如下命令:
:help i_CTRL-H
当你启动Vim,你可以带一些命令行参数。这些参数以短横线开头(-)。例如知道要-t
这个参数是干什么用的,可以使用这个命令:
:help -t
Vim有大量的选项让你定制这个编辑器。如果你要获得选项的帮助,你需要把它括在一个
单引号中。例如,要知道'number'这个选项干什么的,使用如下命令:
:help 'number'
如果你看到一个你不能理解的错误信息,例如:
E37: No write since last change (use ! to override)
你可以使用使用E开头的错误号找关于它的帮助:
:help E37
godaddy 域名注册优惠码
优惠码:cjc4Udom
COM域名注册 $7.49
优惠码: cjc695dom cjc749dom
说明: $7.49 .COM 注册
有效期: N/A
优惠码: cjctld749
说明: $7.49 .NET 注册
有效期: N/A
优惠码: cjctld749
说明: $7.49 .ORG 注册
有效期: N/A