精内链,强外链,
伪原创,勤更新;
长尾巴,好定向,
小众化,分市场;
巧布局,织大网,
做网商、寻超站;
明思路,拓营销,
择项目,勤寻找;
交朋友,建人脉,
转化好,利润高;
重行动、强执行、
贵坚持、显成效!
1. 帮助
在IOS操作中,无论任何状态和位置,都可以键入“?”得到系统的帮助。
2. 改变命令状态
|
任务 |
命令 |
|
进入特权命令状态 |
enable |
|
退出特权命令状态 |
disable |
|
进入设置对话状态 |
setup |
|
进入全局设置状态 |
config terminal |
|
退出全局设置状态 |
end |
|
进入端口设置状态 |
interface type slot/number |
|
进入子端口设置状态 |
interface type number.subinterface [point-to-point | multipoint] |
|
进入线路设置状态 |
line type slot/number |
|
进入路由设置状态 |
router protocol |
|
退出局部设置状态 |
exit |
|
任务 |
命令 |
|
查看版本及引导信息 |
show version |
|
查看运行设置 |
show running-config |
|
查看开机设置 |
show startup-config |
|
显示端口信息 |
show interface type slot/number |
|
显示路由信息 |
show ip router |
4. 拷贝命令
用于IOS及CONFIG的备份和升级
5. 网络命令
|
任务 |
命令 |
|
登录远程主机 |
telnet hostname|IP address |
|
网络侦测 |
ping hostname|IP address |
|
路由跟踪 |
trace hostname|IP address |
6. 基本设置命令
|
任务 |
命令 |
|
全局设置 |
config terminal |
|
设置访问用户及密码 |
username username password password |
|
设置特权密码 |
enable secret password |
|
设置路由器名 |
hostname name |
|
设置静态路由 |
ip route destination subnet-mask next-hop |
|
启动IP路由 |
ip routing |
|
启动IPX路由 |
ipx routing |
|
端口设置 |
interface type slot/number |
|
设置IP地址 |
ip address address subnet-mask |
|
设置IPX网络 |
ipx network network |
|
激活端口 |
no shutdown |
|
物理线路设置 |
line type number |
|
启动登录进程 |
login [local|tacacs server] |
|
设置登录密码 |
password password |
路径:[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem\CDFS]
键值1:"Prefetch"=dword:000000e4(默认值)
作用: 根据您的CDROM速度优化CDROM预读取性能.
注意:(如果修改以上两个键值导致CDROM工作不正常,如:播放VCD时找不到VCD碟,请降低一个级别)
4倍速:000000e4(默认值)
8倍速:000001c0
16倍速:00000380
24倍速:00000540
32倍速:00000700
36倍速:00000750
40倍速:00000800
48倍速:00000800
键值2: "CacheSize"=dword:0000026b(默认值)
作用:根据你的CDROM用途来确定缓存大小
0000026b(默认值)
000004d6(适中)
000009ac(最大)
路径:[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\fdc\0000]
键值1:"ForceFIFO"=dword:00000001
作用:提高软驱读写缓冲性能
路径:[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem]
键值1:"ConfigFileAllocSize"=dword:000001f4
作用:优化文件系统
ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
or ADD [COLUMN] (create_definition, create_definition,...)
or ADD INDEX [index_name] (index_col_name,...)
or ADD PRIMARY KEY (index_col_name,...)
or ADD UNIQUE [index_name] (index_col_name,...)
or ADD FULLTEXT [index_name] (index_col_name,...)
or ADD [CONSTRAINT symbol] FOREIGN KEY [index_name] (index_col_name,...)
[reference_definition]
or ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
or CHANGE [COLUMN] old_col_name create_definition
[FIRST | AFTER column_name]
or MODIFY [COLUMN] create_definition [FIRST | AFTER column_name]
or DROP [COLUMN] col_name
or DROP PRIMARY KEY
or DROP INDEX index_name
or DISABLE KEYS
or ENABLE KEYS
or RENAME [TO] new_tbl_name
or ORDER BY col
or table_options
ALTER TABLE 允许你改变一个现有表的结构。例如,你可以添加或删除列,创建或撤销索引,更改现有列的类型或将列或表自身更名。你也可以改变表的注释和表的类型。
ALTER TABLE 通过建立原初表的一个临时副本来工作。更改在副本上执行,然后原初表将被删除,临时表被换名。这样做使所有的修改自动地转向到没有任何更新失败的新表。当 ALTER TABLE 执行时,原初表可被其它客户端读取。更新与写入被延迟到新的表准备好。
注意,如果你以除 RENAME 之外的其它选项使用 ALTER TABLE ,MySQL 将总是创建一个临时表,即使数据并不确实需要被复制(就像当你改变一个列名时)。我们计划不久来修正它,但是通常人们是不经常执行 ALTER TABLE的,所以在我们的 TODO 上,这个修正并不是急于处理的。对于 MyISAM 表,你可以将变量 myisam_sort_buffer_size 设置和高一点,以加速索引的重建部分(这是重建进程中最慢的部分)。
ALTER TABLE,你需要在这个表上有 ALTER、INSERT 和 CREATE 权限。IGNORE 是 MySQL 对 ANSI SQL92 的扩展。它用于控制当在新表中的唯一键上出现重复值时,ALTER TABLE 如何工作。如果 IGNORE 没有被指定,副本将被放弃并回退。如果 IGNORE 被指定,那么在唯一键上重复的记录行只有第一个记录行被使用;其它的均被删除。ALTER TABLE 语句中发出多个 ADD、ALTER、DROP 和 CHANGE 子句。这是 MySQL 对 ANSI SQL92 的扩展,ANSI SQL92 只允许在每个 ALTER TABLE 语句中一个子句。CHANGE col_name、DROP col_name 和 DROP INDEX 是 MySQL 对 ANSI SQL92 的扩展。MODIFY is an Oracle extension to ALTER TABLE.COLUMN 只是一个无用词组,可被忽略。ALTER TABLE tbl_name RENAME TO new_name,并没有任何其它的选项,MySQL 将简单地重命名与表 tbl_name 的文件。这不需要创建临时表。create_definition 子句使用与 CREATE TABLE 相同的 ADD 和 CHANGE 句法。注意,这些句法不仅包含列类型,还要包含列名。CHANGE old_col_name create_definition 子句来重命名一个列。为了这样做,你必须指定旧的和新的列名,以及列当前的类型。例如,为了将一个 INTEGER 列 a 重命名为 b,你必须这样做:
mysql> ALTER TABLE t1 CHANGE a b INTEGER;如果你希望改变一个列的类型而不是列名,
CHANGE 句法仍然需要有两个列名,即使它们是一样的。例如:
mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;然后,到 MySQL 3.22.16a 时,你也可以使用
MODIFY 来改变一个列的类型而不需要重命名它:
mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;
CHANGE 或 MODIFY 缩短一个列,而该列上存在一个取列部分值的索引(举例来说,如果你有一个索引在一个 VARCHAR 列的前 10 个字符上),那么,你将不能使列短于索引的字符数目。CHANGE 或 MODIFY 改变一个列类型时,MySQL 将尝试尽可能地将数据转换到新的类型。FIRST 或 ADD ... AFTER col_name 在一个表中的某个特定位置添加一列。缺省是增加到最后一列。从 MySQL 4.0.1 开始,你也可以在 CHANGE 或 MODIFY 中使用关键词 FIRST 和 AFTER 。 ALTER COLUMN 可以为一列指定一个新的缺省值或删除老的缺省值。如果老的缺省值被移除且列可以被设为 NULL,新的缺省值将是 NULL。如果该列不允许有 NULL值,DROP INDEX 移除一个索引。这是 MySQL 对 ANSI SQL92 的一个扩展。DROP TABLE 代替。 DROP PRIMARY KEY 移除主索引。如果这样的索引不存在,它将移除表中的第一个 UNIQUE 索引。(如果没有 PRIMARY KEY 被明确指定,MySQL 将第一个 UNIQUE 键标记为 PRIMARY KEY ) 如果你添加一个 UNIQUE INDEX 或 PRIMARY KEY 到一个表中,它将被存储在任何非 UNIQUE 索引之前,因而,MySQL 可以尽可能地检测出重复键。 ORDER BY 允许你以指定的记录行顺序创建一个新表。注意,在插入与删除后,该表将不会保留这个顺序。在某些情况下,如果表在你以后希望排序的列上是有序的,这将使得 MySQL 排序时更加得容易。当你知道你主要查询的行以一个确定的次序时,这将是很有用的。在对表进行过大的改变后,通过使用这个选项,你可能会得到更高的性能。 MyISAM 表上使用 ALTER TABLE ,所有非唯一的索引将以一个分批方式创建(就像 REPAIR 一样)。当你有很多索引时,这可能使 ALTER TABLE 更快一点。ALTER TABLE ... DISABLE KEYS 使 MySQL 停止更新 MyISAM 表的非唯一索引。然后 ALTER TABLE ... ENABLE KEYS 可以被用来重建丢失的索引。因为 MySQL 以特殊的算法执行它,这将比一个接一个地插入索引要快得多,禁用键可以很大程序上的加速一个大批量的插入。mysql_info(),你可以找出有多少记录被拷贝,以及(当 IGNORE 被使用时)有多少记录因唯一键值重复而被删除。FOREIGN KEY、CHECK 和 REFERENCES 子句实际上不做任何事情,除了对于 InnoDB 类型的表,它支持 ADD CONSTRAINT FOREIGN KEY (...) REFERENCES ... (...)。注意,InnoDB 不允许一个 index_name 被指定。对于其它类型的表,这个句法仅仅为了兼容而提供,以更容易地从其它 SQL 服务器移植代码和更容易地运行以引用创建表的应用程序
.htaccess 文件
相关模块 相关指令
core
mod_authn_file
mod_authz_groupfile
mod_cgi
mod_include
mod_mime
AccessFileName
AllowOverride
Options
AddHandler
SetHandler
AuthType
AuthName
AuthUserFile
AuthGroupFile
Require
工作原理和使用方法
.htaccess文件(或者"分布式配置文件")提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。
说明:
如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:
AccessFileName .config
通常,.htaccess文件使用的配置语法和主配置文件一样。AllowOverride指令按类别决定了.htaccess文件中哪些指令才是有效的。如果一个指令允许在.htaccess中使用,那么在本手册的说明中,此指令会有一个覆盖项段,其中说明了为使此指令生效而必须在AllowOverride指令中设置的值。
例如,本手册对AddDefaultCharset指令的阐述表明此指令可以用于.htaccess文件中(见"作用域"项),而覆盖项一行是FileInfo ,那么为了使.htaccess中的此指令有效,则至少要设置 AllowOverride FileInfo 。
例子:
作用域 server config, virtual host, directory, .htaccess
覆盖项 FileInfo
如果不能确定某个指令是否可以用于.htaccess文件,可以查阅手册中对指令的说明,看在"作用域"行中是否有".htaccess" 。
(不)使用.htaccess文件的场合
一般情况下,不应该使用.htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,其实并不是这样,把用户认证写在主配置文件中是完全可行的,而且是一种很好的方法。
.htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在同一个机器上运行了多个用户站点,而又希望用户可以自己改变配置的情况下。
虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的<Directory>段中,而且更高效。
避免使用.htaccess文件有两个主要原因。
首先是性能。如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录中查找.htaccess文件,因此,无论是否真正用到,启用.htaccess都会导致性能的下降。另外,对每一个请求,都需要读取一次.htaccess文件。
还有,Apache必须在所有上级的目录中查找.htaccess文件,以使所有有效的指令都起作用(参见指令的生效),所以,如果请求/www/htdocs/example中的页面,Apache必须查找以下文件:
/.htaccess/www/.htaccess/www/htdocs/.htaccess/www/htdocs/example/.htaccess
总共要访问4个额外的文件,即使这些文件都不存在。(注意,这可能仅仅由于允许根目录"/"使用.htaccess ,虽然这种情况并不多。)
其次是安全。这样会允许用户自己修改服务器的配置,这可能会导致某些意想不到的修改,所以请认真考虑是否应当给予用户这样的特权。但是,如果给予用户较少的特权而不能满足其需要,则会带来额外的技术支持请求,所以,必须明确地告诉用户已经给予他们的权限,说明AllowOverride设置的值,并引导他们参阅相应的说明,以免日后生出许多麻烦。
注意,在/www/htdocs/example目录下的.htaccess文件中放置指令,与在主配置文件中<Directory /www/htdocs/example>段中放置相同指令,是完全等效的。
/www/htdocs/example目录下的.htaccess文件:
/www/htdocs/example目录下的.htaccess文件的内容:
AddType text/example .exm
httpd.conf文件中摘录的内容:
<Directory /www/htdocs/example>AddType text/example .exm</Directory>
但是,把配置放在主配置文件中更加高效,因为只需要在Apache启动时读取一次,而不是在每次文件被请求时都读取。
将AllowOverride设置为none可以完全禁止使用.htaccess文件:
AllowOverride None
指令的生效
.htaccess文件中的配置指令作用于.htaccess文件所在的目录及其所有子目录,但是很重要的、需要注意的是,其上级目录也可能会有.htaccess文件,而指令是按查找顺序依次生效的,所以一个特定目录下的.htaccess文件中的指令可能会覆盖其上级目录中的.htaccess文件中的指令,即子目录中的指令会覆盖父目录或者主配置文件中的指令。
例子:
/www/htdocs/example1目录中的.htaccess文件有如下内容:
Options +ExecCGI
(注意:必须设置"AllowOverride Options"以允许在.htaccess中使用"Options"指令)
/www/htdocs/example1/example2目录中的.htaccess文件有如下内容:
Options Includes
由于第二个.htaccess文件的存在,/www/htdocs/example1/example2中的CGI执行是不允许的,而只允许 Options Includes ,它完全覆盖了之前的设置。
将.htaccess合并到主配置文件中
正如在配置段(容器)中讨论的那样,.htaccess文件能够覆盖<Directory>段中对相应目录的设置,但是也同样会被主配置文件中其它类型的配置段所覆盖。这个特性可以用来强制实施某些配置,甚至在AllowOverride已经许可的情况下。举个例子来说,为了强迫在.htaccess中禁止脚本执行但不限制其它的情况下,可以这样:
<Directory />Allowoverride All</Directory><Location />Options +IncludesNoExec -ExecCGI</Location>
如果你只是为了知道如何认证,而直接从这里开始看的,有很重要的一点需要注意,有一种常见的误解,认为实现密码认证必须要使用.htaccess文件,其实是不正确的。把认证指令放在主配置文件的<Directory>段中是一个更好的方法,而.htaccess文件应该仅仅用于无权访问主配置文件的时候。参见上述关于何时应该与何时不应该使用.htaccess文件的讨论。
有此声明在先,如果你仍然需要使用.htaccess文件,请继续看以下说明。
.htaccess文件的内容:
AuthType BasicAuthName "Password Required"AuthUserFile /www/passwords/password.fileAuthGroupFile /www/passwords/group.fileRequire Group admins
必须设置 AllowOverride AuthConfig 以允许这些指令生效。
服务器端包含(SSI)举例
.htaccess文件的另一个常见用途是允许一个特定的目录使用服务器端包含(SSI),可以在需要的目录中放置.htaccess文件,并作如下配置:
Options +IncludesAddType text/html shtmlAddHandler server-parsed shtml
注意,必须同时设置 AllowOverride Options 和 AllowOverride FileInfo 以使这些指令生效。
可以通过.htaccess文件允许在特定的目录中执行CGI程序,需要作如下配置:
Options +ExecCGIAddHandler cgi-script cgi pl
另外,如下配置可以使给定目录下的所有文件被视为CGI程序:
Options +ExecCGISetHandler cgi-script
注意,必须同时设置 AllowOverride Options 和 AllowOverride FileInfo 以使这些指令生效。