Linux基本操作入门指导书(V1.2)-20031203-C

3/1/2008来源:华为网络人气:11486

目  录 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”载入下一个文件。