FTP命令

FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。 FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中 -v显示远程服务器的所有响应信息; -n限制ftp的自动登录,即不使用; .n etrc文件; -d使用调试方式; -g取消全局文件名。 ftp使用的内部命令如下(中括号表示可选项): 1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip. 2.$ macro-ame[args]:执行宏定义macro-name. 3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。 4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 5.ascii:使用ascii类型传输方式。 6.bell:每个命令执行完毕后计算机响铃一次。 7.bin:使用二进制文件传输方式。 8.bye:退出ftp会话过程。 9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。 10.cd remote-dir:进入远程主机目录。 11.cdup:进入远程主机目录的父目录。 12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。 13.close:中断与远程服务器的ftp会话(与open对应)。 14.cr:使用asscii方式传输文件时,将回车换行转换为回行。 15.delete remote-file:删除远程主机文件。 16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。 17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。 18.disconnection:同close。 19.form format:将文件传输方式设置为format,缺省为file方式。 20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。 21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。 22.hash:每传输1024字节,显示一个hash符号(#)。 23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。 24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。 25.image:设置二进制传输方式(同binary)。 26.lcd[dir]:将本地工作目录切换至dir。 27.ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。 … Read more

对cakephp的几点疑惑和误解

由于开始对cakephp还不是很熟悉,所以在学的时候,对cakephp有了些疑惑和误解,现在终于明白了,现在列举如下: 1. cakephp通过Elements对view实现了模块化,使得代码得到了更好的重用,而且Elements还支持cache功能,一开始我认为Element(view)只能通过controller assign变量来动态显示信息,如果这样的话,那cache功能就没用了,因为不管Element有没有cache存在,controller都有要取得数据,然后assign到Element(view)里,其实不是这样的,Element(view)还可以通过requestAction方法取得数据。它的使用方式是: controller 代码: // controllers/comments_controller.php class CommentsController extends AppController { function latest() { return $this->Comment->find(‘all’, array(‘order’ => ‘Comment.created DESC’, ‘limit’ => 10)); } }   element 代码   // views/elements/latest_comments.ctp   $comments = $this->requestAction(‘/comments/latest’); foreach($comments as $comment) { echo $comment[‘Comment’][‘title’]; }   调用方式: echo $this->element(‘latest_comments’); 或支持cache方式 echo $this->element(‘latest_comments’, array(‘cache’=>’+1 hour’));   根据官方网站的说明,这种方式如果不使用cache的话,它的效率是很差的 2.     … Read more

perl写cgi之helloworld

用perl写cgi和c/c++写cgi差不多,请参照我的上一篇文章c/c++写cgi之helloworld 这里只说明了怎么用perl写一个cgi的helloworld程序 创建新文件hello.pl, 内容如下: #!/usr/bin/perl print "Content-type: text/html\r\n\r\n"; print "Hello World!\n"; 用命令chmod 777 hello.pl使hello.pl可执行 copy hello.pl到 cgi-bin目录下 在浏览器里打http://localhost/cgi-bin/hello.pl就可以看到结果了 另外,我发现并不需要在httpd.conf 的 AddHandler cgi-script .cgi后面加 .pl也是可以的。

c/c++写cgi之helloworld

最近比较闲,所以又回头来学习下c/c++, 但看来看去也没什么好学的,没什么项目,光学一门语言确实没什么好看的,那就来用c/c++写个cgi来玩玩吧,之前没做过cgi,所以这样就既可了解cgi又可复习c/c++了。 先来个c/c++的cgi hello world吧,本人是在apache下运行的啊 新建文件hello.c #include <stdio.h> main() {     printf("Content-type:text/html\n\n");     printf("Hello,World!"); } 用命令$gcc –o hello hello.c 生成 hello 然后查看apache配置文件httpd.conf, 设置为:[默认的差不多就是这样] ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" <Directory "/var/www/cgi-bin">     AllowOverride All     Options ExecCGI     Order allow,deny     Allow from all </Directory> 然后把生成的hello复制到 /var/www/cgi-bin/下,如果修改了配置的话,就先重起apache, 这时输入http://localhost/cgi-bin/hello,就应该可以看到结果了

9个必须注意的 wordpress SEO 技巧

下面的九个 wordpress SEO 技巧,都是非常常规、非常基础但却往往被 blogger 忽视的技巧。 第一个 wordpress SEO 技巧:给你的 RSS 加上 nofollow 标签。 一般而言,我们并不需要蜘蛛去抓取 RSS。google 已经会自动停止抓取,但其他的搜索引擎则未必。 第二个 wordpress SEO 技巧:给你的存档页和标签加上加上 nofollow 标签。 存档页和标签都会让同一篇文章出现在很多个地方,这可能会给搜索引擎造成重复内容的错觉。因此,有必要给他们加上 nofollow 标签。 第三个 wordpress SEO 技巧:把文章标题的标签换成 H1。 一般而言,很多 wordpress 模板都习惯于把博客的标题标签设为 H1,而把文章的标题设为H2。但对于博客而言,文章的标题更多时候应该要重于博客标题。 第四个 wordpress SEO 技巧:给小图片加上 Title 和 ALT 标签。 大图我们可能会注意,一些缩略图可能会经常忘记加上 Title 和 ALT 标签,为了让搜索引擎更好的了解这张图片的内容,同时也是为了增加整个文章的关键字密度,还是有必要加上的。 第五个 wordpress SEO 技巧:测试载入速度,控制在三秒以内。 当然,博客的载入速度很多时候取决与服务器的性能和代码的结构。你应该尽可能的优化你的网页,让你的网页载入速度越快越好。 对于wordpress 而言,更多的时候可能是实现模板的静态化以及使用一些缓存插件。 … Read more

apache找不到mysql.dll

在windows xp下安装了apache和php, php能够正常工作。但不能用php连接mysql, 查看apache的error.log发现了:PHP Warning: PHP Startup: Unable to load dynamic library ‘C:/software/php-5.2/ext/php_mysql.dll’ – The specified module could not be found.\r\n in Unknown on line 0 赶紧查看配置文件吧:—– php.ini extension_dir = “C:/software/php-5.2/ext/” extension=php_mysql.dll 在C:/software/php-5.2/ext/明明有php_mysql.dll这个文件, 可它就是说找不到这个文件, 好奇怪,只好求助于谷哥吧 终于找到啦: 原来php_mysql.dll依赖于libmysql.dll这个文件, 而libmysql.dll又在C:/software/php-5.2/目录下, 而之前并没有把C:/software/php-5.2/加到环境变量里, 也没有把libmysql.dll放到C:\WINDOWS\system32目录下, 系统根本找不到php_mysql.dll, 所以出镜啦 解决方法: 1. 把libmysql.dll放到C:\WINDOWS\system32下。 2. 把PHP[我的就是:C:/software/php-5.2/]的路径加到环境变量里。 [这个没有测过, 因为本人用第一种方法试了,成功了, 所以就偷懒没试这个了]

WordPress无法用livewriter写日志解决办法

估计很多朋友都有这个问题,升级到2.7以后不能用livewriter离线写日志了。 提示如下: ————————— 连接到日志时出错 ————————— 尝试连接到您的日志时出错:服务器响应无效 – 从日志服务器接收的对 blogger.getUsersBlogs 方法的响应无效:Invalid response document returned from XmlRpc server必须先纠正此错误才能继续操作。 ————————— 确定   ————————— 这个问题也困扰了小白很久,从表面上看意思是说wordpress返回的的XmlRpc无法被wlw识别,可具体是那个部分不对却没给提示,不过幸好我们还有g.cn.换了很多关键词终于找到解决办法,原来是因为wordpress本身的一个bug,在utf-8编码下,xml-rpc返回的格式不正确,缺了三个字节,要修正这个问题,按如下操作即可:   找到chass.ixr.php,这个文件位于wp-includes文件夹下,然后用一个文本编辑工具打开它,查找: $length = strlen($xml); 替换为: $length = strlen($xml)+3; 就可以解决这个问题了!在查找过程中也发现了一些别的问题的解决办法,总结一下解决步骤: 1 先禁用插件,看是否为插件导致,可逐个尝试。 2 更换主题,意思同上。 3 替换一个原版的xmlrpc.php试验一下。 4 如果提示服务器错误405如图: 到后台撰写里启用远程发布里的xmlrpc即可: 5 尝试连接到您的日志时出错:服务器响应无效 – 从日志服务器接收的对 blogger.getUsersBlogs 方法的响应无效:Invalid response document returned from XmlRpc server必须先纠正此错误才能继续操作–的错误提示上面已经给出解决办法! 还有一些更改.htaccess的和在xmlrpc加语句的方法,如果实在不行可以自行搜索尝试解决,自我感觉如果因为升级产生的问题应该不在这个的考虑范畴,好了,就啰嗦这么多了希望这文章对大家能有所帮助!   转自:http://www.itzine.com.cn/wordpress-can-not-write-log-livewriter-solution.html 我也遇到了Invalid … Read more

squid Invalid URL

配置如下: cache_peer 16.158.83.109 parent 80 0 no-query originserver name=vmcentos cache_peer_domain vmcentos www.vmcentos.com cache_peer_access vmcentos allow all http_port 80 但总是出现下面的错误: The following error was encountered while trying to retrieve the URL: /phpldapadmin/htdocs/cmd.php?cmd=login_form&server_id=0 Invalid URL Some aspect of the requested URL is incorrect. Some possible problems are: Missing or incorrect access protocol (should be http:// or similar) … Read more

perl DBI 事务支持

和其它的语言一样, perl DBI对数据库的操作也支持事务处理, 它的实现方式有两个: 一: 在连接数据库的时候就开始一个事务 $dbh = DBI->connect($dataSource, $user, $passwd, {AutoCommit => 0}); 可以看到在连接的时候设置了AutoCommit为false, 也就是说当你对数据库进行更新操作的时候, 它不会自动地把那些更新直接写到数据库里, 而是要程序通过 $dbh->commit来使数据真正地写到数据库里, 或 $dbh->rollback 来回滚刚才的操作 二:通过$dbh->begin_work()语句来开始一个事务 这种方式就不需要在连接数据库的时候设置AutoCommit = 0了, 本人认为这种方式更好, 可以一次数据库连接进行多次事务操作, 不用每一次事务的开始都去连接一次数据库。 示例代码为: $dbh = DBI->connect($dataSource, $user, $passwd, {RaiseError => 1}); $dbh->begin_work eval { foo(…) # do lots of work here bar(…) # including inserts baz(…) # and … Read more

openldap主从同步的艰难之路

最开始在虚拟机上装了个Redhat Enterprise linux 5系统(RHEL 5), 由于RHEL 5没有注册, 所以这个不能用在线安装的服务, 如yum命令,所以给安装openldap带来了好多麻烦, 安装了好久也没有成功,由于只是想学一下openldap的结构和原理, 不想在安装上花太多时间, 所以就安装了CentOS 5, 然后参照http://www.howtoforge.com/linux_openldap_setup_server_client很顺利地安装好了openldap, 花了些时间, 总算入门, 所以想玩点高级点的东东,因此想先玩玩主从同步,当然这必须得有两个服务器, 所以我把CentOS 5拷贝了一份, 然后用这个拷贝的新建了个虚拟机, 这样我想这两个CentOS肯定会是一模一样的了, 但这也带来些问题, 两个CentOS居然ip也一样了,而且它们都可以上网, 它们都是自动得到IP的, 不管怎么重起网络服务, 也还是一样的IP, 自己设定一个IP, 又不能上网, 这样就肯定不能搞主从同步了,没办法再把注意力转到RHEL5上来吧, 经过不懈的努力终于RHEL5上安装好了openldap, 于是把CentOS上的数据导入到了RHEL5上, 但主从同步又遇到了问题, 我按照官方网站(http://www.openldap.org/doc/admin24/replication.html#Configuring%20the%20different%20replication%20types)同步的第一种方法, 怎么也同步不了数据。用slapd -d 256启动主服务器, 发现在主服务器以收到了从服务器的同步请求, 但从服务就是接收不到更新的数据,现在也没找到是什么原因, 不知道是不是两个openldap版本不一样的原因, 因为CentOS上openldap版本是2.3.43 , 而RHEL5上的是2.4.16,由于第一种方法没有成功, 而且在网上好像也很难找到官方网站说的那些方法, 所以也没敢再去试其它的几种方法了, 去网上找找吧, 于是找到了这里http://blog.chinaunix.net/u2/65250/showart_1905561.html[这种方法在官方网站上并没有找到, 真是奇怪!] 我把CentOS当主服务器,slapd.conf配制如下: replogfile /var/lib/ldap/openldap-master-replog replica host=16.158.83.75:389 binddn=”cn=Manager, dc=my-domain,dc=com” bindmethod=simple … Read more