分类目录归档:Shell

你不知道的CMD命令之ECHO

ECHO命令是大家都熟悉的DOS批处理命令的一条子命令。
但是如果你深入了解一下,你会发现他可不仅仅只有将内存中的数据显示到屏幕着一个简单的功能哦….

1. 作为控制批处理命令在执行时是否显示命令行自身的开关

ECHO [ON|OFF]

如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。

2. 显示当前ECHO设置状态

ECHO

3. 输出提示信息

ECHO 信息内容

上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:

4. 关闭DOS命令提示符

在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。

5. 输出空行,即相当于输入一个回车

ECHO.

值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[\]+等任一符号替代。

在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态:

C:>ECHO.|TIME

ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。

6. 答复命令中的提问

ECHO 答复语|命令文件名

上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK/F;FORMAT Drive:;del *.*)的操作,它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。下面的例子就相当于在调用的命令出现人机对话时输入“Y”回车:

C:>ECHO Y|CHKDSK/F
C:>ECHO Y|DEL A :*.*

7. 建立新文件或增加文件内容

ECHO 文件内容>文件名
ECHO 文件内容>>文件名

例如:

C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件
C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自动批处理文件中追加内容
C:TYPE AUTOEXEC.BAT显示该自动批处理文件
@ECHO OFF
C:\CPAV\BOOTSAFE

8. 向打印机输出打印内容或打印控制码

格式:

ECHO 打印机控制码>PRN
ECHO 打印内容>PRN

下面的例子是向M-1724打印机输入打印控制码。<Alt>156是按住Alt键在小键盘键入156,类似情况依此类推:

C:>ECHO +156+42+116>PRN(输入下划线命令FS*t)
C:>ECHO +155@>PRN(输入初始化命令ESC@)
C:>ECHO.>PRN(换行)

9. 使喇叭鸣响

C:>ECHO ^G

“^G”是用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。使用方法是直接将其加入批处理文件中或做成批处理文件调用。

10.执行ESC控制序列修改屏幕和键盘设置

我们知道DOS的设备驱动程序ANSI.SYS提供了一套用来修改屏幕和键盘设置的ESC控制序列。如执行下述内容的批处理程序可以把功能键F12定义为DOS命令“DIR/W”,并把屏幕颜色修改为白色字符蓝色背景。

@ECHO”←[0;134;”DIR/W”;13p
@ECHO”←[1;37;44m

(注:批处理文件中“←”字符的输入方法是在编辑状态下按Alt中小键盘上的27)

CMD切换本机IP

在Windows中,如果你要设置IP地址,一般是进入“本地连接”->“属性”,手动设置要更改的IP地址。
其实,在命令行同样可以设置IP地址。如果你的IP需要在几个IP中来回切换,可以使用 netsh 命令更改:

1.进入CMD命令行;

点击“开始”->“运行”,输入“cmd”,回车,

2.设置IP:

设置动态获取IP地址(DHCP)

c:/>netsh interface ip set address name="本地连接" sourse=dhcp

设置固定IP

c:/>netsh interface ip set address name="本地连接" sourse=static addr=192.168.1.2 mask=255.255.255.0 gateway=192.168.1.1 gwnetric=auto

参数说明:

1.name:网络连接名称,一般为“本地连接”。你可以在“控制面板”->“网络连接”中看到。
2.source:获取IP的途径。动态获取,则为dhcp,手动设置,则为static。
3.addr:要设置的IP地址。
4.mask:子网掩码。
5.gateway:网关地址。
6.gwmetric:网关跃点数,可以设置为整型数值,也可以设置为“自动”:auto。

3.设置DNS:

自动获取DNS

c:/>netsh interface ip set address name="本地连接" sourse=dhcp

手动设置单个DNS

c:/>netsh interface ip set address name="本地连接" sourse=static addr=210.52.149.2 register=primary

手动设置多个DNS

c:/>netsh interface ip set address name="本地连接" addr=202.106.0.133 index=2

参数说明:

1.name:网络连接名称,一般为“本地连接”。你可以在“控制面板”->“网络连接”中看到。
2.source:获取IP的途径。动态获取,则为dhcp,手动设置,则为static。
3.addr:要设置的IP地址。
4.register:
5.none: 禁用动态 DNS 注册。
6.primary: 只在主 DNS 后缀下注册。
7.both: 在主 DNS 后缀下注册,也在特定连接后缀下注册。
8.index:设置的DNS的顺序号。

.htaccess技巧

.htaccess是个很实用控制Apache Web服务器的文件。
前段时间不是发表过一篇文章来讲述利用其进行子目录的绑定么?
其实他的功能还有很多….
本文将向大家展示.htaccess如何在安全性、功能性以及实用性方面帮助我们建立WordPress博客。

警告

编辑或修改WordPress博客的.htaccess文件时,为防止意外情况发生,请确定你已进行备份。

1. 用.htaccess将WordPress RSS 订阅重定向到Feedburner

没有哪个博客不使用Feedburner。 是的,Feedburner是一项非常友好的服务,你可以从中了解有多少人订阅了你的rss feeds。 唯一的问题是,需要编辑主题文件来手动改变rss的url地址。 令人欣慰的是,现在有了.htaccess这样的修改帮你节省了大量时间。

使用以下代码时记住修改第六行内容,将其更改成你自己的feedburner地址。

# temp redirect wordpress content feeds to feedburner
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/catswhocode [R=302,NC,L]

备注:也可以根据情况替换成其他订阅服务商,比如国内的Feedsky。设置也非常简单,只需替换相应代码即可。

2. 移除WordPress url或对其分类

默认情况下,WordPress分类的永久链接都是按以下方式显示:

http://www.favorinfo.com/blog/category/wordpress
你会发现,url中的category显得很多余。 下面我们教你怎样把它移除:

首先备份.htaccess文件。 然后打开该文件追加以下命令行:

RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]

保存后分类页面会显示如下:

wordpress

3. 使用浏览器缓存

使用浏览器缓存是个优化博客加载时间的好方法。 下列代码不能直接改善博客的加载,但在所请求内容没有被修改时,这些代码可以将304未被修改状态发送出去,这样就减轻了服务器的工作负担。

 FileETag MTime Size
 <filesmatch "\.(jpg|gif|png|css|js)$">
 ExpiresActive on
 ExpiresDefault "access plus 1 year"

 

4. 压缩静态数据

你知道吗,现在已经可以向访问者发送压缩文件了,客户端会将这些压缩文件解压。 以下代码节约了你(以及你的访问者)的带宽,减轻了博客页面的压力。

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
 BrowserMatch ^Mozilla/4 gzip-only-text/html
 BrowserMatch ^Mozilla/4.0[678] no-gzip
 BrowserMatch bMSIE !no-gzip !gzip-only-text/html

5. 将日期和姓名永久链接重新导向到/%postname%/

首先登录WordPress管理账号,在settings→Permalinks菜单下选择custom。 将字段填充为/%postname%/。
这时你的永久链接看上去就和下面这个博客一样了:

http://www.yourblog.com/name-of-the-post
下面我们用旧有的永久链接结构将所有反向链接重新导向到新的永久链接结构。 需要编辑WordPress 根目录下的.htaccess文件以达到以上目的。
将以下命令行复制到.htaccess文件中:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.domain.com/$4

成功! 在没有丢失任何反向链接的情况下,我们成功的改变了永久链接的结构。

6. 禁止来路不明的评论

对每天收到的垃圾评论感到不耐烦? Akismet插件当然可以阻止这些垃圾评论,但.htaccess同样可以。 事实证明,很多垃圾评论机器人无处不在。 下列代码会追踪评论的来源(评论者所在的页面),如果评论者试图不经你的博客擅自进入wp-comments-post.php文件,这些代码会禁止评论发布。

更改第四行命令,换成自己博客的url。

RewriteEngine On
 RewriteCond %{REQUEST_METHOD} POST
 RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
 RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
 RewriteCond %{HTTP_USER_AGENT} ^$
 RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

7. 将访问者重定向到维护页面

升级博客或改变主题/版面设计时,最好不要让访问者发现你的博客有设计或代码方面,或者更严重的安全方面的问题。

解决方法是,设计一个“维护页面”,在维护完成前暂时将访问者导向维护页面。

将代码第二行中的maintenance.html换成希望访问者被导向的页面,第三行中的IP地址改为自己的IP。

注意:这里用到了一个302重新定向以防止搜索引擎排名将维护页面当作博客的真正主页。

RewriteEngine on
 RewriteCond %{REQUEST_URI} !/maintenance.html$
 RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
 RewriteRule $ /maintenance.html [R=302,L]

8. 保护博客不受盗链侵扰

在某一网页中使用来自另一个网站的图片,这就被称为盗链。 很多博客经常被盗链,他们的带宽被用到了别的网站上。 下面的代码可以有效防止WordPress博客遭遇盗链。

RewriteEngine On
 #Replace ?mysite\.com/ with your blog url
 RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
 RewriteCond %{HTTP_REFERER} !^$
 #Replace /images/nohotlink.jpg with your "don't hotlink" image url
 RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

9. 不允许其他IP地址进入wp-admin目录

除非是合作撰写的博客,否则一定要将w—admin目录权限设为仅本人可见。 以下代码在固定IP下可用。

你只需在第八行中输入自己的固定IP地址。需要注意的是,必要时可以添加多个IP地址,这只要在代码中创建新的命令行: 允许来自xx.xx.xxx.xx。

AuthUserFile /dev/null
 AuthGroupFile /dev/null
 AuthName "Example Access Control"
 AuthType Basic
 order deny,allow
 deny from all
 allow from xx.xx.xx.xx

10. 用.htaccess禁止WordPress垃圾评论

大家都知道垃圾评论多么的令人讨厌。 如果有人或者机器不停的给你发垃圾评论,只要将他们的IP拉入黑名单就可以解决问题。

将代码第三行中的IP地址换成垃圾评论者的IP。 要想添加多个垃圾评论者的IP地址,可以在代码中创建新的命令行,如禁止xxx.xx.xxx.xxx。

order allow,deny
 deny from 200.49.176.139
 allow from all

本文参考至:http://www.wordpress.la/10-htaccess-hacks.html