摘要:
shell 函数
函数由两部分组成:
函数标题。
函数体。
标题是函数名。函数体是函数内的命令集合。标题名应该唯一;如果不是,将会混淆结
果,因为脚本在查看调用脚本前将首先搜索函数调用相应的s h e l l。
阅读全文
摘要:
条件测试
对文件、字符串和数字使用t e s t命令。
对数字和字符串使用e x p r命令。
e x p r命令测试和执行数值输出。使用最后退出状态命令$ ?可测知t e s t和e x p r,二者均以0表
示正确,1表示返回错误
测试文件状态
阅读全文
摘要:
环境和shell变量
测试变量是否已经设置
也可以编写脚本测试变量是否取值,然后返回带有系统错误信息的结果
测试变量是否取值,如果未设置,则返回一空串
导出变量除了可以用export 外,还可以用 set 命令
最常用的s t t y命令使用在下述设置上
阅读全文
摘要:
g r e p(全局正则表达式版本)允许对文本文件进行模式查找。
在g r e p命令中输入字符串参数时,最好将其用双引号括起来。
如果要在当前目录下所有. d o c文件中查找字符串“ s o r t”,
大小写敏感
缺省情况下, g r e p是大小写敏感的,如要查询大小写不敏感字符串,必须使用- i开关。
结合使用^和$可查询空行。使用- n参数显示实际行数: grep '^$' myfile
查询有特殊含义的字符,诸如$ . ' " * [] ^ | \ + ? ,必须在特定字符前加\。
使用已学过的知识可以很容易通过g r e p命令获得系统信息。
ps x命令意为显示系统上运行的所有进程列表。
阅读全文
摘要:
命令执行顺序
在执行某个命令的时候,有时需要依赖于前一个命令是否执行成功。例如,假设你希望
将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件。在删除
之前,你希望能够确信拷贝成功,否则就有可能丢失所有的文件。
如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行
另一个命令,& &和| |可以完成这样的功能。相应的命令可以是系统命令或s h e l l脚本。 阅读全文
摘要:
F i n d是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。
使用e c h o命令可以显示文本行或变量,或者把字符串输入到文件。
使用c a t命令把标准输出重定向到该文件中,这时c a t命令的输入是标准输入—键盘,你输入一些文字,输入完毕后按结束输入。
t e e命令作用可以用字母T来形象地表示。
当我们在s h e l l中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件系统中实际上有1 2个文件描述符, 0、1、2是标准输入、输出和错误。可以任意使用文件描述符3到9。你可能会问为什么会有一个专门针对错误的特殊文件?这是由于很多人喜欢把错误单独保存到一个文件中,特别是在处理大的数据文件时,可能会产生很多错误。
e x e c命令可以用来替代当前s h e l l;换句话说,并没有启动子s h e l l。使用这一命令时任何现有环境都将会被清除,并重新启动一个s h e l l。 阅读全文
摘要:
SHELL学习文件类型:
d 目录。
l 符号链接(指向另一个文件)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或者更准确地说,不属于以上几种类型的文件。
阅读全文
摘要:
Both /sbin/sh and /usr/bin/sh shells are Bourne shells.
大体意思是/sbin/sh 是静态链接的, /bin/sh是动态链接的。 静态链接的sh虽然比动态链接的size大,但它有个好处就是它的运行不依赖共享库。也就是说如果系统崩溃导致库文件丢失或损坏,它仍然能执行。
阅读全文
摘要:
在前面移植好内核和文件系统之后,开始考虑网卡的通信了。网上好多关于DM9000驱动的例子,大同小异,但是一律照搬都是不行,最多的只能发现设备,到最后还是ping不通,花费九牛二虎之力,终于还是弄好了。
看到ping通其他主机,真是舒了一口气。
阅读全文
摘要:
tar: ./linux-2.6.14.1/mm/oom_kill.o: Cannot open: 没有那个文件或目录
./linux-2.6.14.1/mm/.page-writeback.o.cmd
tar: ./linux-2.6.14.1/mm/.page-writeback.o.cmd: Cannot open: 没有那个文件或目录
./linux-2.6.14.1/mm/filemap_xip.c
tar: ./linux-2.6.14.1/mm/filemap_xip.c: Cannot open: 没有那个文件或目录
./linux-2.6.14.1/mm/filemap.h
tar: ./linux-2.6.14.1/mm/filemap.h: Cannot open: 没有那个文件或目录
./linux-2.6.14.1/Makefile.orig
tar: ./linux-2.6.14.1/Makefile.orig: Wrote only 0 of 10240 bytes
tar: Skipping to next header
./linu 阅读全文
摘要:
(1)在虚拟机中创建一个新硬盘。打开VMware,但还未启动Linux时,选择edit virtualmachine setting,通过“add按钮”,添加一个新硬盘。在disk file处指定虚拟硬盘的名字和位置。D:\Linux\lab.vmdk注意:新硬盘的设备名为sdb或hdb (假定原来只安装一个硬盘情况下)(2)虚拟Linux下分区,格式化为fat32格式。启... 阅读全文
摘要:
添加的功能:
1. 同时支持S3C2410和S3C2440
2. 支持串口xmodem协议
3. 支持USB下载,可以在PC上使用dnw传数据
4. 支持网卡芯片CS8900
5. 支持NAND Flash读写
6. 支持从Nor/Nand Flash启动
7. 支持烧写yaffs文件系统映象
阅读全文
摘要:
1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2) 插入模式(Insert ... 阅读全文
摘要:
其实不能称为移植,只是将一般的Jflash代码修改一下,以适合自己的板子。
阅读全文
摘要:
这段时间不断有人问我u-boot启动内核的问题,记得在上次提供的u-boot源码中提到了go的方案,不过其实u-boot本来有一种更好的方案: bootm
花了不少时间,查看了论坛上不少的帖子,认真阅读了bootm的源码,终于使用bootm把内核给跑起来了, 阅读全文