标签:linux

管道返回值判断

最近一个脚本使用了管道,比如A|B,A运行异常,B运行正常,返回的$?是0,所以判断失效。经过搜索,了解到这种情况下,应该判断 ${PIPESTATUS[0]},以此类推。……

kenlm linux延迟加载模型的问题

前几天介绍了kenlm训练语言模型,使用语言模型以及多线程等问题。今天我又遇到一个新的问题,就是发现一个很大的语言模型,代码立马就加载完了,然后对于少量的查询,一下子就返回了。但是我后来发现,用大量的查询的时候,程序会缓慢的增长。经过分析发现,原来kenlm默认是采用mmap加载内存,程序一起来的时候,可以看到占用一大块的虚拟存储,但是内存却占得不多,然后……

Linux编译的那些事

写了程序后,就是要编译,编译是源程序到目标程序必经的一步。最近在搞一个程序的编译,搞得焦头烂额的。下面以不同的场景来介绍解决办法吧。场景1:编译的一个.a库依赖另外几个.a库,想把依赖的.a库也打进来。这样做的原因很明显,方便使用这些程序的人员。要做到这个我尝试了很多方法,网上也找了很多方法,最后发现有一个方法是比较靠谱的:采用ar的-M进行。CC :=……

jdk 7 for linux 64

今天下载给我的虚拟机下载jdk,折腾了好久都没有下载下来。以往比较给力的qq旋风,不知道怎么也不好使了,最后试验了一下百度云盘的离线下载,发现还挺给力的,直接搞定了。分享出来给同样需要下载jdk 7 for linux 64的朋友:http://pan.baidu.com/share/link?shareid=120846&uk=11755761……

Linux动态链接库问题再探讨

之前写过一篇关于Linux动态链接库的问题的文章。对于出现libstdc++.so.6: version `GLIBCXX_3.4.9′ not found和libstdc++.so.6: version `GLIBCXX_3.4.11′ not found的错误。strings了一下/lib64/libstdc++.so.6,确实……

windows与linux直接的代码同步方案比较

在学校的时候,一直习惯在windows下搞开发,用visual stduio或是eclipse之类的ide。到了现在的公司之后,几乎都是在linux下开发的。虽然linux下有vim等编辑器,但用起来还是很不习惯。所以我往往是在寻找在windows好linux之间同步代码的方式。这样就可以在windows下开发,然后再传到linux下进行编译,当然这个过程越……

Shell将路径绝对化

今天搞个脚本,想将相对路径转成绝对路径,对于绝对路径保持不变,查了查资料,一下代码满足了我的需要:……

Linux忘记密码之后肿么办

最近装了个linux,装完之后发现root有密码,有木有。那怎么办呢?作为一个搞搜索引擎的,那肯定是要用搜索引擎来查了,最好找到一个可行的办法:在grub启动界面,随便选择一个,然后按e,编辑第二行,加入 init=/bin/bash,然后按b启动系统,会自动启动系统到没有用户的模式。注意这种方法,grub没有密码,或者你知道grub的密码,否则就不行了……

解决linux下可以ping通ip,nslookup解析域名正常的问题

在虚拟机里面装了linux,好不容易配置网关之后可以ping通网络了,但发现ping域名时找不到host的情况。试了试nslookup可以正常解析域名。网上找了一圈发现,要修改配置文件/etc/nsswitch.conf,将hosts: files改为,hosts: files dns然后就搞定。。。……

给目录创建硬链接

在shell下,可以直接创建文件的硬链接,而符号链接(软链接)可以对文件和目录。很多情况下,直接用软链接就可以搞定。但在有的时候,单纯的软链接是解决不问题的。但是对于目录来说又不能创建硬链接,那肿么办呢?把目录中所有的文件都硬链接过来。……