textbox

IT博客 联系 聚合 管理
  103 Posts :: 7 Stories :: 22 Comments :: 0 Trackbacks

Linux

     摘要: 很早记接触这个缩写英文了。它是什么意思呢?要理解这个elf文件是还是比较容易的,如果要掌握它就花点功夫。ELF (Executable And Linkable)UNIX类操作系统中普遍采用的目标文件格式 。

首先要知道它有什么作用:
工具接口标准委员会TIS已经将ELF作为运行在Intel32位架构之上的各类型操作系统的可导出对象文件格式标准。ELF标准为开发者提供了一组横跨多运行环境的二进制接口定义来组织软件开发 ;
ELF 标准的目的是为软件开发人员提供一组二进制接口定义,这些接口可以延伸到多种操作环境,从而减少重新编码、重新编译程序的需要。接口的内容包括目标模块格式、可执行文件格式以及调试记录信息与格式等(以上的一段话引用网上的解释,比较抽象,好像说什么跨操作系统的二进制标准???呵呵 早不到北)

在看一下这段引用:

现在PC平台流行的可执行文件格式(Executable)主要是Windows下的PE(Portable Executable)和Linux的ELF(Executable Linkable For  阅读全文
posted @ 2009-12-06 11:46 零度 阅读(2249) | 评论 (1)  编辑

     摘要: linux正则表达式 grep egrep用法
shell命令执行的相应顺序
&&

令1 && 命令2 如果这个命令1执行成功& &那么执行这个命2

mv myfile myfile2 && echo "if you are seeing this then mv was success!"


||

如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2)

mv myfile myfile2 && echo "if you are seeing this then mv was success! "



从一个审计文件中抽取第1个和第2个域,并将其输出到一个临时文件中,如果这一操作未成功,我希望能够收到一个相应邮件:

awk '{print$1,$2}' test3 >test2 || echo "sorry the extraction didn't work " | mail ro  阅读全文
posted @ 2009-12-03 14:36 零度 阅读(274) | 评论 (0)  编辑

     摘要: 刚接触sed命令真是要命。试图在它的命令行内找一些规则。让人深深的感觉到linux 不适合外行人用的原因。说真的一个命令搞得如此的复杂真是大大的提高了它的学习门槛。牢骚废话少了既然自己选择的路就要自己坚持的走下去。
下面是一些学习笔记。

何时使用 sed
在修改文件时 , 如果不断地重覆某些编辑动作 , 则可用 sed 自动一次执行这些编辑动作。例如要使 received
档内 1000 封电子信件内的发信人属名 "Tom" 改成 "John" , 此时只要在命令列上执行一简单的 sed 命令就可
把档内所有的 "Tom" 字串替换成 "Joh“ 等等


sed 的功能
sed 可删除(delete)、改变(change)、添加(append)、插入(insert)、合、交换文件中的资料行 , 或读入其它
档的资料到文件中 , 也可替换(substuite)它们其中的字串、或转换(tranfer)其中的字母等等。例如将文件中的
连续空白行删成一行、 "local" 字串替换成 "remo  阅读全文
posted @ 2009-12-02 16:26 零度 阅读(727) | 评论 (0)  编辑

posted @ 2009-11-25 14:50 零度 阅读(242) | 评论 (0)  编辑

     摘要: shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。
因此,如果你在一个shell里面,执行exec ls那么,当列出了当前目录后,这个shell就自己退出了,因为这个shell进程已被替换为仅仅执行ls命令的一个进程,执行结束自然也就退出了。为了避免这个影响我们的使用,一般将exec命令放到一个shell脚本里面,用主脚本调用这个脚本,调用点处可以用bash a.sh,(a.sh就是存放该命令的脚本),这样会为a.sh建立一个sub shell去执行,当执行到exec后,该子脚本进程就被替换成了相应的exec的命令。
source命令或者".",不会为脚本新建shell,而只是将脚本包含的命令在当前shell执行。
不过,要注意一个例外,当exec命令来对文件描述符操作的时候,就不会替换shell,而且操作完成后,还会继续执行接下来的命令。
exec 3<&0:这个命令就是将操作符3也指向标准输入。

别处,这个命令  阅读全文
posted @ 2009-11-23 10:27 零度 阅读(2729) | 评论 (0)  编辑

     摘要:
仔细看了一遍他的说明书。
CPU: SANSUNG S3C2440 主频率是 440 最高可以到530 MHz
内存:64M SDRAM 频率100MHz 32bit 数据总线

启动方式两种
1.Nand Flash 64M 速度块,写次数多
2.Nor Flash 2M 相对慢点,写次数相对少  阅读全文
posted @ 2009-11-19 23:50 零度 阅读(1992) | 评论 (0)  编辑

     摘要: 萌发这个想法还是在ChinaUnix里面看到一回帖上包含有“LFS”这个关键字,当时不知道这个是什么意思,于是百度了一下原来是:“根据自己的要求重编译定制一个适合自己的系统”。当时想哇晒。。。这"LFS"挺恐怖,平时只是在linux windows舞台上舞刀弄剑,而"LFS"是要自己去搭建这个舞台,根本没有胆量去想。现在的linux 已经发展到几百万行代码我以什么手段工具去管理这些代码。其中 的复杂程度可想而知。到底该不该做呢? 还好让我看到了 linuxSir.Org 的 《Linux From Scratch - 版本 6.2》这篇文章不然真不知道如何开头。在此谢谢linuxSir.Org 我也是写这篇文章的时候加入了 linuxSir.Org 论坛。 学习 linux 感觉就是积累根本没什么捷径。“实践+笔记+总结” 我必须保持坚定的专注之心。开始筹备中。。。。。。我会记下LFS之路的点点滴滴。

  阅读全文
posted @ 2009-11-18 11:47 零度 阅读(422) | 评论 (0)  编辑

     摘要: 安装 yum-remove-with-leaves.noarch 插件就可以了!
在终端里面执行代码:
#yum install yum-remove-with-leaves.noarch  阅读全文
posted @ 2009-11-17 15:15 零度 阅读(835) | 评论 (0)  编辑

     摘要: source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是一个点符号,(从Bourne Shell而来)是source的另一名称。
同样的,当前脚本中设置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文件,
如 .bash_profile 和 .profile 等等。例如,如果在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,
则可以用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。把两个命令用&&联接起来,如 make mrproper &&make menuconfig ,表示要第一个命令执行成功才能执行第二个命令。在编译核心时,常常要反复输入一长串命令,如 make mrproper make menuconfig make dep make clean make bzImage ....... 这些命令既长,又繁琐。而且有时候容易输错,浪费你的时间和精力。如果把这些命令做成一个文件,让它自动按顺序  阅读全文
posted @ 2009-11-16 17:45 零度 阅读(289) | 评论 (0)  编辑

     摘要: 1、explore2fs 1.00 pre 6b 汉化版 .
2、使用高级资源管理器Total Commander加Ext2+Reiser 插件实现Ext2和Reiser FS分区的只读访问
3、ext2ifs,这个工具与explore2fs
4、另一个ext2ifs(重名了^_^)Ext2 Installable File System 1.10b,两个软件不是一个作者,不过实现的原理应该相似,驱动通用。
5、Paragon Mount Everything Professional 3.0 汉化版和Paragon Ext2FS Anywhere 3.0
6、Ext2Fsd 安装后使用mount命令对ext分区挂载卸载,可读写。
7、rfstool 命令行工具
8、rfsgui-2.2 使用rfstool功能,gui界面。
9、YAReG-1.0.zip (也是使用rfstool功能,gui界面)
10、ReiserDriver Pre-release Version 2  阅读全文
posted @ 2009-11-16 00:11 零度 阅读(3239) | 评论 (2)  编辑

     摘要: 经过这几天的反复重装终于把双系统和开机背景给搞进去了。
说句实在话,一开始真是往往然,按照网上的教程弄搞的我的爱机反复被我折腾,老婆都很大意见,害的她的菜收不了呵呵。现在我要把我的安装流程和遇到的一些坎写下来不然过几天我就给忘了。

我的目的是使用grub 实现引导双系统 winxp 和 fedora 9 。  阅读全文
posted @ 2009-11-15 11:40 零度 阅读(743) | 评论 (0)  编辑

     摘要: 1.grub 系统引导工具,有linux ,windows版本 用于一台电脑安装多种操作系统,它提供给各个系统引导也就是说做一个多系统启动的菜单。

2.initrd
initrd 映像中包含了支持 Linux 系统两阶段引导过程所需要的必要可执行程式和系统文件。

initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。图中的initrd- 2.4.7-10.img主要是用于加载ext3等文件系统及scsi设备的驱动。比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个 scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文件系统,但scsi模块存储在根文件系统的/lib/modules下。为了解决这个问题,可以引导一个能够读实际内核的initrd内核并用initrd修正scsi引导问题。initrd-2.4.7-10.img是用gzip压缩的文件,下面来看一看这个文件的内容,操作步骤如下图所示:

从图中linu  阅读全文
posted @ 2009-11-14 17:34 零度 阅读(752) | 评论 (0)  编辑

     摘要: 其实心里很想做一些东西,内心老是在提醒自己。但是总是被一些无关紧要的事情给分散注意力。一天时间莫名奇妙的过去了到了下班那一刻感觉在浪费时间。上网瞎逛,看美女图片,看新闻,看股市,qq农场,论坛,吃东西,身体不舒服,心静不下来,发呆,跟同事聊天等等以上的任何一件事都可以打发掉一天的时间的几分之几。 我应该改变一下以前不写东西的习惯。这一个月来写了很多东西。

如何才能保证专注的心去做一件事呢,这让我想起了武侠小说里面的闭关修炼方法,也许只有这个办法才能保证一个人在专注一件事情。现实是不容许我这样做的,我只能做是尽量减少各种干扰。 把游戏删除了,把网页给屏蔽 等等 想尽一些方法来提醒我不应该做一些事必须要学会放弃。
要学linux 就要装一非虚拟机的Linux ,决定了开始绸缪如何装双系统。把游戏,聊天,等等干扰的东西尽量放到一个比较麻烦的地方让自己都觉得麻烦就起到一种提醒作用和阻吓的作用。  阅读全文
posted @ 2009-11-11 16:07 零度 阅读(903) | 评论 (0)  编辑

posted @ 2009-11-03 12:01 零度 阅读(1081) | 评论 (0)  编辑

     摘要: 刚刚编译模块时候是使用 make ;而在编译fedora 执行文件时候是使用gmake,它们有区别吗?
看到make 的输出是使用 CC 编译器,gmake是使用gcc编译器。网上google后发现其实在fedora中的make的CC编译器其实就是gcc (使用命令 $ls -l /usr/bin/cc 可以看出cc是指向gcc的),使用CC是为了兼容老的c程序才保留下来的。所以在fedora中使用 gmake 和 make 使用的编译器都是gcc 。

注释:老的unix系统的CC程序叫做C Compiler ;GCC这个名字按GNU的说法叫做Gnu Compiler Collection 包含很多编译器(C, C , Objective-C, Ada, Fortran,and Java)

  阅读全文
posted @ 2009-11-01 19:52 零度 阅读(929) | 评论 (0)  编辑

     摘要: 目录P下存在 A,B,C,D,E 目录,它们目录都存放有对应makefile 为了一个make命令编译它们
在目录Px下加一个makefile文件。内容如下:

SUBDIRS=A B C D E

all:subdirs

subdirs:
for n in $(SUBDIRS)
do $(MAKE) -C $$n || exit 1 ;done

clean:
for n in $(SUBDIRS)
do $(MAKE) -C $$n clean ;done




  阅读全文
posted @ 2009-10-30 15:16 零度 阅读(1553) | 评论 (0)  编辑

posted @ 2009-10-21 10:30 零度 阅读(3552) | 评论 (0)  编辑

posted @ 2009-10-20 12:27 零度 阅读(322) | 评论 (0)  编辑

     摘要: gcc的编译流程分为四个步骤,分别为:
· 预处理(Pre-Processing)
· 编译(Compiling)
· 汇编(Assembling)
· 链接(Linking)


1) 预处理: (-E 只预处理 ) gcc –S hello.i –o hello.s
把对应的 *.c 文件内 include 的头文件全部加入到一个 *.i的预处理源码文件

2) 编译: (-S 只编译不汇编)
语法检查,词法分析

3) 汇编: gcc –c hello.s –o hello.o
把代码转化成汇编代码

4) 连接: gcc hello.o –o hello
把目标文件连接成执行文件(连接函数库)

静态连接: 把使用到的外部函数以代码的形式嵌入到执行文件中 (增加执行文件的体积)
动态连接: 只是保存外部函数的一些call信息,用于程序运行时候会叫外部函数。
阅读全文
posted @ 2009-10-17 13:44 零度 阅读(398) | 评论 (0)  编辑

     摘要: fedora9 下的 简单 hellworld 并加入到slickedit 14.0.2 for linux
1.在编译安装内核模块(驱动)之前先确认时候有安装kernel-devel

输入: ls -d lib/modules/$(uname -r)/build

如果有目录存在说明有安装,否则没安装

下载相应内核的kernel-devel ,版本可是使用命令 uname -r 查看

安装kernel-devel执行命令:

rpm -ivh kernel-devel-$(uname -r).rpm

安装完成 
一下是一个hello内核模块简单例子  阅读全文
posted @ 2009-10-13 09:52 零度 阅读(1669) | 评论 (0)  编辑

posted @ 2009-10-13 09:30 零度 阅读(4001) | 评论 (3)  编辑

     摘要: 看了网上的言论真是向左向右。
perl 复杂 python 简单 都能事项复杂功能。
vmware tools 的安装文件是perl的(听说老外很多使用perl)。goole使用python ..
一个个信息让我回想到了当年的vc++和delphi 之间较量,拜托还为这烦,成熟点好不。
决定学perl 了。当然我选择了delphi到现在delphi都快倒闭我都没后悔过。  阅读全文
posted @ 2009-10-12 09:45 零度 阅读(196) | 评论 (0)  编辑

     摘要: [root@localhost yum.repos.d]# yum install ibus\*
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
No package ibus* available.
Nothing to do


以上是问题提示。想必是yum.repos.d目录内的软件仓库文件问题。无法找到对应软件
哎。linux 真是折腾人啊。问题一个一个的出来。安装一个输入法都是波折重重。。
不过没有问题是学不到东西 ,不知道什么时候可以弄好这个问题
还有一个fc9 slickedit_11内编译内核驱动模块时候出现 以下问题
  阅读全文
posted @ 2009-10-07 23:09 零度 阅读(667) | 评论 (0)  编辑

     摘要: 整整弄了一个多下午才弄出来是什么问题。
命令网上的大鸟给误导了说什么运行 yum install ibus-pinyin 就完成。
其实不是。就算你成功安装也是无法激活的。可能这是有于是fedora9的原因。
执行这命令只能下载2个包。  阅读全文
posted @ 2009-10-07 17:25 零度 阅读(943) | 评论 (0)  编辑

     摘要: 1. 在字体文件所在目录生成fonts.scale 和 fonts.dir可以执行 :
mkfontscale

mkfontdir

2.把所在目录连接到/usr/share/fonts(跟拷贝差不多)


3. 最后执行如下命令:
fc-cache -fv  阅读全文
posted @ 2009-10-06 14:43 零度 阅读(183) | 评论 (0)  编辑

     摘要: 1.显示中文

1).Tools->File Options-Load 下的Encoding 选择 Chinese Simplified (GB-2312)
2) .Tools->Font 下选择一个支持中文的字体(我选wenQuanYi Bitmap Song ) 上面的combox 选择Unicode Source Windows

2 build窗口乱码
1).建立 .tcshrc文件 命令: gedit .tcshrc (由于slickedit11的build窗口是使用tcsh shell)

2).加入下两句设置默认语言
exprot LANG="en_US"
exprot LC_ALL="en_US"

以上问题解决  阅读全文
posted @ 2009-10-06 14:41 零度 阅读(2342) | 评论 (0)  编辑