摘要: 寒假在家把《Sed and Awk 101 Hacks》一书翻了下,再看了其他一些零零碎碎的资料,大概算是把sed和awk给入门了(其实sed和awk也易学哈)。趁着这几天刚开学课少把知识点整理一遍,遂有下文。篇幅较长,我分为上下两部分,免得读者看着累哈。由于是学习笔记,可能理解不深甚至有误,再加上有些地方“搬”的不好(看的英文资料但我英文挺锉额,所以有不少地方我保留为英文),错误之处望指正。符号约定:[] 可选 <>必选sed是stream editor的简称,是一种在线编辑器,一次处理一行文本。一般而言,sed的执行流程分为四个阶段:进行文本处理时,sed会从输入流(可以是文件 阅读全文
posted @ 2012-02-15 12:20 cassvin 阅读(2092) 评论(2) 推荐(4) 编辑
摘要: 由于自己平常git用的不多不熟练,最近写个小东西并把代码托管到github,才发现之前看的《Pro Git》和《看日记学git》完全打水漂。重翻《Pro Git》,把一些重要的常见的命令记下来,备忘,具体的请man。符号约定:[]:可选 <>:必选Git 配置git config [--global] user.name <name> 设置用户名git config [--global] user.email <email> 设置邮箱git config [--global] core.editor <editor> 设置编辑器git conf. 阅读全文
posted @ 2012-01-29 21:11 cassvin 阅读(15076) 评论(2) 推荐(4) 编辑
摘要: 因为经常在Linux下阅读一些英文资料,而Linux下目前我还找不到什么翻译软件可用,遇到不懂的单词往往要打开Google Translate翻译。开个浏览器,new个标签页,输入网址,再输入单词。啊!我已经对这一系列事务烦不胜烦。刚好这段时间在一直在弄Python,于是便想用python做个翻译的小gadget。网上翻来覆去,实在找不到什么合适的可以下手。Google Translate的API貌似关闭了吧,想直接从网页上扒数据下来但是Google Translate的翻译是用Ajax做的,目前我真心扒不下来啊。有道在线翻译那个网页二逼成什么样我就不想多说了(连申请个key都没法子)。必.. 阅读全文
posted @ 2012-01-26 11:12 cassvin 阅读(3981) 评论(13) 推荐(3) 编辑
摘要: 现行的Linux distros主流的有两种init方式:一种是广为流传的System V initialization,它来源于Unix并且至今仍被各种Linux distros所采用;另一种是近几年提出的Upstart方式,基于事件机制,系统的所有服务,任务都是由事件驱动的。据我所知,采用后一种方式的目前有Ubuntu(6.10 and later),Fedora(9.10 and later),Debian(optional)。虽然采用Upstart的发行版并不多,但它旨在取代旧式的System V initialization。 作为知识梳理,我现在就先在这里总结一下这两种方式各... 阅读全文
posted @ 2011-12-25 16:47 cassvin 阅读(24014) 评论(16) 推荐(4) 编辑
摘要: 注意:unity是基于gnome3开发的,unity目前无法同gnome3共存,安装gnome3会覆盖unity,但是你可以反悔,卸载gnome3后恢复unity这是针对ubuntu11.04的,打开终端在终端下输入以下指令:sudo add-apt-repository ppa:gnome3-term/gnome3sudo apt-get updatesudo apt-get dist-upgradesudo apt-get install gnome-shell安装完成后在登录界面仅剩gnome3可用,毕竟unity目前无法兼容gnome3,但是它并不会被卸载,只是被“雪藏”了而已。如果你 阅读全文
posted @ 2011-12-18 19:59 cassvin 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 好吧。。首先得承认这应该是个较低级的错误,C老手估计不会犯这种错。。但我犯了。。上个星期帮同学做个简单的控制台C程序,编译器为gcc,我在全局作用域中定义了指针变量并为其申请空间,满心以为这没什么问题,谁知编译的时候弹出了下面的错误:initializer element is not constant错误指向我定义全局指针并申请了内存空间的语句。时间较紧,我没有细想,上网搜了一下,结果是c99标准中全局变量和static静态变量的初始化必须使用常量表达式,而且指针不能在全局作用域内申请内存,当时我很疑惑,为何一定要常量表达式,想明白是函数体外不能写执行语句,于是照着改了过来,将申请内存放到函 阅读全文
posted @ 2011-09-16 00:09 cassvin 阅读(3078) 评论(16) 推荐(8) 编辑
摘要: 虽然网上有不少关于这方面的资料,想了想还是自己写个总结,毕竟各人有各人的问题,这篇文章也主要是作为个人的学习记录,需要的朋友可以参考哈,老手高手们就不用看了哈。。之前已经搭建过友善之臂提供的qtopia-2.20开发环境,但用着用着愈发觉着不爽。为何??Qtopia-2.20是基于Qt-Embedded2.3的。2.3版本哪!!!现在Qt/Qte的最新版本是Qt4.8beta。虽然用qtopia2.2的朋友还不少,但是作为新手的小弟,入门学的是现在流行的4.x版本(实际上Qt4.x也发行很久了吧),在PC上编译测试无错的程序拿到qtopia中编译便错漏百出,原因很明显的就是因为版本问题。2.3 阅读全文
posted @ 2011-08-08 17:54 cassvin 阅读(9184) 评论(5) 推荐(2) 编辑
摘要: 1.Desktop Entry 文件标准简介在 Windows 平台上,用户可以通过点击位于桌面或菜单上的快捷方式轻松打开目标应用程序。现代 Linux 桌面系统也提供了此项功能。目前,Linux KDE 和 Linux GNOME 桌面系统都使用 Desktop Entry 文件标准来描述程序启动配置信息。Desktop Entry 文件标准是由 FreeDesktop.org(http://freedesktop.org/wiki/) 制定的,目前最新的版本是"Desktop Entry Specification 1.0"[1]。2.Desktop Entry文件图1 阅读全文
posted @ 2011-08-04 14:59 cassvin 阅读(2238) 评论(0) 推荐(0) 编辑
摘要: 首先准备以下两文件:1.grub4dos#下载地址:http://sourceforge.net/projects/grub4dos/ 用于引导系统2.ubuntu-11.04-desktop-i386.iso#下载地址:http://releases.ubuntu.com/11.04/ ubuntu11.04镜像文件解压grub4dos包,将文件夹下的grldr,menu.lst,grub.exe复制到C盘下。提取ubuntu镜像文件casper文件夹中的vmlinuz和initrd.lz,同镜像文件一并挪至C盘根目录下。编辑menu.lst,在结尾添加如下内容:title Install 阅读全文
posted @ 2011-07-30 20:22 cassvin 阅读(1853) 评论(2) 推荐(0) 编辑
摘要: linux下编译应用程序常常会出现如下错误:/usr/bin/ld: cannot find -lxxx意思是编译过程找不到对应库文件。其中,-lxxx表示链接库文件 libxxx.so。注:有时候,由于库文件是编译过程临时生成的,如果前面出错也会导致出现这种情况,下面针对的是由于本机系统环境缺失而引起的。。一般出现这种错误有以下几种原因:1.系统缺乏对应的库文件;2.版本不对应;3.库文件的链接错误;4.库文件路径设置问题;对应第一第二种情况,可以通过下载安装lib来解决,ubuntu大多数可以直接通过apt-get来安装:apt-get install libxxx-dev一般遇到这种问题 阅读全文
posted @ 2011-07-24 18:03 cassvin 阅读(25303) 评论(0) 推荐(0) 编辑
摘要: 由于之前用wubi装的ubuntu并且只给了它10G的硬盘空间,随着学习的深入这种配备已经无法满足我的需求了。今天索性把ubuntu从windows上“卸载了”,划了20G -_-的空余空间准备安装ubuntu双系统。双系统的安装过程很顺利,但接下来Qtopia的编译就不是很顺利了。我根据前面编译Qtopia时做的记录文档对源文件还有系统变量进行了若干修改,但是实际编译的过程却跳出了我之前没有遇到的问题。/usr/bin/ld: cannot find -lgcc_s终端不断跳出这个错误提示。意思是系统找不到需要链接的库文件。(该库文件为libgcc_s.so)gcc编译器我用的是3.4.6的 阅读全文
posted @ 2011-07-24 15:05 cassvin 阅读(39544) 评论(0) 推荐(1) 编辑