11 2012 档案

摘要:vi这个工具太强大了,做为一个linux用户一定得熟练使用它,现在来学习一下三种模式:一般模式、指令列命令模式、编辑模式用vi打开一个文件:vi file1.txt打开后默认是进入一般模式,在此模式下可以用h,l,j,k命令进行移动,分别为向左、向右、向上、向下yy:复制一行p:粘贴 阅读全文
posted @ 2012-11-30 10:32 践道者 阅读(171) 评论(0) 推荐(0) 编辑
摘要:uname -a 阅读全文
posted @ 2012-11-30 09:25 践道者 阅读(199) 评论(0) 推荐(0) 编辑
摘要:wc命令为文件查看命令,具体用法如下:wc [options] file1常用选项有:-c 统计字节-l 统计行数-w 统计字此命令可组合使用,如:wc -clw file1 file2统计当前文件夹文件数:ls -l | wc -l总数还要减1才准确 阅读全文
posted @ 2012-11-29 18:53 践道者 阅读(675) 评论(0) 推荐(0) 编辑
摘要:格式:chmod key 文件名key组成:[who] [操作符号] [mode]who:u--用户g--同组用户o--其他用户a--所有用户操作符号:+ --添加某权限- -- 取消某权限= --赋予给定权限并取消其它所有权限mode :r -- 可读w -- 可写x -- 可执行以绝对方式改变权限格式:chmod mode 文件名以0和1表示权限位,1表示有相应权限,0表示没有相应权限-rwxr-xr-x 755-rwxrwx--- 770rwxrwxrwx 777 阅读全文
posted @ 2012-11-29 10:03 践道者 阅读(195) 评论(0) 推荐(0) 编辑
摘要:tar [主选项 + 辅选项] 文件或目录主选项为必选,告诉tar要做什么事常用主选项:-c 创建新的档案文件。-r 把要存档的文件追加到档案文件的未尾。-t 列出档案文件的内容,查看已经备份了哪些文件。-u 更新档案中的已有文件,如果备份文件中没有要更新的文件,则将该文件追加到备份文件的最后。-x 从档案文件中释放文件。常用辅选项:f 使用档案文件,这个选项通常是必选的。k 保存已经存在的文件。例如我们把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖。m 在还原文件时,把所有文件的修改时间设定为现在。M 创建多卷的档案文件,以便在几个磁盘中存放。v 详细列出 tar... 阅读全文
posted @ 2012-11-28 19:54 践道者 阅读(469) 评论(0) 推荐(0) 编辑
摘要:.gz文件压缩、打包注:压缩后源文件将删除gzip fff.txt最大压缩比:gzip -r9 fff.txt压缩目录下的所有文件:gzip ./leon/解压缩:gunzip 阅读全文
posted @ 2012-11-28 19:44 践道者 阅读(143) 评论(0) 推荐(0) 编辑
摘要:grep:格式:grep "字符串" 文件名如:在file.txt 里查找leon字符串所在行grep -n leon file.txt查找最近登陆的用户last | grep 'root' | cut -d ' ' -f1 阅读全文
posted @ 2012-11-28 19:32 践道者 阅读(205) 评论(0) 推荐(0) 编辑
摘要:安装memcache启动服务时出现 error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory>whereis libevent-2.0.so.5libevent-2.0.so.5: /usr/local/lib/libevent-2.0.so.5> ldd /usr/local/bin/memcached libevent-2.0.so.5 => not found libpthread.so.0 => 阅读全文
posted @ 2012-11-28 15:27 践道者 阅读(348) 评论(0) 推荐(0) 编辑
摘要:创建、删除目录:mkdir,rmdirrmdir只能删除空目录,要删除非空目录,则用rm -r移动、更名文件或目录 :mvmv [options] 源 目标参数:-f-i-u 如果要被覆盖的文件或目录比源文件要新,则不覆盖rm:删除文件或目录 阅读全文
posted @ 2012-11-28 14:10 践道者 阅读(294) 评论(0) 推荐(0) 编辑
摘要:cp:cp [options] 源文件或目录 目标文件或目录功能:1、把源文件复制为目标文件2、把多个源文件复制到目标目录中3、把源文件复制到指定的目标目录中常用参数:-f 如果目标文件与源文件同名,直接覆盖不提示-i 与-f 相反,交互式提示-r 递归复制示例:把leon文件夹复制到leon1cp -r leon leon1 阅读全文
posted @ 2012-11-28 13:44 践道者 阅读(197) 评论(0) 推荐(0) 编辑
摘要:cat:查看文件内容cat [options] 文件列表1、用来显示文件内容,cat file.txt2、用来将两个或多个文件连接起来cat file1.txt file1.txt > file3.txt把file1.txt file2.txt合并到file3.txt 如果file3.txt 不存在则会自动创建之3、-n 显示行号cat -n file.txt4、文件内容过长more lesscat file.txt | more 阅读全文
posted @ 2012-11-28 11:54 践道者 阅读(524) 评论(0) 推荐(0) 编辑
摘要:touch [options] 文件列表若文件不存在,则建立一个文件默认情况会将文件记录改为当前时间常用选项: -ttouch -t 201211121023 file1将file1 的时间记录改为 2012年11月12日10点23分 阅读全文
posted @ 2012-11-27 16:58 践道者 阅读(182) 评论(0) 推荐(0) 编辑
摘要:日期:date命令,查看直接用date, 要显示格林威治时间用date -u修改用 date -s ,如将系统时间设定成1996年6月10日的命令如下date -s 06/10/96将系统时间设定成下午14点14分0秒的命令如下,date -s 14:14:00日历:cal [月] [年]opstions: -ye.g:cal -y | more 显示整年日历设置中国时区:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime自动授时:ntpdate asia.pool.ntp.org 阅读全文
posted @ 2012-11-27 16:23 践道者 阅读(334) 评论(0) 推荐(0) 编辑
摘要:更改密码:passwd获取帮助: man [command] 阅读全文
posted @ 2012-11-27 16:04 践道者 阅读(134) 评论(0) 推荐(0) 编辑
摘要:command [options] [file or dir]其中options 通常是以"-" 开始,多个options 可以用一个"-"连起来,如ls -l -a 与 ls -la 阅读全文
posted @ 2012-11-27 16:01 践道者 阅读(151) 评论(0) 推荐(0) 编辑
摘要:注销:exit、logout重启:reboot关机:poweroff、halt、shutdownshutdown 命令:shutdown [options] [times] [warning]-k 并不真正关机而只是发出警告信息给所有用户-r 关机后立即重新启动-h 关机e.g:shutdown -r +10 10分钟后重新启动shutdown -h now 立即关机shutdown -r now 立即重启 阅读全文
posted @ 2012-11-27 15:57 践道者 阅读(630) 评论(0) 推荐(0) 编辑
摘要:在启动时自动进入文本模式方法:1、以root用户权限登陆,修改/etc/inittab文件2、找到id:5:initdefault 把5改为3解释:id: 用来定义缺省的init运行的级别后面的数据表示runlevel,有7个数字,代表的意思为以下七种: Runlevel 0 是让init关闭所有进程并终止系统。 Runlevel 1 是用来将系统转到单用户模式,单用户模式只能有系统管理员进入,在该模式下处理那些在有登录用户的情况下不能进行更改的文件,改runlevel的编号1也可以用S代替。 Runlevel 2 是允许系统进入多用户的模式,但并不支持文件共享,这种模式很少应用。 ... 阅读全文
posted @ 2012-11-27 15:51 践道者 阅读(376) 评论(0) 推荐(0) 编辑
摘要:GRUB:GNU GRUB,是一个多重操作系统启动管理器。用来引导不同系统,如windows,linux,还可以引导不同的内核版本。 阅读全文
posted @ 2012-11-27 15:43 践道者 阅读(211) 评论(0) 推荐(0) 编辑
摘要:原文:http://sdiehl.github.com/gevent-tutorial/geventFor the Working Python DeveloperWritten by the Gevent Communitygevent is a concurrency library based aroundlibev. It provides a clean API for a variety of concurrency and network related tasks.gevent是一个并发性库基于libev,它提供了一个纯净的API 用来处理各类问题和网络相关任务.Introdu 阅读全文
posted @ 2012-11-27 15:26 践道者 阅读(7828) 评论(2) 推荐(0) 编辑
摘要:编程中遇到一个问题,/usr/bin/python 链接的版本是2.4,但服务器最新版本是2.72.7的路径在/usr/local/bin/python中,我想用/usr/bin/python这个路径链接到最新版。设置方法如下:ln -s /usr/local/bin/python /usr/bin/python-s参数为符号链接 阅读全文
posted @ 2012-11-27 10:36 践道者 阅读(439) 评论(0) 推荐(0) 编辑
摘要:编辑/etc/rc.local文件就行了如:开机启动代理服务器nohup /usr/bin/python /usr/local/goagent2.1.9/local/proxy.py 1>/dev/null 2>/dev/null &nohup:不依懒终端运行1>/dev/null 2>/dev/null :错误信息、标准信息皆不输出 阅读全文
posted @ 2012-11-27 10:33 践道者 阅读(281) 评论(0) 推荐(0) 编辑
摘要:rename /源 /目标 阅读全文
posted @ 2012-11-27 10:10 践道者 阅读(172) 评论(0) 推荐(0) 编辑
摘要:压缩:zip解压:unziptar.gz解压:tar -xvfz filename 阅读全文
posted @ 2012-11-26 15:39 践道者 阅读(170) 评论(0) 推荐(0) 编辑
摘要:何为阻塞?从该网络通讯过程来理解一下何为阻塞 :在以上过程中若连接还没到来,那么 accept 会阻塞 , 程序运行到这里不得不挂起, CPU 转而执行其他线程。在以上过程中若数据还没准备好, read 会一样也会阻塞。阻塞式网络 IO 的特点:多线程处理多个连接。每个线程拥有自己的栈空间并且占用一些 CPU 时间。每个线程遇到外部为准备好的时候,都会阻塞掉。阻塞的结果就是会带来大量的进程上下文切换。且大部分进程上下文切换可能是无意义的。比如假设一个线程监听一个端口,一天只会有几次请求进来,但是该 cpu 不得不为该线程不断做上下文切换尝试,大部分的切换以阻塞告终。何为非阻塞?下面有个隐喻:一 阅读全文
posted @ 2012-11-26 09:22 践道者 阅读(289) 评论(0) 推荐(0) 编辑
摘要:1、pop方()查看SQLAlchemy的create_engine方法时看到default_strategy = 'plain'strategy = kwargs.pop('strategy', default_strategy)这段代码,不是很理解,查了一下手册,原来字典是有pop方法的,原型:pop(key[, default])说明:If key is in the dictionary, remove it and return its value, else return default. If default is not given and ke 阅读全文
posted @ 2012-11-24 13:49 践道者 阅读(816) 评论(0) 推荐(0) 编辑
摘要:具体ORM的详细说明可以看 这里http://baike.baidu.com/view/197951.htmORM方法论基于三个核心原则: 简单:以最基本的形式建模数据。 传达性:数据库结构被任何人都能理解的语言文档化。精确性:基于数据模型创建正确标准化了的结构。现在来看看SQLAlchemy使用方法1、连接数据库create_engine() 如我连接的是mysql数据库 db_config = { 'host': 'xxx.xxx.xxx.xx', 'user': 'root', 'passwd': ' 阅读全文
posted @ 2012-11-24 12:54 践道者 阅读(21567) 评论(1) 推荐(1) 编辑
摘要:1 import multiprocessing 2 3 def worker(i): 4 print 'Worker=',i #参数 5 print 'name=', multiprocessing.current_process().name #获取Process实例名称 6 return 7 8 if __name__ == '__main__': 9 jobs = []10 for i in range(5):11 p = multiprocessing.Process(name=str(i), target=worke... 阅读全文
posted @ 2012-11-23 15:49 践道者 阅读(335) 评论(0) 推荐(0) 编辑
摘要:项目中有个功能要求将字符串第一个字母改为大写,查了文档及搜索引擎,没找到,自己写了一个,非常简单1 def upperFirstWord(inStr):2 return "%s" % (inStr[:1].upper() + inStr[1:])顺便温习一下下面这几个同类型函数:capitalize() 首字母大写,其余全部小写upper() 全转换成大写lower() 全转换成小写title() 标题首字大写,如"i love python".title() "I love python" 阅读全文
posted @ 2012-11-22 18:19 践道者 阅读(45512) 评论(1) 推荐(0) 编辑
摘要:编写python脚本前如果需要找某个库总要搜索引擎一翻,其实py提供更方便、快捷的方法,就是easy_install1、先安装 setuptools或者使用ez_setup.py脚本,安装完后确定easy_install已经在环境变量里了,因为只有这样才能在命令行里直接运行easy_install2、要安装gevent > easy_install gevent MySQLdb > easy_install MySQLdb 它会自动云搜索符合的库去安装,是不是简单了很多?3、显示指定版本 easy_install "MySQL-python==1.2.2"更详细 阅读全文
posted @ 2012-11-22 15:29 践道者 阅读(312) 评论(0) 推荐(0) 编辑
摘要:查询是我们在使用数据库过程中使用最频繁的操作,掌握查询的技巧是每个合格程序员必备的素质,下面来学习一下mongodb的查询。 一、find简介 查询就是返回被查询集合的子集,子集的范围从0个到整个集合,find的第一个参数为查询条件,如果不设置条件则返回整个文档。 例:db.c.find() db.c.find({'age':27}) db.c.find({'age':27, 'name':'leon'}) #and 条件,意思是age为27且name为leon 1、指定返回值 find函数的第二个参数用来设定返回字段,通过过滤不 阅读全文
posted @ 2012-11-22 01:11 践道者 阅读(282) 评论(0) 推荐(0) 编辑
摘要:mkdir(与windows dos里的md一样)参数:-m 分配权限-p 指定路径例:mkdir dir_namermdir例:rmdir dir_name参数:-p 递归删除 阅读全文
posted @ 2012-11-21 10:46 践道者 阅读(1980) 评论(0) 推荐(0) 编辑
摘要:一、插入并保存文档insert方法,如:db.foo.insert({'bar':'baz'})此操作会给文档增加一个"_id"键1、批量插入 多个文档的插入时,使用批量插入比单个一次次插入会快,因为一次批量插入只消耗一个TCP请求,避免许多零碎请求带来的开销,当单个文档发送至数据库时,会有一个头部信息,如果不用批量,则产生多个头部信息以便数据库处理。当前版本mongoDB最大消息长度为16MB,所以插入时会有所限制。 2、插入原理与作用 当行插入时,驱动程序会将数据转换成BSON形式送入数据库,数据库对BSON进行解析、验证(是否有&quo 阅读全文
posted @ 2012-11-19 21:38 践道者 阅读(317) 评论(0) 推荐(0) 编辑
摘要:1、使用shell的窍门mongo是个javascript shell,如insert,update remove其实就是js函数,如果想了解这些函数的源码,不要输入括号就可以了显示了。集合名不能是数据库类的属性,如db.version,当属性和目标集合同名时,可以使用getCollection函数正确获取集合名,db.getCollection("version")getCollection 函数还可以对 foo-bar这样的集合进行正确获取,因为foo-bar在js里是变量相减的意思。2、数据类型 1)基本数据类型 json的数据类型:null、布尔、数字、字符串、数组 阅读全文
posted @ 2012-11-18 01:34 践道者 阅读(289) 评论(0) 推荐(0) 编辑
摘要:一、文档文档是MongoDB的核心概念,多个键及其关联的值有序地放置在一起便是文档.{"greeting":"Hello,world"}重要概念:1、文档的键/值对是有序的2、文档的键是字符串3、既区分类型也区分大小写4、不能有重复的键二、集合文档相当于关系数据库中的行,集合相当于表.1、无模式,意味着集合里的文档可以是各种各样的为什么要使用多集合?1)分类文档让查询更清晰2)加快查询速度3)数据更集中,减少磁盘寻道操作4)使索引更加有效 2、命名 规则: 集合不能有空字符串 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾 集合名不能以 &q 阅读全文
posted @ 2012-11-17 00:59 践道者 阅读(316) 评论(0) 推荐(0) 编辑
摘要:1 import inspect2 3 def get_current_function_name():4 return inspect.stack()[1][3] 阅读全文
posted @ 2012-11-16 19:07 践道者 阅读(1047) 评论(0) 推荐(0) 编辑
摘要:第一章1、面向文档的数据库,不是关系形数据库2、面向文档的数据模型可使数据在多台服务器之间分割,平衡集群的数据和负载3、具有的功能:索引、聚合、固定集合、文件存储4、卓越的性能,把逻辑尽量交给客户端5、简便的管理方式,除启动数据库服务器外几乎没其它必要操作 阅读全文
posted @ 2012-11-16 01:15 践道者 阅读(245) 评论(0) 推荐(0) 编辑
摘要:非常简单,首先是在本机安装memcache服务并启动,d:\memcached\memcached.exe -d install #安装d:\memcached\memcached.exe -d start #启动如果没有在启动时配置参数,默认端口则为11211接着下载 memcache python版client#coding=utf8import memcachemcache= memcache.Client(['127.0.0.1:11211'])print mcache.set('say','hello,memcache') #displ 阅读全文
posted @ 2012-11-16 00:40 践道者 阅读(6533) 评论(0) 推荐(0) 编辑
摘要:由于python 没有抽象类、接口的概念,所以要实现这种功能得abc.py 这个类库,具体方式如下 1 from abc import ABCMeta, abstractmethod 2 3 #抽象类 4 class Headers(object): 5 __metaclass__ = ABCMeta 6 7 def __init__(self): 8 self.headers = '' 9 10 @abstractmethod11 def _getBaiduHeaders(self):pass12 13 def __str__(se... 阅读全文
posted @ 2012-11-15 19:25 践道者 阅读(34156) 评论(0) 推荐(1) 编辑
摘要:ord()把ASCII转换成数字chr()则相反,把数字转换成ASCIIord('s') #115chr(115) #s 阅读全文
posted @ 2012-11-15 09:32 践道者 阅读(4679) 评论(0) 推荐(0) 编辑
摘要:1 _DEFAULT_CONFIG = { 2 'name':None 3 } 4 5 class TestProperty(object): 6 def __init__(self, config): 7 self._config = config or {} 8 9 def __GetName(self):10 return self._config['name']11 12 def __SetName(self, name):13 self._config['name'] = name14 15... 阅读全文
posted @ 2012-11-14 10:12 践道者 阅读(710) 评论(0) 推荐(0) 编辑
摘要:在查看谷歌API类时发现这个函数,发现有问题,先上原函数: 1 def ValidateTypes(vars_tpl): 2 """Checks that each variable in a set of variables is the correct type. 3 4 Args: 5 vars_tpl: A tuple containing a set of variables to check. 6 7 Raises: 8 ValidationError: The given object was not one of the given accept. 阅读全文
posted @ 2012-11-13 17:59 践道者 阅读(2060) 评论(0) 推荐(0) 编辑
摘要:class TestStrRepr(object): def __str__(self): return "good, this is TestStr" #必须返回字符串 print TestStr() #good, this is TestStr可以认为__str__的目的是为print 这样的打印函数调用而设计的,当print 一个对象时,会自动调用其__str__方法而repr 函数则是将对象转换为字符串显示a = "hello"repr(a) # "'hello'"repr([1,2,3]) #'[1, 阅读全文
posted @ 2012-11-12 16:07 践道者 阅读(830) 评论(0) 推荐(0) 编辑
摘要:PI = 3.14 class Circ(object): def __init__(self): pass def __call__(self, r): return r * r * PI c = Circ() print c(2) #12.56 把对象当作函数来用,相当于重载括号运算符 阅读全文
posted @ 2012-11-12 14:39 践道者 阅读(206) 评论(0) 推荐(0) 编辑
摘要:针对谷歌API开发相应SEM工具过程中adwords API python版本的这句话,觉得好奇,研究了一下,由于sys.path是全局搜索路列表list,list具有insert方法,原型是insert(i, x)i表示位置x表示数据意思是把数据x插入到位置i中os.path.join('..', '..', '..', '..') 等于 http://www.cnblogs.com/http://www.cnblogs.com/../即把http://www.cnblogs.com/http://www.cnblogs.com 阅读全文
posted @ 2012-11-12 10:26 践道者 阅读(10629) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示