目 录
Linux简介.................................................................................... 1
Linux操作参考.............................................................................. 3
一、Linux安装....................................................................... 3
二、Linux基础知识................................................................ 5
1、Linux的文件系统........................................................ 5
2、什么是shell............................................................... 5
3、Linux用户与用户登录................................................. 5
4、修改口令................................................................... 6
5、用户的环境变量.......................................................... 6
6、Linux文件与目录权限................................................. 6
7、Linux的Daemon........................................................ 7
三、Linux基本操作................................................................ 8
1、Linux登录选择KDE或是GNOME方式........................ 8
2、Konsole的使用.......................................................... 8
3、注销用户、重新启动和关闭系统................................... 8
4、用户与用户组治理...................................................... 9
5、查找文件.................................................................. 10
6、目录操作.................................................................. 10
7、你自己和你在文件系统中的位置................................. 10
8、列出文件与目录命令 ll或ls -l或ls ?a...................... 10
9、Oracle的环境变量文件.bash_profile以及home目录..... 11
10、查看当前用户 whoami或id...................................... 11
11、cdrom被mount到系统后,无法通过按键弹出,需要使用eject命令 11
12、切换用户 su命令.................................................... 12
13、文件编辑................................................................ 12
14、光驱和软驱的使用................................................... 12
15、打包与文件压缩、解压缩......................................... 13
16、Linux网络基本配置................................................. 14
17、ntsysv启动服务列表,图形界面中是Service Management 16
18、使用 "nmap localhost" 检查本机开启的网络服务........ 16
19、系统进程治理与ps.................................................. 16
20、检查系统资源和负载的top命令................................ 17
21、清理进程的命令kill................................................. 17
22、空闲磁盘块和文件查看命令df................................... 18
23、文件系统检查fsck................................................... 18
四、Linux软件包安装........................................................... 19
五、Linux注重事项............................................................... 20
5.1、如何更改系统时间.................................................. 20
5.2、如何使Linux不响应ping包.................................... 21
5.3、如何让Linux成为文件服务器.................................. 21
Linux的FAQ.............................................................................. 22
附录:vi操作........................................................................ 23
Linux简介
Linux是一个值得尊敬的操作系统。最初它是由在芬兰赫尔辛基大学念书的Linus Torvalds作为一种业余爱好开发出来的。Linus对用于教学的一种小型的Unix操作系统Minix很感爱好,决定开发出超过Minix的操作系统。在1991年,他开始Linux的开发,那时候的Linux是0.02版。到了1994年,Linux内核的1.0版发布了。现在比较稳定的Linux内核版本是2.2版。 Linux的开发是遵循GPL的,它的源代码任何人都可以免费获得,但这并不是说Linux以及Linux的发行版本是免费的。只要源代码保持公开,开发人员是可以要求获得适当的报酬。Linux可以用在很多方面,包括:网络、软件开发和桌面平台。Linux常被认为是其它昂贵的操作系统的替代品。
我们为什么要用Linux 呢?首先,它是免费的。尽管Linus Torvalds拥有Linux的商标。Linux的内核和相关的软件遵循GPL,这意味着你可以更改源代码,并靠卖程序获利,但是最初的作者拥有版权而且你必须公布修改过的源代码。
尽管Linux在基于Intel平台的计算机上最流行,但是相对其它操作系统,它可以运行在更多的CPU和硬件平台上。其原因是:除了拥有很多天才的开发人员之外,Linux是带着源代码一起发行的,而且它的内核是可移植的。
现在软件和硬件行业的趋势是让用户去买更快的计算机,不断地扩充内存和增加硬盘空间。Linux并不受这些“增肥”趋势的影响,它甚至可以在内存不是很多的古老的486计算机上运行得很好。
Linux很少死机。而且,Linux用的是最先进的内存治理技术,不会让操作系统失去控制,也不需经常重启动操作系统。
假如需要安装的是一个服务器操作系统,那么Linux是有很多优势的,非凡是比起其它操作系统,如windows 2000,要便宜得多了。还有一个优点是:Linux几乎不受病毒的攻击。因为遵循GPL和开放源代码,基本上你可以获得操作系统以及操作系统上所有软件的源代码。
让我们排除对使用Linux的一些害怕和疑虑, Linux不过是一个象玩具一样的操作系统。 Linux正被越来越多的Fortune 5000的企业、政府部门和消费者所采用。可以去问一问IBM、HP-Compaq、Dell、Apple Computer、Burlington Coast Factory、Amtrak、Virginia Power、NASA或成百上千万的Linux用户吧。
Linux没有技术支持。尽管有不少人认为Linux是没有技术支持的操作系统,但是每个Linux的发行版都提供12,000多页的文档。Linux的商业发行版,例如:RedHat Linux、Caldera、SuSE 和OpenLinux给注册用户提供安装支持。互联网如此发达,许多严重的问题(如系统安全问题)可以在Internet上的Linux社团的帮助下几个小时内解决。
现在,Linux凭借优秀的设计,不凡的性能,加上IBM、Intel、CA、Core、Oracle等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流操作系统之一。
Linux操作参考
华为-3Com公司的CAMS产品运行在RedHat Linux7.3平台上,因此以下Linux操作仅针对RedHat Linux 7.2/7.3版本。假如需要把握更多的Unix命令,请参考其他专业Linux书籍。当然在线帮助也是必不可少的,当碰到命令参数拿不准的时候,如fsck命令,那么就执行fsck --help(注重help前是两个减号),或man fsck,就可以获得具体的帮助。
Linux设计得很精巧,提供了许多快捷方式以命令行简化操作,比如,TAB键可以补齐文件名、csh下的“!”可以重复历史命令、三键鼠标的左键和中键配合可以粘贴拷贝、多种通配符等,熟能生巧,经常操作就能把握这些基本的小技巧,提高工作效率。
一、Linux安装
1、 安装Linux,对硬件有什么要求?
Linux对硬件要求很低,可以运行在Intel386以上CPU,8M以上内存的PC机上。
2、 安装Linux需要做哪些预备?
l 假如机器不是IBM、HP等主流产品或有非凡硬件的话,需要先收集系统资料:CDROM接口类型,SCSI卡型号,网卡型号,显卡芯片组、显存大小等相关信息;
l 检查CMOS设置,设置其从光驱启动;
一般地,在Cams的安装过程中,Linux都可以自动识别系统信息,不需要记录这些资料。
3、 Linux的分区
安装Linux时,至少需要两个分区:Linux native主分区和Linux Swap交换分区。主分区用来存放Linux的文件,交换分区为运行Linux提供虚拟内存。
交换分区空间一般是物理内存的1.5到2倍左右。
在DOS操作系统中,不管物理上、逻辑上,每个分区就是一个独立的部分,比如:C盘、D盘,每个盘都有一个根目录。而在Linux中,物理上是一个个分区,而逻辑上所有的分区都是一个整体的,Linux中只有一个根目录。
4、 Linux如何命名硬盘?
Linux对硬盘的处理,先做分区,然后再做格式化。DOS下,每一个分区是用一个英文字母来表示,而在Linux下则更加灵活,它通过字母和数字的组合来标识硬盘分区。
如“hda1”,hd代表IDE接口的硬盘,假如是SCSI硬盘的话,为sa;a代表IDE1口的主硬盘(2代表IDE1口从硬盘、3代表IDE2口主硬盘、4代表IDE2口从硬盘);最后的数字代表在该设备上的分区顺序,前四个分区(主分区和扩展分区)用1-4表示,软逻辑分区从5开始。假如通过磁盘控制器做了Raid的话,则命名格式有可能为”c0d0p1”,c0代表第一个SCSI控制器,d0代表本控制器下的第几个逻辑硬盘,p1代表本逻辑盘的第几个分区。
5、 如何安装Linux?
每种Linux发行版所提供的安装方法都不大一样,但是一般来说都经历以下几个阶段:
l 光盘引导系统后做一些基本设置:如安装语言、键盘等;
l 进行硬盘分区、格式化:一般Linux都提供了图形界面,假如不熟悉硬盘分区的爱好者最好在行家指导下进行;
l 选择要安装的软件包:建议全部安装,待熟悉了系统后再重新定制,以免在安装Cams时有所遗漏;
l 设备配置:如打印机、网卡、显卡等,请根据实际情况选择;
l 安装LILO或GRUB:建议装在主引导扇区,使用GRUB来完成多系统引导;
l 为Linux的超级用户root设置密码。
具体步骤可以参考《Linux与Oracle系统安装手册》
二、Linux基础知识
1、Linux的文件系统
Unix的文件系统治理是极具特色的。NFS、UFS、TMPFS、VFS、PROC等各类文件系统均承担不同角色。Unix将硬盘、打印机等字符设备和块设备都以文件的方式治理起来,对这些设备的操作就如同访问一个文件。
2、什么是shell
shell是人机交互的字符界面。Unix中提供多种shell供使用者选择,例如RedHat中的bash、tcsh、ksh等,由不同的作者编写完成。在这些shell中,用户都可以输入命令完成系统治理、配置等任务;而在Solaris中,有sh、csh等。
3、Linux用户与用户登录
Linux是一个真正意义上的多用户操作系统,用户要使用该系统,必须输入用户名和密码,经系统验证无误后才可以登录系统使用。
Linux下有两种用户:
1) root用户:超级权限者和系统的拥有者,在Linux系统中有且只有一个root用户,它可以在系统中做任何操作。在系统安装时所设定的密码就是root用户的密码,该密码请牢记,并出于安全考虑,请定期修改。密码的保密性也要得到保证。
2) 普通用户:Linux系统可以创建许多普通用户,并为其指定相应的权限,使其有限地使用Linux系统,如安装Oracle时需要创建的oracle用户。
用户通过本机的Xwindow或Telnet远程登录后,执行exit命令即可退出登录。
4、修改口令
为了更好地保护用户帐号的安全,Linux答应用户在登录之后随时使用passwd命令修改自己的口令。修改口令需要经历三步:
输入原来的口令,假如口令输错,将中止程序,无法修改口令;
输入新的口令;
重新输入一次新的口令,假如两次输入的口令相吻合,则口令修改成功。
5、用户的环境变量
环境变量定义了用户执行命令操作所需要的诸如命令路径、库路径、别名、字符集等等的内容。/etc/profile是缺省所有bash用户的环境变量文件。而用户home目录下的.bash_profile、.bashrc等文件是bash用户自己定义的环境变量文件。例如,ifconfig命令在/sbin目录下,假如不将/sbin路径加入到环境变量PATH中,那么每次执行这个命令,都需要输入/sbin/ifconfig。
不同shell的环境变量定义方式不同。bash采取赋值的方式,再eXPort生效,例如在profile文件里定义:
ORACLE_HOME=/u01/app/oracle/prodUCts/8.1.7
export ORACLE
这样bash用户ORACLE_HOME变量的值就是”/u01/app/oracle/products/8.1.7”。
而csh使用setenv命令,例如setenv SYBASE /opt/sybase。
执行env命令可以查看当前用户使用的所有环境变量。
6、Linux文件与目录权限
在Linux系统中,每一个文件和目录都有相应的访问许可权限,分为可读、可写和可执行三种,分别以r、w、x表示,其含义为read、write、execute(目录的可执行指的可以进入目录)。每一个文件或目录的访问权限都有三组,每组用三位表示,如: d rwx r-x r--。
第一部分:这里的d代表目录,其它的有:- 代表普通文件,c代表字符设备文件;
第二部分:文件所有者的权限字;
第三部分:与文件所有者同组的用户的权限字;
第四部分:其它用户的权限字。
1) 文件/目录权限设置命令:chmod [mode] 文件名
假如要对文件a.txt的权限要设置为rw-rw-r--,则转换成二进制数就是110 110 100,再每三位转换成为一个十进制数得到664,因此我们执行命令:
chmod 664 a.txt
表示a.txt文件属主和同组用户可读可写,其他用户只可读。
2) 改变文件/目录的属主命令:chown [选项] 用户名:组名 文件/目录名
其中最常用的选项是“R”,加上这个参数,可以将整个目录里的所有子目录和文件的属主都改变成指定用户。如安装Oracle过程中将/u01目录及目录下的所有文件或目录都改为用户oracle,属于组dba,则执行命令:
chown ?R oracle:dba /u01
7、Linux的Daemon
Daemon守护进程是指系统启动时需要加载的必要的服务和应用。如xinetd等。主要的守护进程在/etc/xinetd.d目录下,而/etc/init.d是在系统初始化的时候需要加载的进程,如syslogd、sendmail等。
例如,当我们telnet一个Linux主机时,xinetd监听23端口,当发现有连接请求时,xinetd启动telnetd守护进程,处理这个telnet连接。
三、Linux基本操作
1、Linux登录选择KDE或是GNOME方式
KDE和GNOME是RedHat提供的两种Xwindow图形化界面,比较友好,提供各种图形工具简化用户操作。在安装Linux的时候,可选择KDE和GNOME(缺省GNOME)。假如安装了KDE,在登录的时候就可以选择KDE风格的界面。
2、Konsole的使用
Konsole是用户工作的界面,命令行要在Konsole界面下运行。屏幕下左起类似于电脑屏幕的图标Shell-Terminal emulator windows打开即可用使用Konsole。
3、注销用户、重新启动和关闭系统
注销:图形界面的屏幕左下Start Application中选择Logout,或点击”注销”图标。
在Linux系统中,普通用户是无权关闭系统的。只有root用户才能够关闭它。当然假如你是按关机按钮则另当别论。以root用户通过以下几种方法实现重新启动和关机:
1) 按下CTRL+ALT+DEL组合键,这样系统将重新启动!
2) 执行reboot命令,这样系统也将重新启动!
3) 执行shutdown -h now命令,这样系统将关闭计算机!
4) 执行halt命令,可以关闭计算机。
5) 执行init 5命令,可以关闭计算机(推荐使用)。
6) 执行init 6命令,可以重新启动计算机(推荐使用)。
注重千万不要随意采用硬关机、重启动键等方式关闭系统,那样会导致Linux文件系统遭受破坏。
4、用户与用户组治理
用户治理,主要的工作就是建立一个合法的用户帐户、设置和治理用户的密码、修改用户帐户的属性以及在必要时删除已经废弃的用户帐号。
1) 增加一个新用户
在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。
# useradd user1
但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录。
在Linux中,新增一个用户的同时会创建一个新组,这个组与该用户同名,而这个用户就是该组的成员。假如你想让新的用户归属于一个已经存在的组,则可以使用如下命令:
# useradd -g usergroup1 user1
这样该用户就属于usergroup1组的一员了。而假如想让其再属于一个组usergroup2,那么使用:
# useradd -G usergroup2 user1
完成了这一操作后,你还应该使用passwd命令为其设置一个初始密码。
2) 删除一个用户
删除用户,只需使用一个简单的命令“userdel 用户名”即可。不过最好将它留在系统上的文件也删除掉,你可以使用“userdel -r 用户名”来实现这一目的。
3) 增加一个组
我们可以根据自己的需要创建用户组:
groupadd <组名>
4) 删除一个组
同样的,我们有时会需要删除一个组,它的命令就是groupdel 。
5、查找文件
图形界面中屏幕左下:Start Application--Find Files;
也可在命令行执行 find . ?name <filename>,表示从本地开始搜索文件名为filename的文件。而find / -name <filename>表示从根目录开始搜索文件。
6、目录操作
直接输入cd,则进入该用户自己的home目录。
1)mkdir <目录名>:建立目录;
2)rmdir <目录名>:删除空目录;
3)rm ?rf <目录名>:强制删除目录以及目录下所有文件和子目录;
4)cd <目录名>:改变目录;
注重:cd与目录名之间一定要空格,比如到根目录,需用“cd /”,而非“cd/”。
5)pwd:查看自己所在的当前目录;
7、你自己和你在文件系统中的位置
who am i 显示自己是谁,自己的IP,自己的Pts;而whoami命令只显示自己是谁。
8、列出文件与目录命令 ll或ls -l或ls ?a
ls ?a 列出包括隐含文件在内的所有文件(Unix中以点开头的文件是隐含文件,如环境变量文件.bash_profile)
ll与ls ?l相同,列出文件和目录的具体信息,如读写权限、时间、属主等。相当于DOS的Dir命令。ls命令的输出如下所示:
total 2
drwxr-xr-x 2 guest user 1024 Mar 13 0:34 Directory
-rw-r----- l guest user 678 Jun 15 1:45 hodo.txt
最左边一列是文件/目录权限(带d为目录),第3列”guest”是的属主信息,第4列”user”是属主所在用户组,第5列是所占空间大小,接下去是日期、时间,最后一列是文件或目录名。
9、oracle的环境变量文件.bash_profile以及home目录
.bash_profile是所有bash用户缺省的环境变量文件,在创建出bash用户后,在该用户的home目录下就会生成这个隐含文件,定义了路径信息、库信息、字符集、要害字等。当修改该文件后,执行. ./.bash_profile命令可使修改立即生效。
/home/oracle为oracle家目录(在创建oracle用户的时候会自动创建该目录)
使用ls ?a命令可以看到隐含文件。
10、查看当前用户 whoami或id
id可看到当前用户的id、组名、组id信息;
11、cdrom被mount到系统后,无法通过按键弹出,需要使用eject命令
cdrom被mount到系统后,不能直接通过按键弹出,需要使用eject命令。假如不能弹出光驱,请使用pwd命令查看当前路径,假如在/mnt/cdrom下请使用cd ..退出到/mnt目录下,然后使用eject命令弹出光驱。
这里请注重,假如执行mount /mnt/cdrom命令的终端窗口被关闭,那么使用eject命令无法弹出光驱。这时可以使用命令fuser -m /mnt/cdrom 查找使用光驱的进程,再杀掉这个进程,就可以弹出光驱了。或干脆重新启动机器。
12、切换用户 su命令
从root用户切换到oracle用户,su ? oracle,可初始化oracle用户的环境变量,假如是su oracle,则继续使用root用户的环境变量。此类切换不需要输入密码。
从普通用户切换到root用户的时候需要输入root的密码。
13、文件编辑
12.1、Unix中最强大的全屏幕编辑器:vi
在命令窗口中使用,如:vi /etc/xinetd.d/wu-FTPd
vi操作请参考附录。
12.2、第2种方法:使用Text Editor,类似我们在Windows记事本中修改文档。
屏幕左下: Start Application--Editors--Text Editor
File中Open File打开要编辑的文件,编辑后注重保存。
假如编辑不了文件,请考虑登录用户权限和文件属主,使用正确的用户登录。
14、光驱和软驱的使用
要使用光驱,插入光盘后,以root身份登录,在根目录下执行
mount /dev/cdrom或mount /dev/cdrom /mnt/cdrom
然后cd /mnt/cdrom,用ls查看相应文件和目录;
cd <目录>,假如目录名比较长,cd 目录第一个字母,然后按tab键系统自动补齐(前提是该目录第一个字母在所有文件和目录中唯一)。
举例:从光盘中拷贝ora8174patch.tar.gz --oracle补丁升级文件
以root用户登录,mount /dev/cdrom,稍等片刻,
cd /mnt/cdrom 进入,
ls 查看文件和目录,
cd <目录> 进入相应目录,并找到要拷贝的目标文件,
cp oracle817setup.tar.gz /tmp 将目标文件拷贝到/tmp目录下,
同样,对于软盘操作也类似,
挂接软盘:mount /dev/fd0
进入软盘:cd /mnt/floppy
15、打包与文件压缩、解压缩
在Unix中打包、压缩等操作是经常需要进行的,主要命令有tar、gzip(gunzip)、compress(uncompress)、zcat等。
tar cvf <源文件或目录> <目标文件.tar> 打包(但不压缩)
tar xvf <filename.tar> 解包到当前目录下
tar czvf <源文件或目录> <目标文件.tar.gz> 打包并压缩(实际使用gzip进行的压缩)
tar xzvf <filename.tar.gz> 解包解压缩
compress <filename> 将文件压缩成filename.Z文件
uncompress <filename.Z> 解压缩
compress是压缩效率很高,使用方便的命令,推荐使用。
例如:tar czvf /u01 u01.tar.gz
表示:将/u01目录打包并压缩为文件u01.tar.gz
另外还有些不常用的命令,如bzip2(bunzip2)等,在此不做说明。
16、Linux网络基本配置
16.1.主机IP地址更改
以root用户执行netconfig命令,可以修改主机IP地址、掩码、DNS等参数,修改后需要重新启动系统网络服务,执行service network restart;
或者在Linux的开始菜单中system/network configuration图形界面中修改IP地址、网卡MAC、主机名等信息,修改后需要重新启动网络服务;
更直接的方式是以root用户执行/sbin/ifconfig eth0 <IP addr> netmask <netmask>,立即生效,重启动后丢失;
修改配置文件的方式,/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改相应的IP和掩码。/etc/hosts文件也做更改即可。
16.2.主机名更改
修改/etc/hosts文件,hosts文件每一行(每字段之间建议以tab分隔)的内容包括:
IP地址 主机名 别名
例如:10.110.51.47 cams loGhost
或 10.110.51.47 cams cams.huawei.com都是合法的,后者表示主机的域名是huawei.com。修改完毕hosts文件需要重新启动机器。
更直接的方式是以root用户执行hostname <主机名>。
16.3.路由查看
命令"route -n"或者"netstat -rn"可以查看主机的路由表。Netstat是非常有用的命令,建议多看看这个命令的帮助,例如netstat ?agrep http,可以查看http服务是否启动并使用了哪些端口。
16.4.修改主机路由
route add命令或者“控制面板”中“Network Configuration”都可以增加、删除、修改路由。
例如:
route add ?net 10.110.48.0 netmask 255.255.255.0 gw 10.110.55.1 在主机上增加一条静态路由,访问10.110.48.0网络的下一跳是10.110.55.1;
route add 0.0.0.0 netmask 0.0.0.0 gw 10.110.48.1 为主机配置缺省路由,使用netstat ?rn看路由时可看到default路由信息。
增加路由时,可直接修改网络配置文件(不推荐):
/etc/sysconfig/network-scripts/ifcfg-eth0
修改后需要重新启动服务service network restart。
16.5.网络服务常用的基本命令
ifconfig命令非常有用,ifconfig ?a 可以查看所有网卡接口的信息,如IP、MAC、数据流量等;ifconfig eth0 down或up可以将eth0接口状态设置为down或up;该命令在/sbin目录下;
setup命令可以帮助你重新设置系统,如显示卡、网络配置、服务等,是文本界面的常用工具,需要以root身份执行;
arp -a命令可检查系统的arp表项。
17、ntsysv启动服务列表,图形界面中是Service Management
执行ntsysv后,可以选择哪些应用服务在主机系统启动时自动运行,如ftp、telnet、sendmail、oracle、httpd、lpd等。
18、使用 "nmap localhost" 检查本机开启的网络服务
假如开启了HTTP服务,则应该显示以下一行:
80/tcp open http
最前面80是HTTP服务使用的端口号,当然HTTP也可以改到其他端口上。
19、系统进程治理与ps
Linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。
1) 启动进程
在Linux系统中有两种启动进程的方法:
a、直接输入命令,就将直接启动一个进程。我们上面介绍的命令都是这种方式启动。
b、 通过at、cron、crontab命令可以像Windows中的计划任务一样定时启动某个进程,具体的使用方法大家可以使用man 来查询。 Cams系统和数据库备份就是这样执行的。
2) 查看进程
使用ps命令来查看正在运行的进程,例如:
列出属于当前用户的进程:
# ps
PID TTY TIME CMD
16767 pts/1 0:00 ps
18029 pts/1 0:00 bash
其中PID代表进程ID,TTY是该进程是由哪个控制台启动的,CMD则是命令。
假如想列出更具体的信息,则可使用命令:“ps -auxw”;假如想要查看Cams是否启动,可以执行命令:”ps ?ef grep cams”, ps ?ef命令列出各进程的进程号、父进程号、进程名、进程属主、运行时间、占用资源情况等信息,grep命令从ps的输出结果中选取指定的要害字。
3) 终止进程
一个进程在任务完成之后,将会自动结束。假如要中途中止该进程,有两种方法:
a、对于在前台运行的程序,直接通过组合键CTRL+C就可以中止进程;
b、而对于在后台运行的程序,则需要通过前面介绍的ps命令找到它的进程号,然后使用“kill <进程号>”来终止该进程。
20、检查系统资源和负载的top命令
Linux和HP-UX提供了比Solaris更直观的方式来检测系统资源,如CPU、内存、虚拟内存等。这就是top命令。top命令提供了动态更新的界面,监视系统资源和进程状况。如检测系统有几个CPU,每个CPU的负载如何,内存使用情况如何等。
在top界面下,退出时请按q,即可退出到命令提示符下。
21、清理进程的命令kill
当发现进程死锁或占用大量系统资源的时候,可以使用kill命令强制杀掉该进程。但对某些重要的守护进程如xinetd等则需要小心从事。另外使用kill命令的时候请注重进程的属主权限,普通用户只能杀掉自己所属的进程,而root用户则可以对任何进程进行处理。
kill -9 <进程号> 强制杀掉某进程,假如该进程是其他进程的父进程,则连子进程也一并杀掉;
kill ?HUP <进程号> 杀掉某进程,并重新读取配置文件,启动该进程。例如:修改了syslogd.conf文件后,需要使修改生效,可采用此方法,将syslogd进程杀掉并重新读取配置文件后启动;
以上是kill最常用的两个参数。
22、空闲磁盘块和文件查看命令df
df(Disk Free)是常用的检查文件系统使用情况的命令,执行df可以看到各文件系统(及其挂接点)空间使用情况。df ?k 以千字节方式检查文件系统空间使用百分比,以确认是否需要及时清理。例如:
# 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:按千字节计算的分区大小
3) Used:已经使用的分区大小(按K计算)
4) Available:还可用的分区大小
5) Use%:已使用的空间所占百分比
6) Mounted on:挂接点
可以看到/home分区现在空间已经用完了!也可以以M为计算单位表示硬盘空间,使用df -m,这样就会以M字节为计算单位显示。
23、文件系统检查fsck
当主机异常掉电时,fsck(file system check)会派上用场,在单用户下执行fsck ?y 将由系统自动检查和修复文件系统的故障。
四、Linux软件包安装
在Red Hat Linux下,应用软件的安装包通常有两种格式:
1) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux创造的一种包封装格式。
2) tar包,如software-1.2.3-1.tar。它是使用打包工具tar打包的。
而且,大多数Linux应用软件包的命名也有一定的规律,它遵循: 名称-版本-修正版-类型。
根据Linux应用程序软件安装包中的内容不同可以分为:
1) 可执行文件,也就是解开包后就可以直接运行的。在Windows中所有的软件包都是这种类型。
2) 另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。
通常(仅仅是通常),用tar打包的,都是源程序;而用rpm打包的则常是可执行程序。 如安装Oracle需要用的JDK118包是tar.gz格式的,属于可执行文件(解包后可以直接运行)。
4.1、 使用rpm打包的应用软件
安装命令: rpm -ivh <rpm软件包名>
参数说明:
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 不管任何错误
-U 升级安装
-v 检测套件是否正确安装
这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。
卸载命令:rpm -e <软件名>
-e参数后面使用的可以是软件名,也可以是软件包名。
例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:
rpm -ivh software-1.2.3-1.i386.rpm
而当卸载时,则执行:
rpm -e software
4.2、 使用tar打包的应用软件
1)、安装
解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。假如是最常见的gz格式,则可以执行:“tar -xvzf <软件包名>”,就可以一步完成解压与解包工作。假如不是,则先用解压软件,再执行“tar -xvf <解压后的tar包>”进行解包;
阅读附带的INSTALL文件、README文件;
执行“./configure”命令为编译做好预备;
执行“make”命令进行软件编译;
执行“make install”完成安装;
执行“make clean”删除安装时产生的临时文件。
一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下。不过这并不是“放之四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
2)、卸载
通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。一般都提供 make uninstall 来卸载软件。
五、Linux注重事项
5.1、如何更改系统时间
要改时间,以root身份执行:
date -s HH:MM:SS (更改时间,其中HH、MM、SS分别为时、分、秒)
clock ?w(写入Cmos)
如此即可,若你是时区设错的话,则可用 timeconfig命令重新设定。
另外需要注重的是,Cams服务器安装完成后,请不要修改系统时间,否则会造成数据库运行异常。
5.2、如何使Linux不响应ping包
假如你想让你的Linux服务器不响应ping:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
这样就可以了。同样:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
就响应ping包。
但假如你重起机器,设置就会失效,所以你必须把
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all这句话添加到/etc/rc.local 里,以便启动时自动生效。
5.3、如何让Linux成为文件服务器
在Linux中,你可以用Samba来做文件服务器,在安装Linux时选中Samba就可以完成安装。
1) 编辑/etc/smb.conf,修改配置:
netbios name=linux
workgroup=SambaServer
server string=Samba Server
hosts allow=192.168.9.127
security=share
interfaces=192.168.9.1/24
name resolve order=host dns bcast
wins support=no
2)重新启动SMB守护进程:/etc/rc.d/init.d/smb restart
3)编辑客户机的hosts文件,加入对Samba Server的解析;
4)最后你就可以在网上邻居上看到它了。
Linux的FAQ
1、 丢失了root口令怎么办
答:对于GRUB方式引导的系统,在重新启动Linux服务器后,出现引导程序菜单,键入 [e] 来进入编辑模式,查找其中类似以下输出的那一行:
kernel /boot/vmlinuz-2.4.18-0.4 ro root=/dev/hda2(假如是HP350服务器可能是/dev/cciss/c0d0p1)
按箭头键选择这一行,然后按 [e]键,再按一下空格键来添加一个空格,在后面输入single来通知 GRUB 引导进入单用户模式。最后按 [Enter] 键来使编辑结果生效。
回到编辑模式屏幕,在这里按 [b]键,GRUB 就会引导单用户 Linux 模式,启动结束后,出现以下的 shell 提示符:
sh-2.05#
在命令提示符后输入passwd命令修改root用户口令,输入新密码和校验密码,口令就会被改变,然后输入 reboot 重新引导系统即可。
对于LILO方式引导的系统,重新启动Linux后,在boot:下输入linux single,回车后系统开始启动进入单用户模式,直到出现sh-2.05#这样的提示符,就可以使用passwd命令修改root口令了。
附录:vi操作
vi是在Unix工作站上广泛使用的功能强大的全屏幕编辑工具。
(1) 进入vi:
直接执行 vi编辑程序即可。此刻屏幕上会出现 vi 的编辑屏幕,同时 vi 会将文件复制一份至内存中的缓冲区(buffer)。vi会保留在硬盘中的文件不变,而先对缓冲区的文件作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。
(2) 离开vi:
若在输入模式下,则先利用[ESC]进入指令模式,而后即可选用下列指令离开vi。
:q! 离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入硬盘中,并离开vi。
:ZZ 同wq。
:x 同wq。
:w 将缓冲区内的资料写入硬盘中,但并不离开vi。
:q 离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容。
(3) 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><b> 屏幕往上卷一页。
<Ctrl><d> 屏幕往下卷半页。
<Ctrl><u> 屏幕往上卷半页。
<Ctrl><e> 屏幕往下卷一行。
<Ctrl><y> 屏幕往上卷一行。
删除与修改:
x 删除光标所在处字符。
X 删除光标所在之前一字符。
dd 删除光标所在该行。
r 用接于此指令之后的字符取代光标所在字符。
R 进入取代状态,直到[ESC]为止。
s 删除光标所在的字符,并进入输入模式直到[ESC]。
S 删除光标所在的该行资料,并进入输入模式直到[ESC]。
移动与复制:
利用delete及put指令可完成资料移动的目的。
利用yank及put指令可完成资料复制的目的。
利用yank和delete可将指定的资料复制到内存缓冲区,而通过 put 指令可将缓冲区内的资料复制到屏幕上。
指令重复:
在命令模式中,可在指令前面加入一数字n,则此指令动作会重复执行n次。
取消前一动作(Undo):
u 恢复最后一个指令之前的结果。
U 恢复光标该行的所有改变。
查找:
在vi中可查找某一字符串,使光标移至该处。
/字符串 往光标之后寻找该字符串。
?字符串 字符串往光标之前寻找该字符串。
n 往下继续寻找下一个相同的字符串。
N 往上继续寻找下一个相同的字符串。
资料的连接:
J 句子的连接。将光标所在的下一行连接至光标该行的后面。
若某行资料太长亦可将其分成两行,只要将光标移至分开点,进入输入模式(可利用 a、i等指令)再按[Enter]即可。
环境的设定:
:set nu 设定资料的行号。
:set nonu 取消行号设定。
:set ai 自动内缩。
:set noai 取消自动内缩。
-300自动内缩(automatic indentation),在编辑文件或程序时,有时会碰到需要内缩的状况,“:set ai”即提供自动内缩的功能。
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”载入下一个文件。