February 11, 2011
linux实现daemon程序
"\u003cp\u003e\u003cstrong\u003e国外相关文档:()\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e编写Linux系统下Daemon程序的方法步骤\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e一、引言 Daemon程序是一直运行的服务端程序,又称为守护进程。\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e本文介绍了在Linux下编写Daemon程序的步骤,并给出了例子程序。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二、Daemon程序简介\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eDaemon是长时间运行的进程,通常在系统启动后就运行,在系统关闭时才结束。一般说Daemon程序在后台运行,是因为它没有控制终端,无法和前台的用户交互。Daemon程序一般都作为服务程序使用,等待客户端程序与它通信。我们也把运行的Daemon程序称作守护进程。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e三、Daemon程序编写规则\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e编写Daemon程序有一些基本的规则,以避免不必要的麻烦。\u003c/p\u003e\n\u003cp\u003e1、首先是程序运行后调用fork,并让父进程退出。子进程获得一个新的进程ID,但继承了父进程的进程组ID。\u003c/p\u003e\n\u003cp\u003e2、调用setsid创建一个新的session,使自己成为新session和新进程组的leader,并使进程没有控制终端(tty)。\u003c/p\u003e\n\u003cp\u003e3、改变当前工作目录至根目录,以免影响可加载文件系统。或者也可以改变到某些特定的目录。\u003c/p\u003e\n\u003cp\u003e4、设置文件创建mask为0,避免创建文件时权限的影响。\u003c/p\u003e\n\u003cp\u003e5、关闭不需要的打开文件 …\u003c/p\u003e"
February 11, 2011
用c语言实现的daemon实例
"\u003cp\u003e守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。\u003c/p\u003e\n\u003cp\u003e守护进程的编程本身并不复杂,复杂的是各种版本的Unix的实现机制不尽相同,造成不同Unix环境下守护进程的编程规则并不一致。这需要读者注意,照搬某些书上的规则(特别是BSD4.3和低版本的System V)到Linux会出现错误的。下面将全面介绍Linux下守护进程的编程要点并给出详细实例。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e一. 守护进程及其特性\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e守护进程最重要的特性是后台运行。在这一点上DOS下的常驻内存程序TSR与之相似。其次,守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。最后,守护进程的启动方式有其特殊之处。它可以在Linux系统启 …\u003c/p\u003e"
February 10, 2011
Mysql 下 Myisam表delete 后 数据恢复问题
"\u003cp\u003e今日在修改过去的一个程序时, 不小时设置了错误的删除条件,导致几十万条数据丢失, 同时数据库没有打开日志和备份, 请教大侠,有什么方法可以恢复数据.\u003c/p\u003e\n\u003cp\u003e我已经将对应的三个表文件. MYD,MYI,frm备份出来, 查看了一下文件大小, 好象数据并未丢失, 估计只是设置了删除状态. 使用uedit32打开MYD文件,还可以辨识出数据的确还在. 我想应该是做了标记,将这些数据设置为删除状态,数据并未真正删除掉, 不知道现在可有现成的工具可以通过该数据文件将数据恢复. 如果没有的话, 可能就只能研究一下myisam表的结构,自己尝试恢复了!\u003c/p\u003e\n\u003cp\u003e希望各位大侠救我!\u003c/p\u003e\n\u003cp\u003e简单说一下吧:\u003c/p\u003e\n\u003cp\u003emysql中的myisam表在正常情况下执行delete 指定删除的记录实际上只是在索引文件中做了删除标记,同时也将数据文件中对记录的头几个字节改写, 但这几个字节具体的与入内容不清楚.(见下方)\u003c/p\u003e\n\u003cp\u003e通过我研究数据文件, 发现了几种数据类型保存的格式.\u003c/p\u003e\n\u003cp\u003evarchar: 在该类型数据开始的位置有一个字节来指出后面多少个字节是该字段的内容, 但是有一个例外就是如果后面的内容与varchar字段指定的长度完全相等时,就没有开头 …\u003c/p\u003e"
February 10, 2011
Chrome不能访问更新服务器(错误:3) 的解决办法
"\u003cp\u003e听说chrome升级版本到9了,在家升级的时候发现正常的,但在公司升级的时候发现提示”\u003cem\u003e不能访问更新服务器\u003c/em\u003e( \u003cem\u003e错误:3\u003c/em\u003e)“,在网上找了一下,发现了下面的解决办法.\u003c/p\u003e\n\u003cp\u003e下面是解决办法:\nThis fixed my error 3 problem (this is for winxp, the folder for vista would be c:\\users\\appdata\\local\\google\\update):open a command prompt, and type in the following (after replacing with your username):cd “C:\\Documents and Settings\\Local Settings\\Application Data\\Google\\Update\\”Then run:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eGoogleUpdate.exe /RegServer\u003c/p\u003e\u003c/blockquote\u003e"
February 9, 2011
[sed] 鸟哥sed知识补遗
"\u003cp\u003e接自:\u003cstrong\u003e鸟哥Sed知识补遗****格式\u003c/strong\u003e sed [-nefr] [n1,n2] 动作\u003c/p\u003e\n\u003cp\u003e-n 安静模式,只有经过sed处理过的行才显示出来,其他不显示。\u003c/p\u003e\n\u003cp\u003e-e 直接在命令行模式上进行sed的操作。貌似是默认选项,不用写。\u003c/p\u003e\n\u003cp\u003e-f 将sed的操作写在一个文件里,用的时候 -f filename 就可以按照内容进行sed操作了。\u003c/p\u003e\n\u003cp\u003e-r 使之支持扩展正则表达式\u003c/p\u003e\n\u003cp\u003en1,n2 不一定需要, 选择要进行处理的行, 10,20 表示在10~20行之间处理\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e动作\u003c/strong\u003e\na 添加,接字符串,添加到当前行的下一行。\nc 替换, 接字符串,用他们替换n1到n2之间的行。\nd 删除符合模式的行 sed ‘/regexp/d’ // 之间是正则表达式,模式在d前面,d后面一般不接任何内容。\ni 插入,接字符串,添加到当前行的上一行。\u003c/p\u003e\n\u003cp\u003ep 打印,打印某个选择的数据,通常与-n 安静模式一起使用\u003c/p\u003e\n\u003cp\u003es 搜索, 还可以替换,类似与vim里的搜索替换功能。例如 1,20s/old/new/g 替换1~20行的old为new\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e注意动作最好用’ ‘括起来,防止空格导致错误。\u003c/strong\u003e \u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2011/02/sed.jpg\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/sed.jpg\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e例子:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e显示 passwd内容,将2~5 …\u003c/p\u003e"
February 9, 2011
[awk] awk学习资料汇总
"\u003cp\u003e原文链接: \u003ca href=\"http://bbs.linuxtone.org/thread-1714-1-1.html\"\u003ehttp://bbs.linuxtone.org/thread-1714-1-1.html\u003c/a\u003e\n一、AWK学习资料汇总\u003c/p\u003e\n\u003cp\u003e1、 \u003ca href=\"http://bbs.linuxtone.org/thread-222-1-1.html\"\u003eawk学习笔记\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e2、 \u003ca href=\"http://bbs.linuxtone.org/thread-678-1-2.html\"\u003eIBM AWK 学习资料\u003c/a\u003e[推荐]\u003c/p\u003e\n\u003cp\u003e3、 \u003ca href=\"http://bbs.linuxtone.org/thread-334-1-2.html\"\u003eawk实例\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e4、 \u003ca href=\"http://bbs.linuxtone.org/thread-267-1-2.html\"\u003eawk学习笔记2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e5、 \u003ca href=\"http://bbs.linuxtone.org/thread-227-1-2.html\"\u003eawk用法小结\u003c/a\u003e [推荐]\u003c/p\u003e\n\u003cp\u003e6、 \u003ca href=\"http://bbs.linuxtone.org/thread-224-1-2.html\"\u003eawk学习实操\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e7、 \u003ca href=\"http://bbs.linuxtone.org/thread-223-1-2.html\"\u003eAWK:Linux 管理员的智能工具包\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e8、 \u003ca href=\"http://www.linux.gov.cn/shell/awk.htm\"\u003e肥肥的AWK学习笔记\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e9、 \u003ca href=\"http://bbs.linuxtone.org/thread-2777-1-1.html\"\u003eAWK命令小结\u003c/a\u003e [推荐]\u003c/p\u003e"
January 22, 2011
第 7 章进程控制开发
"\u003cp\u003e本章目标\u003c/p\u003e\n\u003cp\u003e文件是 Linux 中最常见最基础的操作对象,而进程则是系统调度的单位,在上一章学习了文件I/O 控制之后,本章主要讲解进程控制开发部分,通过本章的学习,读者将会掌握以下内容。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e掌握进程相关的基本概念\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e掌握 Linux 下的进程结构\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e掌握 Linux 下进程创建及进程管理\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e掌握 Linux下进程创建相关的系统调用\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e掌握守护进程的概念\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e掌握守护进程的启动方法\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e掌握守护进程的输出及建立方法\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e学会编写多进程程序\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e学会编写守护进程\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e7.1 Linux 下进程概述\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e7.1.1 进程相关基本概念\u003c/p\u003e\n\u003cp\u003e1.进程的定义\u003c/p\u003e\n\u003cp\u003e进程的概念首先是在60年代初期由MIT的Multics系统和IBM的TSS/360系统引入的。\u003c/p\u003e\n\u003cp\u003e经过了40 多年的发展,人们对进程有过各种各样的定义。现列举较为著名的几种。\u003c/p\u003e\n\u003cp\u003e(1)进程是一个独立的可调度的活动(E. Cohen,D. Jofferson)\u003c/p\u003e\n\u003cp\u003e(2)进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源(P. Denning)\u003c/p\u003e\n\u003cp\u003e(3)进程是可以并行执行的计算部分。(S. E. Madnick,J. T. Donovan) …\u003c/p\u003e"
January 22, 2011
6.5.2 文件读写
"\u003cp\u003e\u003cstrong\u003e1.读文件\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(1)fread函数说明\u003c/p\u003e\n\u003cp\u003e在文件流打开之后,可对文件流进行读写等操作,其中读操作的函数为fread。\u003c/p\u003e\n\u003cp\u003e(2)fread函数格式\u003c/p\u003e\n\u003cp\u003efread函数格式如表6.18所示。\u003c/p\u003e\n\u003cp\u003e表6.18 fread函数语法要点\u003c/p\u003e\n\u003cp\u003e所需头文件 #include\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e函数原型\u003c/strong\u003e size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream)\u003c/p\u003e\n\u003cp\u003eptr:存放读入记录的缓冲区\u003c/p\u003e\n\u003cp\u003esize:读取的记录大小\u003c/p\u003e\n\u003cp\u003enmemb:读取的记录数\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e函数传入值\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003estream:要读取的文件流\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e函数返回值\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e成功:返回实际读取到的nmemb数目\u003c/p\u003e\n\u003cp\u003e失败:EOF\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2.写文件\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e(1)fwrite函数说明\u003c/p\u003e\n\u003cp\u003efwrite函数是用于对指定的文件流进行写操作。\u003c/p\u003e\n\u003cp\u003e(2)fwrite函数格式\u003c/p\u003e\n\u003cp\u003efwrite函数格式如表6.19 所示。\u003c/p\u003e\n\u003cp\u003e表6.19 fwrite函数语法要点\u003c/p\u003e\n\u003cp\u003e所需头文件#include\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e函数原型\u003c/strong\u003e size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e函数传入值ptr\u003c/strong\u003e:存放写入记录的缓冲区\u003c/p\u003e\n\u003cp\u003esize:写 …\u003c/p\u003e"
January 22, 2011
6.5 标准 I/O 开发
"\u003cp\u003e本章前面几节所述的文件及I/O 读写都是基于文件描述符的。这些都是基本的I/O 控制,是不带缓存的。而本节所要讨论的I/O 操作都是基于流缓冲的,它是符合ANSI C的标准I/O处理,这里有很多函数读者已经非常熟悉了(如printf、scantf 函数等),因此本节中仅简要介绍最主要的函数。\u003c/p\u003e\n\u003cp\u003e标准 I/O 提供流缓冲的目的是尽可能减少使用read和write调用的数量。标准I/O 提供了3 种类型的缓冲存储。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e· 全缓冲\u003c/strong\u003e。在这种情况下,当填满标准I/O 缓存后才进行实际I/O 操作。对于驻在磁盘上的文件通常是由标准I/O 库实施全缓冲的。在一个流上执行第一次I/O 操作时,通常调用malloc就是使用全缓冲。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e· 行缓冲\u003c/strong\u003e。在这种情况下,当在输入和输出中遇到新行符时,标准I/O 库执行I/O 操作。\n这允许我们一次输出一个字符(如fputc 函数),但只有写了一行之后才进行实际I/O 操作。\n当流涉及一个终端时(例如标准输入和标准输出),典型地使用行缓冲。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e· 不带缓冲\u003c/strong\u003e。标准I/O库不对字符进行缓冲。如果用标准I/O函数写若干字符到不带缓冲的流中,则相当于用write系统的用函数将这些字 …\u003c/p\u003e"
January 21, 2011
6.2 Linux 中文件及文件描述符概述
"\u003cp\u003e正如第1 章中所述,在Linux 中对目录和设备的操作都等同于文件的操作,因此,大大简化了系统对不同设备的处理,提高了效率。Linux 中的文件主要分为4 种:普通文件、目录文件、链接文件和设备文件。\u003c/p\u003e\n\u003cp\u003e那么,内核如何区分和引用特定的文件呢?这里用到的就是一个重要的概念——文件描述符。对于Linux 而言,所有对设备和文件的操作都使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。\u003c/p\u003e\n\u003cp\u003e通常,一个进程启动时,都会打开3 个文件:标准输入、标准输出和标准出错处理。这3 个文件分别对应文件描述符为0、1 和2(也就是宏替换STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,鼓励读者使用这些宏替换)。\u003c/p\u003e\n\u003cp\u003e基于文件描述符的I/O 操作虽然不能移植到类Linux 以外的系统上去(如Windows),但它往往是实现某些I/O操作的惟一途径,如Linux中低级文件操作函数、多 …\u003c/p\u003e"
January 19, 2011
用PHP命令行控制脚本[CLI]
"\u003cp\u003eCLI :Command-Line Script(CLI – Command-Line Interface) //翻译;命令行接口\u003c/p\u003e\n\u003cp\u003e字串5\u003c/p\u003e\n\u003cp\u003ePHP CLI(Command Line Interface). \u003ca href=\"http://www.php.net/\"\u003ehttp://www.php.net/\u003c/a\u003e 预设支援CLI 了,什么是CLI,也就是Command Line Interface,简单的说,就是让你可以在系统上当shell 来跑。 如果还不懂,简单的说,就像你写perl 程式一样:\n#!/usr/local/bin/php\necho “Hello World!”;\n?\u0026gt;\u003c/p\u003e\n\u003cp\u003e字串3\n———————————————————官方[PHP 手册]叙述:\u003c/p\u003e\n\u003cp\u003e从版本 4.3.0 开始,PHP 提供了一种新类型的 SAPI(Server Application Programming Interface,服务端应用编程端口)支持,名为 CLI,意为 Command Line Interface,即命令行接口。顾名思义,该 SAPI 模块主要用作 PHP 的开发外壳应用。CLI SAPI 和其它 SAPI 模块相比有很多的不同之处,我们将在本章 …\u003c/p\u003e"
January 19, 2011
asp实现QQ号状态和QQ秀
"\u003cp\u003e原理基于Xmlhttp查询\u003cstrong\u003e\u003ca href=\"http://webpresence.qq.com/getonline?qq=QQ\"\u003ehttp://webpresence.qq.com/getonline?qq=QQ\u003c/a\u003e\u003c/strong\u003e 号\u003c/p\u003e\n\u003cp\u003e如果在线将返回1为在线,0为不在线。 好了,\u003c/p\u003e\n\u003cp\u003e或者:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e定义online数组,必须是online命名\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e获取在线状态\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e可以获取多个,必须以冒号分隔,以冒号结尾,比如:\u003c/p\u003e\n\u003cp\u003eonline[0]=0,表示271569542离线\u003c/p\u003e\n\u003cp\u003eonline[1]=1,表示78293657在线\u003c/p\u003e\n\u003cp\u003eonline[2]=1,表示123456在线\u003c/p\u003e\n\u003cp\u003e填写号码的先后顺序,分别对应数组online的0、1、2\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eQQ秀怎么返回那\u003c/p\u003e\n\u003cp\u003e这个地址http://qqshow-user.tencent.com/\u003c/p\u003e\n\u003cp\u003e是显示QQ秀的\u003c/p\u003e\n\u003cp\u003e下面来实现\u003c/p\u003e\n\u003cp\u003e程序部分\u003c/p\u003e\n\u003cp\u003e以下是代码片段:\u003c/p\u003e\n\u003cp\u003eif request(“q”)\u0026lt;\u0026gt;”” then\u003c/p\u003e\n\u003cp\u003edim q,url,result\u003c/p\u003e\n\u003cp\u003eq=request(“q”)\u003c/p\u003e\n\u003cp\u003eurl = “http://webpresence.qq.com/getonline?qq=”\u0026amp; q\u003c/p\u003e\n\u003cp\u003eresult=getHTTPPage(url)\u003c/p\u003e\n\u003cp\u003eif result = 1 then\u003c/p\u003e\n\u003cp\u003eresult=”当前在线” …\u003c/p\u003e"
January 16, 2011
nginx和apache下对域名进行301重定向-优化篇
"\u003cp\u003e一般网站为了将网站的权重从yoursite.com自动转向到www.yoursite.com,这里我们在nginx下来实现永久跳转.\u003c/p\u003e\n\u003cp\u003e将不带WWW的主域名重定向到带WWW的二级域名,实现两个域名合并,方法如下:\u003c/p\u003e\n\u003cp\u003eNginx配置方法:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e方法1:\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eserver {\u003c/p\u003e\n\u003cp\u003eserver_name \u003ca href=\"https://www.yoursite.com\"\u003ewww.yoursite.com\u003c/a\u003e yoursite.com;\u003c/p\u003e\n\u003cp\u003eif ($host != ‘www.yoursite.com’ ) {\u003c/p\u003e\n\u003cp\u003erewrite ^/(.*)$ \u003ca href=\"http://www.yoursite.com/$1\"\u003ehttp://www.yoursite.com/$1\u003c/a\u003e permanent;\u003c/p\u003e\n\u003cp\u003e}\u003c/p\u003e\n\u003cp\u003e…\u003c/p\u003e\n\u003cp\u003e}\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e方法2:\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e类似apache,单独给yoursite.com做一个虚拟主机\u003c/p\u003e\n\u003cp\u003eserver {\u003c/p\u003e\n\u003cp\u003eserver_name yoursite.com;\u003c/p\u003e\n\u003cp\u003erewrite ^(.*) \u003ca href=\"http://www.yoursite.com\"\u003ehttp://www.yoursite.com\u003c/a\u003e$1 permanent;\u003c/p\u003e\n\u003cp\u003e}\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003eApache虚拟主机配置:\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eDocumentRoot /data/www/www.yoursite.com\u003c/p\u003e\n\u003cp\u003eServerName \u003ca href=\"https://www.yoursite.com\"\u003ewww.yoursite.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDirectoryIndex …\u003c/p\u003e\u003c/blockquote\u003e"
January 15, 2011
linux下which、whereis、locate、find 命令的区别
"\u003cp\u003e我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。\nwhich 查看可执行文件的位置\nwhereis 查看文件的位置\nlocate 配 合数据库查看文件位置\nfind 实际搜寻硬盘查询文件名称\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1、which\u003c/strong\u003e\n语法:\n[root@redhat ~]# which 可执行文件名称\n例如:\n[root@redhat ~]# which passwd\n/usr/bin/passwd\nwhich是通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2、whereis\u003c/strong\u003e\n语法:\n[root@redhat ~]# whereis [-bmsu] 文件或者目录名称\n参数说 明:\n-b : 只找二进制文件\n-m: 只找在说明文件manual路径下的文件\n-s : 只找source源文件\n-u : 没有说明文档的文件\n例如:\n[root@redhat ~]# whereis passwd …\u003c/p\u003e"
January 14, 2011
SEO URL的优化方案【转】
"\u003cp\u003e针对搜索引擎优化(SEO),页面URL的布局与呈现是影响排名和网站索引率的重要因素之一。对于搜索引擎而言,URL是它们找到一个网页的入口,URL的好坏会直接影响搜索引擎对一个网站的索引及理解程度。对于用户,URL会直接显示在搜索结果中,从而影响人们的点击意愿。因此一个好的URL结构无论是对搜索引擎,还是用户,都有着非常重要的作用。在本文中,我们将详细探讨针对SEO的URL优化技巧,但同时也想提醒大家,对于一个现有的网站,URL的改动需要谨慎。URL的改动会牵扯到原有URL权重的转移等问题,因此除非在万不得已的情况下,尽量不要改动现有的URL。但如果你是在策划一个新的网站或者生成新的页面,那么就让我们来探讨一下如何得到一个完美的URL吧。\n\u003cstrong\u003e1. URL愈短愈好\u003c/strong\u003e\n无论是搜索引擎,还是浏览者,都喜欢简短的URL。URL的层级不宜过多,尽量控制在4级之内。虽然搜索引擎仍然会抓取四级之后的页面,但页面的权重会大大降低。\u003c/p\u003e\n\u003cp\u003e例如华为中文网站的“移动宽带”( \u003ca href=\"http://www.huawei.com/cn/core\"\u003ehttp://www.huawei.com/cn/core\u003c/a\u003e_network/internet_mobility\n_solutions.do )页 …\u003c/p\u003e"