February 9, 2011
[sed] 鸟哥sed知识补遗
"接自:鸟哥Sed知识补遗****格式 sed [-nefr] [n1,n2] 动作\n-n 安静模式,只有经过sed处理过的行才显示出来,其他不显示。\n-e 直接在命令行模式上进行sed的操作。貌似是默认选项,不用写。\n-f 将sed的操作写在一个文件里,用的时候 -f filename 就可以按照内容进行sed操作了。\n-r 使之支持扩展正则表达式\nn1,n2 不一定需要, 选择要进行处理的行, 10,20 表示在10~20行之间处理\n动作 a 添加,接字符串,添加到当前行的下一行。 c 替换, 接字符串,用他们替换n1到n2之间的行。 d 删除符合模式的行 sed ‘/regexp/d’ // 之间是正则表达式,模式在d前面,d后面一般不接任何内容。 i 插入,接字符串,添加到当前行的上一行。\np 打印,打印某个选择的数据,通常与-n 安静模式一起使用\ns 搜索, 还可以替换,类似与vim里的搜索替换功能。例如 1,20s/old/new/g 替换1~20行的old为new\n注意动作最好用’ ‘括起来,防止空格导致错误。 例子:\n显示 passwd内容,将2~5 …"
February 9, 2011
[awk] awk学习资料汇总
"原文链接: http://bbs.linuxtone.org/thread-1714-1-1.html 一、AWK学习资料汇总\n1、 awk学习笔记\n2、 IBM AWK 学习资料[推荐]\n3、 awk实例\n4、 awk学习笔记2\n5、 awk用法小结 [推荐]\n6、 awk学习实操\n7、 AWK:Linux 管理员的智能工具包\n8、 肥肥的AWK学习笔记\n9、 AWK命令小结 [推荐]"
January 22, 2011
第 7 章进程控制开发
"本章目标\n文件是 Linux 中最常见最基础的操作对象,而进程则是系统调度的单位,在上一章学习了文件I/O 控制之后,本章主要讲解进程控制开发部分,通过本章的学习,读者将会掌握以下内容。\n掌握进程相关的基本概念\n掌握 Linux 下的进程结构\n掌握 Linux 下进程创建及进程管理\n掌握 Linux下进程创建相关的系统调用\n掌握守护进程的概念\n掌握守护进程的启动方法\n掌握守护进程的输出及建立方法\n学会编写多进程程序\n学会编写守护进程\n7.1 Linux 下进程概述\n7.1.1 进程相关基本概念\n1.进程的定义\n进程的概念首先是在60年代初期由MIT的Multics系统和IBM的TSS/360系统引入的。\n经过了40 多年的发展,人们对进程有过各种各样的定义。现列举较为著名的几种。\n(1)进程是一个独立的可调度的活动(E. Cohen,D. Jofferson)\n(2)进程是一个抽象实体,当它执行某个任务时,将要分配和释放各种资源(P. Denning)\n(3)进程是可以并行执行的计算部分。(S. E. Madnick,J. T. Donovan)\n以上进程的概念都不相同,但其本质是一样 …"
January 22, 2011
6.5.2 文件读写
"1.读文件\n(1)fread函数说明\n在文件流打开之后,可对文件流进行读写等操作,其中读操作的函数为fread。\n(2)fread函数格式\nfread函数格式如表6.18所示。\n表6.18 fread函数语法要点\n所需头文件 #include\n函数原型 size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream)\nptr:存放读入记录的缓冲区\nsize:读取的记录大小\nnmemb:读取的记录数\n函数传入值\nstream:要读取的文件流\n函数返回值\n成功:返回实际读取到的nmemb数目\n失败:EOF\n2.写文件\n(1)fwrite函数说明\nfwrite函数是用于对指定的文件流进行写操作。\n(2)fwrite函数格式\nfwrite函数格式如表6.19 所示。\n表6.19 fwrite函数语法要点\n所需头文件#include\n函数原型 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream)\n函数传入值ptr:存放写入记录的缓冲区\nsize:写 …"
January 22, 2011
6.5 标准 I/O 开发
"本章前面几节所述的文件及I/O 读写都是基于文件描述符的。这些都是基本的I/O 控制,是不带缓存的。而本节所要讨论的I/O 操作都是基于流缓冲的,它是符合ANSI C的标准I/O处理,这里有很多函数读者已经非常熟悉了(如printf、scantf 函数等),因此本节中仅简要介绍最主要的函数。\n标准 I/O 提供流缓冲的目的是尽可能减少使用read和write调用的数量。标准I/O 提供了3 种类型的缓冲存储。\n· 全缓冲。在这种情况下,当填满标准I/O 缓存后才进行实际I/O 操作。对于驻在磁盘上的文件通常是由标准I/O 库实施全缓冲的。在一个流上执行第一次I/O 操作时,通常调用malloc就是使用全缓冲。\n· 行缓冲。在这种情况下,当在输入和输出中遇到新行符时,标准I/O 库执行I/O 操作。 这允许我们一次输出一个字符(如fputc 函数),但只有写了一行之后才进行实际I/O 操作。 当流涉及一个终端时(例如标准输入和标准输出),典型地使用行缓冲。\n· 不带缓冲。标准I/O库不对字符进行缓冲。如果用标准I/O函数写若干字符到不带缓冲的流中,则相当于用write系统的用函数将这些字 …"
January 21, 2011
6.2 Linux 中文件及文件描述符概述
"正如第1 章中所述,在Linux 中对目录和设备的操作都等同于文件的操作,因此,大大简化了系统对不同设备的处理,提高了效率。Linux 中的文件主要分为4 种:普通文件、目录文件、链接文件和设备文件。\n那么,内核如何区分和引用特定的文件呢?这里用到的就是一个重要的概念——文件描述符。对于Linux 而言,所有对设备和文件的操作都使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。\n通常,一个进程启动时,都会打开3 个文件:标准输入、标准输出和标准出错处理。这3 个文件分别对应文件描述符为0、1 和2(也就是宏替换STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,鼓励读者使用这些宏替换)。\n基于文件描述符的I/O 操作虽然不能移植到类Linux 以外的系统上去(如Windows),但它往往是实现某些I/O操作的惟一途径,如Linux中低级文件操作函数、多 …"
January 19, 2011
用PHP命令行控制脚本[CLI]
"CLI :Command-Line Script(CLI – Command-Line Interface) //翻译;命令行接口\n字串5\nPHP CLI(Command Line Interface). http://www.php.net/ 预设支援CLI 了,什么是CLI,也就是Command Line Interface,简单的说,就是让你可以在系统上当shell 来跑。 如果还不懂,简单的说,就像你写perl 程式一样: #!/usr/local/bin/php echo “Hello World!”; ?\u0026gt;\n字串3 ———————————————————官方[PHP 手册]叙述:\n从版本 4.3.0 开始,PHP 提供了一种新类型的 SAPI(Server Application Programming Interface,服务端应用编程端口)支持,名为 CLI,意为 Command Line Interface,即命令行接口。顾名思义,该 SAPI 模块主要用作 PHP 的开发外壳应用。CLI SAPI 和其它 SAPI 模块相比有很多的不同之处,我们将在本章中详细 …"
January 19, 2011
asp实现QQ号状态和QQ秀
"原理基于Xmlhttp查询http://webpresence.qq.com/getonline?qq=QQ 号\n如果在线将返回1为在线,0为不在线。 好了,\n或者:\n定义online数组,必须是online命名\n获取在线状态\n可以获取多个,必须以冒号分隔,以冒号结尾,比如:\nonline[0]=0,表示271569542离线\nonline[1]=1,表示78293657在线\nonline[2]=1,表示123456在线\n填写号码的先后顺序,分别对应数组online的0、1、2\nQQ秀怎么返回那\n这个地址http://qqshow-user.tencent.com/\n是显示QQ秀的\n下面来实现\n程序部分\n以下是代码片段:\nif request(“q”)\u0026lt;\u0026gt;”” then\ndim q,url,result\nq=request(“q”)\nurl = “http://webpresence.qq.com/getonline?qq=”\u0026amp; q\nresult=getHTTPPage(url)\nif result = 1 then\nresult=”当前在线”\nelse …"
January 16, 2011
nginx和apache下对域名进行301重定向-优化篇
"一般网站为了将网站的权重从yoursite.com自动转向到www.yoursite.com,这里我们在nginx下来实现永久跳转.\n将不带WWW的主域名重定向到带WWW的二级域名,实现两个域名合并,方法如下:\nNginx配置方法:\n方法1:\nserver {\nserver_name www.yoursite.com yoursite.com;\nif ($host != ‘www.yoursite.com’ ) {\nrewrite ^/(.*)$ http://www.yoursite.com/$1 permanent;\n}\n…\n}\n方法2:\n类似apache,单独给yoursite.com做一个虚拟主机\nserver {\nserver_name yoursite.com;\nrewrite ^(.*) http://www.yoursite.com$1 permanent;\n}\nApache虚拟主机配置:\nDocumentRoot /data/www/www.yoursite.com\nServerName www.yoursite.com\nDirectoryIndex …"
January 15, 2011
linux下which、whereis、locate、find 命令的区别
"我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。 which 查看可执行文件的位置 whereis 查看文件的位置 locate 配 合数据库查看文件位置 find 实际搜寻硬盘查询文件名称\n1、which 语法: [root@redhat ~]# which 可执行文件名称 例如: [root@redhat ~]# which passwd /usr/bin/passwd which是通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件\n2、whereis 语法: [root@redhat ~]# whereis [-bmsu] 文件或者目录名称 参数说 明: -b : 只找二进制文件 -m: 只找在说明文件manual路径下的文件 -s : 只找source源文件 -u : 没有说明文档的文件 例如: [root@redhat ~]# whereis passwd passwd: /usr/bin/passwd …"