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
Linux查看系统配置常用命令
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
全球最大的域名注册机构最新排名(截止至2010年1月18日)
截止至2010年1月18日,全球最大的域名注册商排名又有了新的变化。根据IDC评述网调查,具体排名数据如下:
从表中我们可以看出,注册量最大,排在第一名的是来自美国的GO DADDY,域名总量31,647,721,比上月增长了2.64%;占全球市场的29.283%,将近三分之一。第二名的ENOM也是来自美国,域名总量8,919,573,比上月增长了1.72%;占据全球的8.253%份额,比上月略有降低。
进入全球前二十五名的中国域名注册商品牌有新网XINNET.COM和万网HICHINA。其中,新网XINNET.COM以1,604,503的域名总量排在第十一位,比上月前进了一位,增长率12.8%,占据全球市场的1.485%。万网的HICHINA以712,771的域名总量排在全球二十三名的位置。
从总体上来看,与上月相比,各注册商的域名注册量都有增加,排名情况基本没有变动,除XINNET.COM和OVH在原有排名上升一位外。
2010年9月3日 转移本站域名(Liuxinxiu.com)域名注册商到美国godaddy
新网2010-09-02晚9时——3号上午10点本人在新网(xinnet.com)注册的多域名均出现故障,无法解析!有的域名则指向莫名奇妙的IP主机,询问客服:
致电北京新网总部答道:是由于我本区域上网DNS的问题至无法访问,显然是推卸责任。经过本人测试北京、山东河北等地均无法访问。。。一气之下决心转出新网到美国godaddy域名注册商。
之后联系域名代理(1GFTP.COM)商客服,向他们索要其域名转移密码!谈话如下:
--------------------------------------------------------------------------------------------------------------
2010-9-3 8:55:22 修修/rose/mg
在么~
2010-9-3 8:55:28 1G客服
在的
2010-9-3 8:56:12 修修/rose/mg
我注册的域名均不能访问!
2010-9-3 8:56:19 1G客服
给您带来不便真的很抱歉,请您在后台有问必答提交下,我让技术帮您查看处理,感谢支持!
2010-9-3 8:57:54 修修/rose/mg
请提供下域名转移密码。
2010-9-3 8:58:21 1G客服
请问要转移到哪里?
2010-9-3 8:59:06 修修/rose/mg
godaddy
2010-9-3 8:59:51 1G客服
?
2010-9-3 9:00:04 修修/rose/mg
美国 godaddy
2010-9-3 9:00:48 1G客服
您要把中国的域名转移到美国域名商那里?
2010-9-3 9:02:00 修修/rose/mg
恩是 是的~~~
我这你们这注册的域名均无法解析
本人已找了多地域做测试,,
估计是新网DNS服务器错误.
2010-9-3 9:03:48 1G客服
是的,新网的DNS昨晚出现了些问题,正在处理,请稍等
2010-9-3 9:04:24 修修/rose/mg
这个我知道了。
请告诉我域名转移密码
2010-9-3 9:04:55 1G客服
国内的域名转移不到国外去
2010-9-3 9:05:13 修修/rose/mg
扯淡..
2010-9-3 9:05:33 修修/rose/mg
能不能是我的事
2010-9-3 9:05:39 1G客服
如果您不信,可以登录新网网站,查询
2010-9-3 9:05:42 修修/rose/mg
你告诉我转移密码就行了
2010-9-3 9:07:33 1G客服
您的域名转移出去,一个域名需要支付 50元的手续费
2010-9-3 9:08:00 修修/rose/mg
新网没有这个规定
2010-9-3 9:08:46 1G客服
不好意思,这个是公司的规定
2010-9-3 9:22:47 修修/rose/mg
好的我知道了
告诉我都需要什么吧
2010-9-3 9:24:16 1G客服
好的,请稍等
2010-9-3 9:27:30 1G客服
您需要转移那些 域名?直接把每个域名的转移费用支付下,然后告诉我域名
2010-9-3 9:28:36 修修/rose/mg
支付费用之后你直接把域名转移密码发给我是这样吗?
2010-9-3 9:29:03 1G客服
是的
2010-9-3 9:30:25 修修/rose/mg
需要转移的域名:liuxinxiu.com
2010-9-3 9:31:17 1G客服
好的
2010-9-3 9:31:52 1G客服
请支付手续费之后,告诉我下
2010-9-3 9:32:08 1G客服
我联系财务帮您操作
2010-9-3 9:33:03 修修/rose/mg
恩好的
-------------------------------------------------------------------------------------------------------
国内各大域名注册商,其域名处CN域名外多数可以自由转入、转出。新网官网注册的可直接联系客服索要域名转移密码。新网下域名代理商,因管理不规范其自行规则,本人也懒的和他们纠缠,直接付钱拿转移密码。
大概上午10:46就收到了新网的邮件,内容如下:
-------------------------------------------------------------------------------------------------
2010年09月09号,收到GODADDY官方MAIL(域名转移成功):
Dear Liu Xinxiu,
Thank you for contacting online support. A request to transfer your domain has been submitted to the domain's Registry. The Registry will contact the current Registrar to make a final verification of the transfer. At present we are waiting on them to respond to this request. Some Registrars will try to verify requests of this kind before accepting them. Be sure to respond to any correspondence from your current Registrar in a timely manner or they may hold the domain. However, if the Registrar does not respond for a period of 5-7 days after the domain enters this status, the Registry will release the domain to us. This is what happens with many Registrars, so it may be a few days before the transfer is complete. Once we have been informed of the outcome we will let you know.
We apologize for any inconvenience this may have caused you.
Please let us know if we can help you in any other way.
Sincerely,
James P.
Online Support Technician
**********************************************
本人一直等待,到上午12:57域名(LIUXINXIU.COM)WHOIS变更:
当然在转入GODADDY.COM前为了避免意外情况,我保留使用新网的DNS如上(图)
从正式转入起,到WHOIS信息完成转出历时6天全部完成!