一路狂奔
关于First Chance Exception
奔啊奔 发表于 2009-04-11 10:17:42
第一篇,引自MSDN中David Kline的Blog,文章链接为:http://blogs.msdn.com/davidklinems/archive/2005/07/12/438061.aspx
What is a First Chance Exception?
Have you ever been debugging an application and seen a message, in the output window, about a "First chance" exception?WhatEver wondered:
What is a first chance exception?
Does a first chance exception mean there is a problem in my code?
What is a first chance exception?
When an application is being debugged, the debugger gets notified whenever an exception is encountered At this point, the application is suspended and the debugger decides how to handle the exception. The first pass through this mechanism is called a "first chance" exception. Depending on the debugger's configuration, it will either resume the application and pass the exception on or it will leave the application suspended and enter debug mode. If the application handles the exception, it continues to run normally.
In Visual Studio, you may see a message in the output window that looks like this:
A first chance exception of type 'System.ApplicationException' occurred in myapp.exe
In Visual Studio 2005 Beta2, you will see this message anytime a first chance exception is encountered in your application's code. If you are using Visual Studio .NET 2003, this message is shown if you have configured the debugger to stop when the specific exception type is thrown.
If the application does not handle the exception, the debugger is re-notified. This is known as a "second chance" exception. The debugger again suspends the application and determines how to handle this exception. Typically, debuggers are configured to stop on second chance (unhandled) exceptions and debug mode is entered, allowing you to debug.
Does a first chance exception mean there is a problem in my code?
First chance exception messages most often do not mean there is a problem in the code. For applications / components which handle exceptions gracefully, first chance exception messages let the developer know that an exceptional situation was encountered and was handled.
For code without exception handling, the debugger will receive a second chance exception notification and will stop with a unhandled exception.
Take care!
-- DK
第二篇引自CSDN中everandforever的专栏,链接为:http://blog.csdn.net/everandforever/archive/2005/09/29/492417.aspx
关于“First-chance exception”
在VC中调试程序时,Output窗口有时会出现“First-chance exception in xxx.exe...”这样的信息。一般来说,这是由于程序中发生了异常,被VC捕获而产生的输出。
在调试器中运行程序时,如果程序产生异常,调试器会首先获得通知(即First-chance exception),而后此异常由产生它的程序负责捕获。如果程序没有捕获此异常,那么调试器会再次被通知(即Second-chance exception,Last-chance exception),并结束程序。
通常见到的“First-chance exception”一般是“0xC0000005: Access Violation”,“0xC00000FD: Stack Overflow”等,这些都说明程序中有缺陷,需要修正。
但是也有一些属于正常的情况,例如“First-chance exception in xxx.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception”。Windows 操作系统中广泛使用了结构化异常(SEH)来处理特殊情况,许多和底层打交道的API都靠SEH来处理可能发生的意外。并且,这些API中都有捕获SEH的代码,产生的异常不会对程序造成影响。但是由于上面提到的“First-chance exception,Second-chance exception”机制,VC仍然会有输出,但是我们完全可以忽略。如果你实在不喜欢这些输出信息,那你就必须禁用对特定异常的“First-chance exception”捕获。
开始写文章了!
奔啊奔 发表于 2008-06-11 16:45:17
项目终于告一段落,虽然有不负责任的师兄和对地统计学一窍不通的老板。我还是撑过来了。
我是个完美主义者,而系统还有很多细节需要处理,但是不管了,人不为己天诛地灭。我还是得以毕业找工作为主,其他的都先fuck off
这几天看了不少文章,发现近几年关于地统计学的文章大多都停留在综述,或者对理论的边边角角的阐述或者修改,仅有的几篇应用文章,用法不敢恭维。
看看那些大家们的文章,有点心虚,这都能发出来,那我能写成什么样呢?
再看看那些英文文章,那公式,老长了,推导的过程,那简直是天书。而且最头痛的是,国外用的变量或者参数名和国内文献用的不一致,曾经查过,就连国内的都不一致,崩溃了……
看来我需要从头做起了,加油!
wxDev-C++中的断点
奔啊奔 发表于 2008-06-06 10:06:41
在跟踪程序时,突然发现,Dev-C++有很多缺点,最大的就是设置断点。基本上是我设我的断点,它高兴了才在那停一下,郁闷异常。
今早突然发现,将要设置断点的行先取消断点,然后编译程序,最后加上断点,它大多会乖乖的在那停住。也许它普通编译与Debug编译时机制不同,只有存在Debug信息中的断点才会停。
不管怎样,它至少开始听话了,希望在今天把这个问题解决掉。
一些特殊的IP地址
奔啊奔 发表于 2008-05-05 11:17:00
一、0.0.0.0
严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是一个集合:所有不清楚的主机和目的网络。这里的"不清楚"是指在本机的路由表里没有特定条目指明如何到达。对本机来说,它就是一个"收容所",所有不认识的"三无"人员,一律送进去。如果你在网络设置中设置了缺省网关,那么Windows系统会自动产生一个目的地址为0.0.0.0的缺省路由。
二、255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机。意思是:"这个房间里的所有人都注意了!"这个地址不能被路由器转发。
三、127.0.0.1
本机地址,主要用于测试。用汉语表示,就是"我自己"。在Windows系统中,这个地址有一个别名"Localhost"。对这样一个地址进行寻址操作,是不能把它发到网络接口的。除非出错,否则在传输介质上永远不应该出现目的地址为"127.0.0.1"的数据包。
四、224.0.0.1
组播地址,注意它和广播的区别。从224.0.0.0到239.255.255.255都是这样的地址。224.0.0.1特指所有主机,224.0.0.2特指所有路由器。这样的地址多用于一些特定的程序以及多媒体程序。如果你的主机开启了IRDP(Internet路由发现协议,使用组播功能)功能,那么你的主机路由表中应该有这样一条路由。
五、169.254.x.x
如果你的主机使用了DHCP功能自动获得一个IP地址,那么当你的DHCP服务器发生故障,或响应时间太长而超出了一个系统规定的时间,Windows系统会为你分配这样一个地址。如果你发现你的主机IP地址是一个诸如此类的地址,很不幸,十有八九是你的网络不能正常运行了。
六、10.x.x.x、172.16.x.x~172.31.x.x、192.168.x.x
私有地址,这些地址被大量用于企业内部网络中。一些宽带路由器,也往往使用192.168.1.1作为缺省地址。私有网络由于不与外部互连,因而可能使用随意的IP地址。保留这样的地址供其使用是为了避免以后接入公网时引起地址混乱。使用私有地址的私有网络在接入Internet时,要使用地址翻译(NAT),将私有地址翻译成公用合法地址。在Internet上,是不会出现类似的IP地址的。
[转]不要一辈子靠技术生存
奔啊奔 发表于 2007-12-07 09:11:00
麻烦的GRUB
奔啊奔 发表于 2007-11-09 16:02:11
目标:
1、缩短列表,我是个崇尚简约的人,这么长一个表列在那里,看着就不爽。
2、把XP移到表首,如果不行,那就将其设为默认启动项。
不过要收拾他,必须先找到到他,baidu+Google了下,发现他在/boot/grub/躲着,但是那有那么多文件哦,让我怎么弄?一个一个试吧,反正直接打开是只读。后来发现,只有menu.lst可以打开,用gedit打开,那么多东西,还好是英文,而且大多认识...仔细研究了一下,感觉没问题。sudo gedit /boot/grub/menu.lst 按照上面写的修改了几个参数。
<1>将 default 0 改为 default saved。这么做是因为他有说明...You can specify 'saved' instead of a number.In this case, the default entry is the entry saved with the command 'savedefault'. WARNING: If you are using dmraid do not change this entry to 'saved' or your array will desync and will not let you boot your system.这项把我吓了一小跳,把机箱拆了看,只有一块硬盘,好,不怕。
<2>把后面其他启动项的savedefault都注释掉,用##。在Microsoft Windows XP Professional 项后加上savedefault。
保存(先备份了下,不然改坏了哭都来不及...备份命令 sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_back)。重启 sudo reboot 。以为大功告成。但是没用,还是那长长的一个大列表,而且倒霉的XP还在最下面,而且也不是默认项。等于刚才都白忙活了。
<3>仔细分析,又数了数一共几个启动项,把没用的注释掉不就行了吗,笨啊。于是开始注释除了要用的UBUNTU内核(以及其recovery mode)和XP的所有启动项。UBUNTU启动项中的savedefault依然保持注释状态。
再开机,yo ho~完成了。后来仔细想了想,可能上次重启时XP就已经是默认项了,只是由于在最下面,我没注意到...
不管怎样,我达到了我的目的。等有时间再好好看看这个文件,感觉功能还是挺强大的,可以导引几乎所有的操作系统。
后来又看了看,感觉设置其实很简单,上面说得很清楚,只是当时自己太笨了。现在初始目标全部达到,哈哈~
Win XP(包括2000)的控制台命令
奔啊奔 发表于 2006-06-20 11:05:00
Win XP(包括2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。
第一部分:文件和目录*作命令
Attrib Batch Chdir (Cd)
Copy Delete (Del) Expand
Mkdir (md) Rmdir (Rd) Type
More
第二部分:系统和磁盘*作命令
Bootcfg hkdsk Diskpart
Fixboot Fixmbr Format
Map
第三部分:辅助*作和特殊功能命令
Cls Disable Enable
Exit Help commandname
Listsvc Logon Net use
Set Systemroot
Attrib
更改单个文件或目录的属性。该命令设置或删除指派给文件或目录的只读、系统、存档、隐藏以及压缩属性。
含有下列参数的 attrib 命令仅当使用故障恢复控制台时才可用。含有不同参数的 attrib命令可在命令提示符中使用。
attrib [ +r|-r] [ +s|-s] [ +h|-h] [ +c|-c] [ [ drive:] [ path] filename]
参数
+r 设置只读属性。
-r 清除只读属性。
+s 设置系统属性。
-s 清除系统属性。
+h 设置隐藏属性。
-h 清除隐藏属性。
+c 设置压缩属性。
-c 清除压缩属性。
[ [ drive:] [ path] filename]
指定要处理的目录或文件的位置和名称。可以一次只更改一个文件,也可以更改整个目录。
注意:可以用一个命令更改一个文件或目录的多个属性。
Batch
执行在文本文件中指定的命令。batch 命令仅在使用故障恢复控制台时才可用。故障恢复控制台可以从安装 CD 中启动。
batch input_file [ output_file]
参数
input_file
指定包含要执行的命令列表的文本文件。Input_file 可以由驱动器号和冒号、目录名、文件名或它们的组合构成。
output_file
如果指定,则在命名文件中存储命令输出。如果没有指定,输出将显示在屏幕上。
范例
下例将执行批处理文件 C:\ Jobs\ Find.txt 并将输出存储在文件 C:\ Jobs\ Results.txt 中:
batch c:\ jobs\ find.txt c:\ jobs\ results.txt
注意:批处理文件不能包含嵌套的 batch 命令。
Chdir (Cd)
显示当前目录的名称,或更改当前的文件夹。
含有下列参数的 chdir 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chdir 命令。
chdir [drive:] [path] [ ..]
或者
cd [drive:] [ path] [ ..]
参数 无
如果不带任何参数,chdir 将显示当前驱动器和文件夹的名称。只与驱动器号一起使用(例如 cd C:),chdir 将显示指定驱动器上的当前目录。
[ drive:] [ path]
指定要改到的驱动器(如果不是当前驱动器)和目录。
[ ..]
指明要改到父文件夹。在 chdir 和两个句点之间插入一个空格。
注意
· Chdir 将空格视作分隔符。用引号将包含空格的目录名扩起来。例如:
cd "driver cache"
· Chdir 只适用于当前 Windows 安装的系统目录、可移动媒体、硬盘分区的根目录或本地安装源。
Copy
将单个文件复制到其他位置。含有下列参数的 copy 命令仅在使用故障恢复控制台时才可用。
可在命令提示符下使用带不同参数的 copy 命令。
copy source [ destination]
参数
source
指定要被复制的文件的位置和名称。Source 可由驱动器号和冒号、目录名、文件名或组合所组成。
destination
指定要复制到其中的文件或文件集的位置和名称。Destination 可以由驱动器号和冒号、文件夹名、文件名及组合而组成。
注意
· 源可以是可移动媒体、当前 Windows 安装的系统目录中的任何目录、驱动器的根目录、本地安装源或 Cmdcons 目录。
· 目标可以是除可移动媒体以外的任何与源相同的位置。如果没有指定目标,则默认为当前目录。
· Windows 安装 CD 中的压缩文件在复制过程中解压缩。
· Copy 不支持通配符。
Delete (Del)
删除单个文件。含有下列参数的 delete 或 del 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 delete 或 del 命令。
delete [ drive:] [ path] filename
或者
del [ drive:] [ path] filename
参数
[ drive:] [ path] filename指定要删除的文件的位置和名称。
注意
· Delete 只适用于当前 Windows 安装的系统目录、可移动媒体、硬盘分区的根目录或本地安装源。
Dir
显示目录中的文件和子目录列表。含有下列参数的 dir 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 dir 命令。
dir [ drive:] [ path] [ filename]
参数
[ drive:] [ path]
指定要查看列表的驱动器和目录。
[ filename]
指定要查看列表的特定文件或一组文件。可以使用多个文件名。文件名可以用空格、逗号或分号隔开。可以在 filename 参数中使用通配符(?和 *)显示一组文件。
Dir 还列出磁盘的卷标和序列号,以及所列文件的数目,累计大小和磁盘上剩余的可用空间(以字节计)。对于每个文件和子目录而言,dir 列出文件的扩展名、文件字节数、文件的最后修改日期和时间以及下列文件属性(如果可用):
缩写 属性
d 目录
h 隐藏文件
s 系统文件
e 加密
r 只读
a 存档文件
c 已压缩
p 重新分析点
注意:
Dir 仅适用于当前 Windows 安装的系统目录、可移动媒体、硬盘分区的根目录或本地安装源。
Expand
从压缩文件中提取文件。通过该命令可从 .cab 文件或压缩文件中提取驱动程序文件。
含有下列参数的 expand 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 expand 命令。
expand source [ /F:filespec}] [ destination] [ /d] [ /y]
参数
source
指定要展开的文件。如果源文件只包含一个文件,请使用该选项。source 可由驱动器号和冒号、目录名、文件名或组合所组成。不能使用通配符。
/f:size
如果源文件包含多个文件,指定要提取的文件的名称。可以对要提取的文件使用通配符。
destination
指定提取文件或每个单独文件的目标目录和(或)文件名。
/d
列出 CAB 文件中包含的文件而不展开或提取。
/y
在展开或提取文件时不出现覆盖提示。
范例
下例将从安装 CD 上的驱动程序 CAB 文件中提取 Msgame.sys 文件并将其复制到C:\ Windows\ System\ Drivers:
expand d:\ i386\ driver.cab \ f:msgame.sys c:\ windows\ system\ drivers
下例将展开压缩文件 Access.cp_:
expand d:\ i386\ acces.cp_c:\ windows\ system32\ access.cpl
下例将列出安装 CD 上的驱动程序 CAB 文件中的所有文件。
expand /d d:\ i386\ driver.cab
要点
· 驱动程序 CAB 文件包含成千上万的文件,其中包括由 Windows 提供的大部分驱动程序。将所有文件从 CAB 文件展开到硬盘上需要花较长的时间和大量的磁盘空间。建议 仅从该文件中提取需要的文件。
注意
· 如果没有指定目标,文件将被复制到当前目录。
· 不能将软盘驱动器或 CD-ROM 等可移动媒体指定为目标。
Mkdir (md)
创建目录或子目录。含有下列参数的 mkdir 命令仅在使用故障恢复控制台时可用。可在命令提示符下使用带不同参数的 mkdir 命令。
mkdir [ drive:] path
或者
md [ drive:] path
参数
drive:
指定要创建新目录的驱动器。
path
指定新目录的名称和位置。不能使用通配符。
注意
· Mkdir 仅适用于当前 Windows 安装的系统目录、可移动媒体、硬盘分区的根目录或本地安装源。
Rename (Ren)
更改单个文件的名称。含有下列参数的 rename 命令仅在使用故障恢复控制台时可用。可在命令提示符下使用带不同参数的 rename 命令。
rename [ drive:] [ path] filename1 filename2
或者
ren [ drive:] [ path] filename1 filename2
参数
[ drive:] [ path] filename1
指定要重新命名的文件的位置和名称。不能使用通配符。
filename2
为文件指定新的名称。重新命名文件时不能指定新的驱动器或路径。
Rmdir (Rd)
删除目录。含有下列参数的 rmdir 命令仅在使用故障恢复控制台时可用。可在命令提示符下使用带不同参数的 mdir 命令。
rmdir [ drive:] path
或者
rd [ drive:] path
参数
[ drive:] path
指定要删除的目录的位置和名称。不能使用通配符。
注意
· 目录必须为空否则命令失败。
· Rmdir 仅适用于当前 Windows 安装的系统目录、可移动媒体、硬盘分区的根目录或本地安装源。
Type
显示文本文件的内容。使用 type 或 more 命令查看文本文件而不修改文件。含有下述参数的 type 命令仅在使用故障恢复控制台时可用。可在命令提示符下使用带不同参数的 type命令。
type [ drive:] [ path] filename
或者
more [ drive:] [ path] filename
参数
[ drive:] path] filename
指定要查看的文件的位置和名称。
如果使用 NTFS 驱动器而且文件名包含空格,则必须用引号 (")将文件名引起来。
More
显示文本文件的内容。使用 more 或 type 命令查看文本文件而不修改文件。含有下列参数的 more 命令仅在使用故障恢复控制台时可用。可在命令提示符下使用带不同参数的 more命令。
more [ drive:] [ path] filename
或者
type [ drive:] [ path] filename
参数
[ drive:] path] filename
指定要查看的文件的位置和名称。
如果使用 NTFS 驱动器,而且文件名包含空格,则必须用引号 (")将文件名引起来。
Bootcfg
bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。
含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。
用法:
bootcfg /default 设置默认引导项。
bootcfg /add 向引导列表中添加 Windows 安装。
bootcfg /rebuild 重复全部 Windows 安装过程并允许用户选择要添加的内容。
注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。
bootcfg /scan 扫描用于 Windows 安装的所有磁盘并显示结果。
注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。
bootcfg /list 列出引导列表中已有的条目。
bootcfg /disableredirect 在启动引导程序中禁用重定向。
bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]
在启动引导程序中通过指定配置启用重定向。
范例:
bootcfg /redirect com1 115200
bootcfg /redirect useBiosSettings
hkdsk
创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。
含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。
vol [drive:] [ chkdsk [drive:] [/p] [/r]
参数 无
如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。
drive: 指定要 chkdsk 检查的驱动器。
/p 即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。
/r 找到坏扇区并恢复可读取的信息。隐含着 /p 参数。
注意
· Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为\ %systemroot%\ System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。
Diskpart
创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。
diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]
参数 无
如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。
/add
创建新的分区。
/delete
删除现有分区。
device_name
要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:
\ Device\ HardDisk0
drive_name
以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:
D:
partition_name
以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:
\ Device\ HardDisk0\ Partition1
大小
要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。
范例
下例将删除分区:
diskpart /delete \ Device\ HardDisk0\ Partition3
diskpart /delete F:
下例将在硬盘上添加一个 20 MB 的分区:
diskpart /add \ Device\ HardDisk0 20
Fixboot
向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用 fixboot 命令。
fixboot [drive]
参数 驱动器
将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:
范例
下列命令范例向驱动器 D:的系统分区写入新的分区引导扇区:
fixboot d:
注意: 如果不带任何参数,fixboot 命令将向用户登录的系统分区写入新的分区引导扇区。
Fixmbr
修复启动磁盘的 主启动记录。fixmbr 命令仅在使用故障恢复控制台时才可用。
fixmbr [ device_name]
参数
device_name
要写入新的主引导记录的设备(驱动器)。设备名称可从 map 命令的输出获得。例如,设备名称:
\ Device\ HardDisk0
范例
下列命令示例向指定设备写入一个新的主引导记录:
fixmbr \ Device\ HardDisk0
注意
· 如果不指定 device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。
· 如果系统检测到无效或非标准分区表标记,将提示用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。
Format
将指定的驱动器格式化为指定的文件系统。含有下列参数的 format 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 format 命令。
format [ drive:] [ /fs:file-system]
参数
drive:
指定要格式化的驱动器。不能从故障恢复控制台格式化软盘。
/q
对驱动器进行快速格式化。不扫描驱动器看是否有坏区域,因此只应对以前格式化过的驱动器使用该参数。
/fs:file-system
指定要使用的文件系统:FAT 、FAT32 或 NTFS 。如果未指定文件系统,将使用现有的文件系统格式。
Map
显示驱动器号与物理设备名称的映射。该信息在运行 fixboot 和 fixmbr 命令时非常有用。
map 命令仅在使用故障恢复控制台时才可用。
Map [ arc]
参数
arc
指示 map 命令显示高级 RISC 计算 (ARC)设备名称而不是设备名称。以下是 ARC 设备名称的范例:
multi(0)disk(0)rdisk(0)partition(1)
等价的设备名称是:
\ Device\ HardDisk0\ Partition1
范例
下例将物理设备名映射为使用 ARC 设备名称的驱动器号:
map arc
注意
· 如果不使用 arc 参数,则 map 命令显示设备名称。
· map 命令还显示文件系统的类型和每个磁盘的大小 (MB)。
Cls
清除屏幕。
清除后的屏幕只显示命令提示符和插入点。
Disable
禁用 Windows XP 、Windows 2000 或 Windows NT 4.0 系统服务或设备驱动程序。disable 命令仅在使用故障恢复控制台时才可用。
disable {service_name] |[ device_driver_name}
参数
service_name
要禁用的系统服务名称。
device_driver_name
要禁用的设备驱动程序名称。
范例
下例将禁用 Eventlog 服务:
disable eventlog
注意
· disable 命令将指定的服务或驱动程序的启动类型设为 SERVICE_DISABLED 。
· 使用 disable 命令禁用系统服务或设备驱动程序时,该系统服务或设备驱动程序上次启动类型的名称将显示在屏幕上。应该记下该名称,以便在需要时使用 enable 命令将启动类型恢复为上次的设置。
· 共有五种启动类型。前三种类型是:SERVICE_AUTO_START 、SERVICE_DISABLED 和SERVICE_DEMAND_START 。对应的标准启动类型:自动、禁用和手动,通常使用“计算机管理”管理工具中的“服务”进行配置。后两种类型是:SERVICE_BOOT_START 和SERVICE_SYSTEM_START,通常用于配置加载设备驱动程序的方式。例如,在启动计算机时或启动 Windows 时加载。
Enable
启用 Windows XP 、Windows 2000 或 Windows NT 4.0 系统服务或设备驱动程序。enable 命令仅在使用故障恢复控制台时才可用。
enable {service_name |device_driver_name}[ startup_type]
参数
service_name
要启用的系统服务的名称。
device_driver_name
要启用的设备驱动程序的名称。
startup_type
要为服务或设备驱动程序指派的启动类型。有效的启动类型包括:
· SERVICE_BOOT_START
· SERVICE_SYSTEM_START
· SERVICE_AUTO_START
· SERVICE_DEMAND_START
范例
下例将 Eventlog 服务的启动类型设为自动或 SERVICE_AUTO_START:
enable eventlog service_auto_start
注意
· 如果不指派启动类型,enable 命令将列出在 service_name 中指定的服务或设备驱动程序的当前启动类型。
· 使用 enable 命令更改启动类型时,上次启动类型的名称将显示在屏幕上。应该记下该名称,以便在需要时将启动类型恢复为上次的设置。
Exit
关闭故障恢复控制台并重新启动计算机。exit 命令仅在使用“故障恢复控制台”时才可用。
exit
参数 无
Help
提供有关故障恢复控制台命令的联机信息。
help [ commandname]
参数 无
列出故障恢复控制台中提供的命令。
commandname
提供有关命令信息,包括命令使用的参数。
注意
· 有两种方法可以获得命令的联机帮助。可以指定 help 命令后的命令名称,或者可以在命令提示符中键入该命令名称和 /?。开关。例如,键入下列命令可以获得有关extract 命令的信息:
help extract
extract /?
Listsvc
列出计算机上可以使用的服务和驱动程序。listsvc 命令仅在使用故障恢复控制台时才可用。
listsvc
参数 无
Logon
登录到 Windows 安装。logon 命令仅在使用故障恢复控制台时才可用。
logon
参数 无
注意
· logon 命令将列出所有检测到的 Windows 安装,需要安装的本地管理员密码才能登录。
· 如果 3 次登录尝试都失败,“故障恢复控制台”会退出并且计算机将重新启动。
Net use
将网络共享连接到驱动器号。含有下列参数的 net use 命令仅在使用故障恢复控制台时可用。在命令提示符下可以使用带不同参数的 net use 命令。
语法
net use [ \ \ ComputerName\ ShareName [ /user:[ DomainName\ ] UserName] password] |[ drive letter:] [ /d]
参数
\ \ servername\ sharename
指定服务器和共享资源的名称。如果 computername 包含空白字符,则将计算机名从双反斜杠 (\ \ )到计算机名结尾用引号 (")括起来。计算机名长度可以是 1 到 15 个字符。
/user
指定建立连接的用户名。
域名
确认用户的凭据时所要使用的域名。
用户名
指定登录时使用的用户名。
密码
指定访问共享资源所需的密码。不输入密码,将给出要键入密码的提示。在密码提示行处键入密码时不显示密码。
/d
表示将不断开该连接。
Set
显示和设置“故障恢复控制台”的环境变量。set 命令是必须与安全模板一同使用的可选命令。
含有不同参数的 set 命令仅在使用故障故障恢复控制台时可用。可在命令提示符下使用带不同参数的 set 命令。
set [ variable=[ string] ]
参数
variable
指定需要设置或修改的变量。
“故障恢复控制台”支持以下环境变量:
变量 说明
AllowWildCards 允许某些命令(如 del 命令)支持通配符。
AllowAllPaths 允许访问系统上的所有文件和目录。
AllowRemovableMedia 允许文件复制到可移动媒体上,如软盘。
NoCopyPrompt 覆盖现有文件时不显示提示。
string
指定要与指定变量关联的字符串。
范例
下例允许在某些故障恢复控制台命令中使用通配符:
set allowwildcards=true
指定要删除的目录的位置和名称。不能使用通配符。
注意
· 目录必须为空否则命令失败。
· Rmdir 仅适用于当前 Windows 安装的系统目录、可移动媒体、硬盘分区的根目录或本地安装源。
Systemroot
将当前目录设置为用户登录到的 Windows 安装系统的 systemroot 文件夹。systemroot 命令仅在使用故障恢复控制台时可用。
systemroot
参数 无
【转】USB
奔啊奔 发表于 2006-06-20 11:00:00
USB(通用串行总线)是用于将适用USB的外围设备连接到主机的外部总线结构,其主要是用在中速和低速的外设。USB是通过PCI总线和PC的内部系统数据线连接,实现数据的传输。USB同时又是一种通信协议,它支持主系统(host)和USB的外围设备(device)之间的数据传输。
USB的拓扑结构:
在USB的网络协议中,每个USB的系统由且只有一个host,他负责管理整个USB系统,包括USB Device的连接与删除、Host与USB Device的通信、总路线的控制等等。Host端有一个Root Hub,可提供一个或多个USB下行端口。每个端口可以连接一个USB Hub 或者一个USB Device。USB Hub是用于USB端口扩展的,即USB Hub可以将一个USB端口扩展为多个端口。
USB的系统由且只有一个host,而PC端的USB都是Host,所以如果将两台PC的USB口通过A-A USB电缆连接起来,是不能实现通信的。因为USB网络协议不允许在一个USB的系统内出现两个host。
USB设备:
USB的设备可以接在PC上的任意的USB接口上。而使用Hub还可以扩展使更多的USB设备连接到系统中,从而可以使整个的系统可以扩展到127个外设,其中Hub也算外设。对于USB系统来说,USB的host永远在PC边,所有的其它连接到host都称为设备,在设备与设备之间是无法实现直线通信的,只有通过host的管理与调节才能够实现数据的互相传送。
【转】程序人生:做技术,切不可沉湎于技术
奔啊奔 发表于 2006-05-28 18:54:00
[1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手!
[2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!
[3]不要去做技术高手,只去做综合素质高手!在企业里混,我们时常瞧不起某人,说他“什么都不懂,凭啥拿那么多钱,凭啥升官!”这是普遍的典型的工程师的迂腐之言。8051很牛吗?人家能上去必然有他的本事,而且是你没有的本事。你想想,老板搞经营那么多年,难道见识不如你这个新兵?人家或许善于管理,善于领会老板意图,善于部门协调等等。因此务必培养自己多方面的能力,包括管理,亲和力,察言观色能力,攻关能力等,要成为综合素质的高手,则前途无量,否则只能躲在角落看示波器!技术以外的技能才是更重要的本事!!从古到今,美国日本,一律如此!
[4]多交社会三教九流的朋友!不要只和工程师交往,认为有共同语言,其实更重要的是和其他类人物交往,如果你希望有朝一日当老板或高层管理,那么你整日面对的就是这些人。了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费,成功的概率大大降低!
[5]知识涉猎不一定专,但一定要广!多看看其他方面的书,金融,财会,进出口,税务,法律等等,为以后做一些积累,以后的用处会更大!会少交许多学费!!
[6]抓住时机向技术管理或市场销售方面的转变!要想有前途就不能一直搞开发,适当时候要转变为管理或销售,前途会更大,以前搞技术也没有白搞,以后还用得着。搞管理可以培养自己的领导能力,搞销售可以培养自己的市场概念和思维,同时为自己以后发展积累庞大的人脉!应该说这才是前途的真正支柱!!!
[7]逐渐克服自己的心里弱点和性格缺陷!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。。。这些工程师普遍存在的性格弱点必须改变!很难吗?只在床上想一想当然不可能,去帮朋友守一个月地摊,包准有效果,去实践,而不要只想!不克服这些缺点,一切不可能,甚至连项目经理都当不好--尽管你可能技术不错!
[8]工作的同时要为以后做准备!建立自己的工作环境!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,业余可以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业!先把东西准备好,等待机会,否则,有了机会也抓不住!
[9]要学会善于推销自己!不仅要能干,还要能说,能写,善于利用一切机会推销自己,树立自己的品牌形象,很必要!要创造条件让别人了解自己,不然老板怎么知道你能干?外面的投资人怎么相信你?提早把自己推销出去,机会自然会来找你!搞个个人主页是个好注意!!特别是培养自己在行业的名气,有了名气,高薪机会自不在话下,更重要的是有合作的机会...
[10]该出手时便出手!永远不可能有100%把握!!!条件差不多就要大胆去干,去闯出自己的事业,不要犹豫,不要彷徨,干了不一定成功,但至少为下一次冲击积累了经验,不干永远没出息,而且要干成必然要经历失败。不经历风雨,怎么见彩虹,没有人能随随便便成功!
【译】MapServer应用的结构
奔啊奔 发表于 2006-05-26 10:35:00
在mapserver网站上看到了Anatomy of a MapServer Application,觉得对了解mapserver很有帮助,便按照自己的理解翻译过来与大家共享
一个简单的Mapserver应用包括:
Map文件 - 是一个mapserver应用的结构文本配置文件。它定义了地图范围,告诉mapserver程序到哪里导入或者导出数据。它还定义了你的地图图层,包括它们的数据源、投影以及符号表。通常以.map为扩展名。
地理资料 - mapserver可以使用多种类型的数据源。默认的数据格式是ESRI的shapefile。
HTML网页 - 用户和mapserver之间的界面。它们通常在web的根目录下。在这种最简单的框架下,可以调用mapserver在html网页中放置一个静态的地图图片。为了让地图具有交互性,将图片以html形式放置在页面上。
CGI程序对状态不敏感,由于它不记得上次被应用程序调用时发生的任何事,所以每个request对它来说都是新的。因此每次应用程序向mapserver发送request时,需要在隐变量或者URL变量中传递一些相关信息(例如,现在在哪个图层,在地图的什么位置,应用程序的模式等等)
一个简单的应用应该有两个html页面:
初始文件 - 用隐变量的方式向http服务器和mapserver发送初始查询。这个方式可以出现在另一个页面或者在URL中用传递初始信息的变量代替。
模板 - 控制如何在浏览器中显示由mapserver输出的地图和图例。通过在模板html中引用Mapserver CGI变量,可以让mapserver根据一些值来计算出它们(Mapserver CGI变量)的值,而这些值与应用程序为浏览器创建页面时的状态相关的(例如,地图图像的名称,引用图像的名称,地图范围等)。模板还决定了用户和mapserver应用(browse, zoom, pan, query)是如何交互的。
Mapserver CGI - 是接受requests并返回图像、数据的二进制或者可执行文件。通常在http服务器的cgi-bin或者scripts文件夹中。web服务器用户必须对这个文件夹有执行的权限,基于安全考虑,它不应该在web根目录下。
http服务器 - 相应用户浏览器的请求并提供html页面。在安装mapserver的机器上应该有个工作中的http服务器,例如apache或者IIS。
【转】Linux 起步12道问题
奔啊奔 发表于 2006-05-18 12:34:00
在网页上闲逛,看到了这个《Linux 起步12道问题》,觉得挺好的,尤其是对我这样的初学者。给大家分享一下 :)
1、 GNU/GPL/LGPL是为了保证Linux源码开放性的三项措施,请分别解释出这三项措施的含义和作用?请说明linux版本2.0.36每一部分的代表的含义及它是属于稳定版本还是开发版本?
答案:
1)、GNU是GNU Is Not UNIX的递归缩写,旨在消除对计算机软件拷贝、分发、修改的限制
GPL:General Public License,通用公共许可证 。它要求软件以源代码的形式发布,并规定,任何用户都能够以源代码的形式将软件复制或发布给别的用户;它提醒每个用户,对于该软件不提供任何形式的担保;如果用户的软件使用了受GPL保护的任何软件的一部分,那么,该软件就继承了GPL软件;GPL并不排斥对自由软件进行商业性质的包装和发行
LGPL:Libraray General Public License,程序库通用公共许可证。允许在使用者自己的应用程序中使用程序库,并获得程序库的源代码。
2)、Linux的版本分为主版本号、次版本号和末版本号。主版本号代表较大改动,次版本号表示功能性的改动,末版本号表示BUG的改动。次版本号为奇数是开发版本,偶数是稳定版本。2.0.36是稳定版本。
出题说明:考察学员对开放源码的理解程度和Linux版本的含义。
2、 在Linux9.0的安装过程中,当系统引导起来,在boot:提示符下输入Linux askmethod命令选择安装方式,一共有哪几种安装方式?选择其中一种安装方式,并选择安装新的Linux系统后,有几种安装类型可以选择,它们都用于哪种环境?若手工进行磁盘分区,至少要分哪几分区,每个分区的功能、大小和文件类型都应该是什么?在安装完成的文件系统中,下面几个目录(/bin, /etc, /dev, /home, /root)都存放了什么文件?
答案:
1)、有五种安装方式,分别是:本地CDROM,硬盘驱动器,NFS,FTP,HTTP
2)、有四种安装类型可供选择:
个人桌面:创建一种带有图形化环境的系统,适于Linux新手。
工作站:安装一个图形化桌面环境和X窗口系统,以及软件开发工具。
服务器:只安装基本Linux运行环境,不安装图形界面,其他常用应用服务软件。
定制:最大的灵活性,可以选择系统引导程序和想要的软件包等等。
3)、手工建立分区,至少以下三种:
/boot 包含操作系统的内核以及引导文件 128MB etx3
/swap 支持虚拟内存 物理内存的2倍,小于2GB swap
/ 其他都可以放在这个分区 1.7---5.0GB etx3
4)、/bin 存放可执行文件,大多是系统中常用的命令。Ls,su等
/dev 都是特殊文件,Linux把所有的外设都看成是一个文件。如/dev/fd0就代表软盘驱动器。
/etc 存放系统的配置文件,一般与系统关系十分密切的培植文件都在这里。如inittab、lilo.conf等
/home 是系统缺省普通用户的主目录的根目录,如:/home/[userid]
/root 超级用户root的缺省主目录,一般拥护是没有对这个目录的写权限的。
出题说明:考察学员对安装过程、文件系统、文件类型、目录结构、磁盘分区的掌握情况。
3、 请说出vi编辑器的三种模式以及他们之间的相互转换。请写出下面操作的步骤:用vi命令同时打开两个文件file1和file2,水平分割放置;在file1文件中查找包含test字符的行;copy 有test字符的一行到file2的末尾;保存退出。
答案:
1)、Vi工作有三种模式:命令模式、文本输入模式和末行模式。用Vi打开一个文件后,处于命令模式。利用文本插入命令,如i,a,o等可以进入输入模式,用[Esc]键可以从输入模式退回命令模式。在命令模式中按“:”键可以进入到末行模式,当执行完命令或按[Esc]键可以回到命令模式。
2)、命令如下:
vi –o file1 file2 #水平分割打开两个文件
/test #在file1文件中查找test字符串,可以在命令模式或末行模式执行
光标移动到test行,用V命令选中该行
用yy命令复制该行到缓冲区
用ctrl-w ctrl-w 命令进行窗口切换,切到file2文件中
光标定位到文件末尾,用p命令进行粘贴
:wq #保存退出
出题说明:考察学员对vi编辑器的使用和命令的掌握情况。
4、 在Linux中创建testgroup用户组,指定其GID为600。创建一个用户testuser,使该帐户的默认shell是cshell,并给他加入到testgroup中,另外指定该用户在2010年12月31日过期,最后设置testuser的密码。请写出以上操作的具体命令,如果要检查用户、密码和组的配置情况,需要查看那些文件?
答案:
1)、groupadd –g 600 testgroup
2)、useradd –e 12/31/2010 –g testgroup –s /bin/csh testuser
passwd testuser
3)、查看用户用/tec/passwd 文件
查看用户密码用/etc/shadow文件
查看组信息用/etc/group文件
出题说明:考察学员对用户和组管理命令的掌握情况。
5、 在Linux9.0中Shell提供变量来设置环境参数和保存shell信息。变量根据不同的作用可以分为哪四种?变量设置时可以根据不同的条件给变量赋不同的值,请说明如下公式:变量=${参数变量:=woed}表示的意思并举例说明。请说出如下变量代表的意义:$#, $! , {post.content} ?
答案:
1)、四种变量分别为:本地变量、环境变量、位置参数变量和预定义变量。
2)、变量=${参数变量:=woed}表示如果设置了参数变量,则用参数变量的值置换变量的值,否则把变量设置成word,然后再用word替换参数的值。如B=${C:=word}中,如果设置了C=good, word=bad时,则B=good; 如果C没有设置,word=bad,则B=bad,同时把B也设成bad。
3)、$# 表示传递到脚本的参数的数量
$! 表示后台运行的最后一个进程号
{post.content} 表示当前执行的进程名
出题说明:考察学员对用户和组管理命令的掌握情况。
6、 在Linux系统中有重定向和管道的功能,他们都能把前面的输出作为后面的输入,他们的区别是什么?请说出如下两个命令的意思:
wc </etc/passwd >output.wc 2>error.wc
ls –al ,/ | wc > ls.wc
答案:
1)、重定向是把前面运行命令的结果输入到后面的文件中;而管道功能是把前面命令运行的结果作为后面命令的输入。主要区别在于>后是一个文件名,而 | 后是一个命令。
2)wc </etc/passwd >output.wc 2>error.wc 表示把/etc/passwd文件作为wc的输入,统计出passwd文件的行数、单词数和字符数,并输出到文件output.wc中,错误记录输出到error.wc中。
3)、ls –al ./ | wc > ls.wc表示把./目录下的文件列出来,由wc统计出行数、单词数和字符数,并记录到文件ls.wc中。
出题说明:考察学员对用户和组管理命令的掌握情况。
7、 在Red Hat Linux 的应用程序的安装中可以分为哪两种安装方式?它们的特点各是什么?请写出用RPM包管理程序安装、查询、卸载、升级和校验时的命令?编译安装时的安装步骤是什么?
答案:
1)、在Red Hat Linux 的应用程序的安装中可以分为RPM包管理程序安装和应用程序源代码安装两种方式。RPM包管理系统提供了方便的生成软件包、安装、查询、卸载、校验软件包的操作手段;而源代码的编译安装能够提供灵活的系统定制功能,可以使应用程序更加贴近用户要求的形式建立。
2)、安装:rpm –ivh file
其中:i 表示安装, v 表示显示附加信息, h表示显示进度
查询:rpm –q file
卸载:rpm –e fiel
升级:rpm –U file
校验:rpm –V file
3)、在源代码安装中,一般在发布的软件中都会有configure和makefile.in两个文件,通过执行./configure 命令可以生成makefile的文件,在用make 和 make install两条命令即可安装完成应用程序。
出题说明:考察学员对应用程序的安装的掌握情况。
8、 在Red Hat Linux 中程序函数库可以分为哪几种类型? 它们的调用方法各是什么?请说出nm和ldd两个命令的作用? 库函数存放在什么位置,通过什么方法可以添加库函数?
答案:
1)、在Red Hat Linux中函数库可以分为3种类型:静态函数库、共享函数库和动态加载函数库。
静态函数库在应用程序编译时就把函数的执行代码加入到应用程序中。
共享函数库中的函数当一个可执行程序启动时被加载。
动态加载函数库可以在程序运行的任何阶段加载函数。
2)、使用nm和ldd命令可以获得关于库函数的信息。
nm命令可以列出一个函数库文件中的符号表,它对静态的库函数和共享的库函数都能起作用。
ldd命令可以列出一个程序正常运行所需要的共享库。
3)、库函数缺省存放在/lib和/usr/lib中,以及动态库配置文件/etc/ld.so.conf内所列的目录中。
如果库函数没有在这些目录下,可以在/etc/ld.so.conf中加入所须目录,后运行ldconfig命令,使之生效。或设置环境变量LD_LIBRARY_PATH或LD_PRELOAD加入库函数所存放的目录。
出题说明:考察学员对函数库的基本概念和管理的掌握情况。
9、 请写出在linux系统中查看CPU的信息,PCI的信息和内核模块信息的命令?内核定制的几种方式和命令分别是什么?在内核与模块的编译与安装的命令和顺序是什么?
答案:
1)、查看CPU的信息: more /proc/cpuinfo
查看PCI设备的信息: lspci
查看内核模块的信息:more /proc/modules
2)、内核定制有四种方式:
文本交互问答方式: make config
文本窗口交互问答方式:make menuconfig
图形窗口交互方式: make xconfig
使用现有配置文件: make oldconfig
3)、编译安装内核文件命令:make dep, make bzImage, make install
编译安装内核模块的命令:make modules, make modules_install
安装的顺序:make dep-----make bzImage----make modules----make modules_install---make install
出题说明:考察学员对内核编译的的掌握情况。
10、 请简述Red Hat Linux 9的启动过程? Red Hat Linux 中系统的运行级别有几个,它们分别代表的意思是什么?查看系统启动级别的命令和查看服务在各级别的运行状态的命令分别是什么?
答案:
1)、Linux的启动过程要以下几个阶段:
1、POST后读取硬盘MBR中的启动引导程序。
2、启动引导程序负责引导硬盘中的操作系统。(如用lilo,或grub程序引导操作系统。)
3、Linux内核程序负责操作系统启动前期的工作,并进一步加载系统的INIT进程。
4、INIT进程是Linux系统运行的第一个进程,该进程将根据其配置文件执行相应的启动程序,并进入指定的系统运行级别。(配置文件在/etc/inittab中,如rc.sysinit, rc 0 6, 等)
5、在不同运行级别中,根据系统的设置将启动相应的服务程序。(如/etc/init.d中的服务,xinit服务等。)
6、在启动过程的最后,将运行控制台程序,提示并允许用户输入帐户和密码进行登录。(rc.local 来进行维护本机的启动命令)
2)、Linux系统的运行级别从 0-6 共7个。
0 停机
1 单用户模式
2 多用户模式,不能使用NFS
3 完全多用户模式,缺省状态
4 未分配使用
5 图形登录的多用户模式
6 重新启动
3)、runlevel 显示系统运行模式
chkconfig –list 用于查看系统中服务在各级别的启动状态。
出题说明:考察学员对Linux启动过程和运行级别的了解。
11、 在Linux 9中,cron用来周期性的进行任务调度,请列出cron任务的格式,如果要月运行一次,怎么设置?请说出cron建立的两种方式,以及它们的命令?请区别出以下几个目录中文件的作用:/etc/init.d/crond , /etc/crontab, /etc/cron.*相关目录, /var/spool/cron/用户名 ?
答案:
1)、cron的格式为
minute hour day month dayofweek command
* * * * *
入果要一月运行一次的话,格式是:
N(0-59) N(0-23) N(1-31) * * command
也可以举例说明。
2)、法一:用crontab命令逐行进行输入,按“ctrl+d”退出。
法二:用crontab –e 命令,用编辑器对文件进行编辑。
可用crontab –l 显示cron信息
3)、/etc/init.d/crond 文件是cron 的服务程序运行脚本;
/etc/crontab是Linux系统维护所需的任务,一般不需要人为修改;
/etc/下的 cron.daily, cron.hourly, cron.monthly, cron.weekly的目录,存放相应的系统执行任务;
/var/spool/cron/用户名 是保存此用户的cron任务的文件。
出题说明:考察学员对cron格式,编辑方法及相关概念。
12、 请写出建立磁盘配额的步骤和命令?请写出tar命令的几个用法:对文件目录进行归档、对文件和目录进行压缩备份、列出tar归档文件中的目录列表、查看压缩归档文件中的目录列表、恢复tar备份文件、恢复压缩tar备份文件?
答案:
1)、1步,修改/etc/fstab文件
2步,重新挂载文件系统。
3步,创建配额文件,可以用quotacheck –cmug \ 命令实现
4步,配置配额,用equota 命令实现,在编辑环境中修改。
2)、对文件目录进行归档
tar cf files.tar files
对文件和目录进行压缩备份
tar czf files.tar.gz files
列出tar归档文件中的目录列表
tar tf files.tar
查看压缩归档文件中的目录列表
tar tzf files.tar.tz
恢复tar备份文件
tar xf files.tar
恢复压缩tar备份文件
tar xzf files.tar.gz
出题说明:考察学员对磁盘配额命令和步骤的掌握,对归档命令tar的使用。
但是里面好像有几个错误:
1、【问题一】中:并没有所谓的linux的版本,应该是linux的核心的版本。
2、【问题二】中:所谓的linux9.0应该是redhat linux9.0。不能单说linux的版本。
而且这里的题目好像是Redhatlinux认证的题目。有些linux的发行版的有一些是不一样的,比如启动过程。
不过题目是挺好的,只是有几个小问题而已,值得一看!
内外网同时访问问题_判断访问计算机IP
奔啊奔 发表于 2006-05-17 19:53:00
我在内网搭了两个服务器,一个数据库服务器,一个Web服务器。并且让网管影射个外网IP给Web服务器,使得外网内网可以同时访问。但这样产生了个问题,Web服务器取数据是用内网的相对地址,这样外网访问时就得不到数据,只能显示框架。要是把数据库服务器也映射了的话,那么内网就不能访问了,这样我就没办法调试了。如果把两个服务器合为一个,那么运行的速度就会受到影响,而现在老板也不想再往里投钱,毕竟只是一个演示。而把两台机子搬到实验室的网络机房直接接到外网上也可以解决,但是网络机房是封闭的,有门禁卡,这样我就没办法经常进去修改。
仔细想了一下,觉得做个判断应该可以解决这个问题,只要判断访问的是内网IP还是外网IP,依据判断来进行对应的操作
查了查资料发现用JS不错,因为JS 获取的 IP 有个优点就是它获取的是本机设置的 IP,如果计算机通过局域网上网,那么它获得的就是计算机的局域网 IP,而不像 ASP 中 Request 获取的是计算机连接到互联网的 IP。
代码(是从别人那抄来的,不过可以参考一下 :) )
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JS获取客户端IP</title>
</head>
<body>
<script type="text/javascript" language="javascript">
<!--
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//异常发生
}
return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
//-->
</script>
</body>
</html>
据说在使用中可能会出现警告,不过这只是测试,应该不碍事的,呵呵 :)
