1.开机启动时手动运行程序
Linux加载后,它将初始化硬件和设备驱动,之后运行第一个进程init。init按照配置文件继续引导过程,启动其它进程。一般情况下,更改放置在/etc/rc或/etc/rc.d或/etc/rc?.d目录下的脚本文件,可以使init手动启动其它程序。诸如:编辑/etc/rc.d/rc.local文件,在文件最末加上一行“xinit”或“startx”linux c,可以在开机启动后直接步入X-Window。
2.登陆时手动运行程序
用户登入时,bash首先手动执行系统管理员构建的全局登陆script:/ect/profile。之后bash在用户起始目录下按次序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、/.profile,但只执行最先找到的一个。
为此,只需依据实际须要在上述文件中加入命令就可以实现用户登入时手动运行个别程序(类似于DOS下的Autoexec.bat)。
3.退出登入时手动运行程序
退出登入时,bash手动执行个人的退出登入脚本/.bash_logout。比如linux操作系统介绍,在/.bash_logout中加入命令“tar-cvzfc.source.tgz*.c”,则在每次退出登入时手动执行“tar”命令备份*.c文件。
4.定期手动运行程序
Linux有一个称为crond的守护程序linux 开机自动运行,主要功能是周期性地检测/var/spool/cron目录下的一组命令文件的内容,并在设定的时间执行这种文件中的命令。用户可以通过crontab命令来构建、修改、删除那些命令文件。
比如,构建文件crondFile,内容为“00923Jan*HappyBirthday”,运行“crontabcronFile”命令后,每每元月23日下午9:00系统手动执行“HappyBirthday”的程序(“*”表示不管当日是礼拜几)。
5.定时手动运行程序一次
定时执行命令at与crond类似(但它只执行一次):命令在给定的时间执行,但不手动重复。at命令的通常格式为:at[-ffile]time,在指定的时间执行file文件中所给出的所有命令。也可直接从鼠标输入命令:
$at12:00
at>;mailtoRoger-s″Havealunch″;Ctr-D
Job1at2000-11-0912:00
2000-11-0912:00时侯手动发一标题为“Havealunch”,内容为plan.txt文件内容的电邮给Roger。?912:00
2000-11-0912:00时侯手动发一标题为“Havealunch”,内容为plan.txt文件内容的电邮给Roger。er
通常可以置于/etc/rc.d/rc.local文件中(rpm系统拿来给用户自己配置自需的启动项目的linux 开机自动运行,deb的系统中可以在/etc/init.d/下自己创建启动项目(RPM的系统中也可以)。。。。。。
另外在Bash和TCshell中的一些启动文件如下:
/etc/profile登陆时手动执行
~/.bash_profile,~/.bash_login,~/.profile登陆时手动执行
~/.bashrcshell登陆时手动执行
~/.bash_logout退出时手动执行
~/.bash_history记录近来会话中的命令
/etc/passwd记录用户资源等信息
~/.cshrc或~/.tcshrc每位shell启动时手动执行
~/.login执行完.cshrc或.tcshrc后,又登陆shell执行
~/.cshdirs在tcsh.login后执行
~/.logout在csh或tcsh退出时执行
另外,想在开机时手动加载win分区。可以在/etc/fstab中加上以下几句:
===============addstart======================
/dev/hda1/mnt/cvfatdefaults,codepage=936,iocharset=
cp93600
/dev/hda5/mnt/dvfatdefaults,codepage=936,iocharset=
cp93600
/dev/hda6/mnt/evfatdefaults,codepage=936,iocharset=
cp93600
/dev/hda7/mnt/fvfatdefaults,codepage=936,iocharset=
cp93600
/dev/hda8/mnt/gvfatdefaults,codepage=936,iocharset=
cp93600
/dev/hda9/mnt/hvfatdefaults,codepage=936,iocharset=
cp93600
===============addend=====================
注:“=addstart=”“=addend=”是我为了易于理解加起来的。
大家在更改文件的时侯,不要加进去。
下边我们讲解添加内容的作用:
/dev/hda?是Win盘对应的分区号,你可以在“硬件浏览器”中的硬碟信息中找到。
/mnt/?是Win盘挂载过来后所对应的/mnt下的目录,该目录我们在1.)中早已创建。
vfat指明挂载的分区是FAT格式的。
defaults告诉Linux启动时手动挂载。
codepa……让英文的文件名可以正常显示,否则将显示乱码。
在/etc/rc.d/--有下述目录rc1.drc2.drc3.drc4.drc5.drc6.d
init.d
还有下述文件
rcrc.localrc.sysinit
rcn.d(n为1到6)是对应于不同的runlevel下起不同的服务.这种目录下都
是一些符号联接,联接到init.d下的一些文件.以S开头的表示要启动,以K开头的不启动.
第一个字母前面的数值是一个优先级,这个优先级是用chkconfig来维护的.init.d下
的每一个文件都有类似下边的话:
#chkconfig:23452080
#description:Savesandrestoressystementropypoolfor/
#higherqualityrandomnumbergeneration.
看有chkconfig的那一行,2345表示在runlevel2345下被启动,2080是优先级
20为启动,80为关掉.即在rc3.d你可能看见S20或K80.Redhat下的setup也是用
它处理的.你可以再参考一下manchkconfig.有一点注意,优先即是一个两位数.
RedHat下启动网路一定要启动network的服务,该服务会执行
/etc/sysconfig/network,并用ifup加载所有的/etc/sysconfig/network-script
下定义的网卡.注意,在缺省配置中那些定义文件名中不可以有'.'象ipforward这样的定义
也是在它中完成的.你可以瞧瞧它的源文件.它还定义了一个重要的变量$NETWORK,其他的所
有网路服务都通过检测该变量来决定是否启动.
另外的三个文件是这样的
先执行rc.sysinit完成了包括mount分区激活swap加载modules等重要的工作.
再执行rc.local完成一些本地的处理,缺省情况下,它几乎哪些都没作.
最后是执行rc启动所有的服务.
文章评论