嵌入式开发中常用的命令

grep命令

用法:grep [option] PATTERN [FILE...]

例如:

  • 在内核目录下查找包含“request_irq”字样的文件

    grep "request_irq" * -R

    注:*表示查找当前目录下的所有文件、目录,-R表示递归查找子目录;

  • 在内核的kernel目录下查找包含“request_irq”字样的文件

    grep "request_irq" kernel -R

    注:kernel表示当前目录下的kernel子目录下查找,-R表示递归查找它的所有目录;

find命令

用法:find [-H] [-L] [-P] [path...] [expression]

例如:

  • 在内核目录下查找文件名包含“fb”字样的文件

    find -name "*fb*"

  • 在内核的drivers/net目录下查找文件名中包含“fb”字样的文件

    find drivers/net -name "*fb*"

    注:drivers/net必须是find命令的第一个参数;

tar命令

该命令具有打包、解包、压缩和解压缩等4种功能,常用的压缩、解压缩方式有两种:gzip和bzip2;

一般而言,以".gz"、"z"结尾的文件是用gzip方式进行压缩的,以".bz2"结尾的文件是用bzip2方式进行压缩的,后缀名中有"tar"字样时表示这是一个文件包;

tar命令有5个常用的选项:

选项 功能
c 表示创建,用来生成文件包
x 表示提取,从文件包中提取文件
z 使用gzip方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩
j 使用bzip2方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩
f 表示文件,后面接着一个文件名
diff和patch命令

diff命令常用来比较文件、目录,也可以用来制作补丁文件;

常用选项如下:

选项 功能
-u 表示在比较结果中输出上下文中一些相同的行,这有利于人工定位
-r 表示递归比较各个子目录下的文件
-N 将不存在的文件当做空文件
-w 忽略对空格的比较
-B 忽略对空行的比较

例如:

假设linux-2.6.22.6目录中是原始的内核,linux-2.6.22.6_ok目录中是修改过的内核,可以使用以下命令制作补丁文件linux-2.6.22.6_ok.diff(原始目录在前,修改过的目录在后),命令如下:

diff -urNwB linux-2.6.22.6 linux-2.6.22.6_ok > linux-2.6.22.6_ok.diff

由于linux-2.6.22.6是标准的代码,可以从网上自由下载,要发布linux-2.6.22.6_ok中所做的修改时,只需要提供补丁文件linux-2.6.22.6_ok.diff(通常是很小的);

patch命令是用来打补丁,就是依据补丁文件来修改原始文件;

比如对上面的例子,可以使用以下命令将补丁文件linux-2.6.22.6_ok.diff应用到原始目录linux-2.6.22.6中,假设linux-2.6.22.6_ok.diff和linux-2.6.22.6位于同一个目录下,命令如下:

cd linux-2.6.22.6
patch -p1 < ../linux-2.6.22.6_ok.diff

patch命令中最重要的选项是“-pn”,补丁文件中指明了要修改的文件的路径,“-pn”则表示忽略路径中第n个斜线之前的目录;

原文地址:https://www.cnblogs.com/dongzhuangdian/p/11366824.html

时间: 2024-11-06 06:18:05

嵌入式开发中常用的命令的相关文章

Android 开发中常用 ADB 命令总结

adb 的全称为 Android Debug Bridge,就是起到调试桥的作用.通过 adb 我们可以在 Eclipse 中方便通过 DDMS 来调试 Android 程序,说白了就是 debug 工具.adb 的工作方式比较特殊,采用监听 Socket TCP 5554 等端口的方式让 IDE 和 Qemu 通讯,默认情况下 adb 会 daemon 相关的网络端口,所以当我们运行 Eclipse 时 adb 进程就会自动运行.作为开发人员,掌握适当所需要的 ADB 操作命令是非常必须的.就

Django开发中常用的命令总结

1. 创建一个Django Project#使用下面的命令可以创建一个projectdjango-admin.py startproject mysite #创建好之后可以看到如下的pro... 1. 创建一个Django Project 1 2 3 4 5 6 7 8 9 10 11 #使用下面的命令可以创建一个project django-admin.py startproject mysite    #创建好之后可以看到如下的project结构 mysite/   manage.py   

嵌入式开发中常见3个的C语言技巧

Hey,大家好!我是CrazyCatJack.今天我来说几个在嵌入式开发中常用的C语言技巧吧.也许你曾经用过,也许你只是见到过但是没有深入理解.那么今天好好补充下吧^_^ 1.指向函数的指针 指针不光能指向变量.字符串.数组,还能够指向函数.在C语言中允许将函数的入口地址赋值给指针.这样就可以通过指针来访问函数.还可以把函数指针当成参数来传递.函数指针可以简化代码,减少修改代码时的工作量.通过接下来的讲解大家会体会到这一点的. /*函数指针简单讲解 *通过指向函数的指 *针调用比较两个数 *大小

【详解】嵌入式开发中固件的烧录方式

版本:v1.2 Crifan Li 摘要 本文主要介绍了嵌入式开发过程中,将固件从PC端下载到开发板中的各种方式,主要包括NFS挂载,Nand Flash和Nor Flash,USB,RS232,网卡NIC等方式. 本文提供多种格式供: 在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP 下载(7zip压缩包) HTML HTMLs PDF CHM TXT RTF WEBHELP HTML版本的在线地址为: http://www.crifan.com/files/do

理解嵌入式开发中的一些硬件相关的概念

做嵌入式系统开发,经常要接触硬件.做嵌入式开发对数字电路和模拟电路要有一定的了解.这样才能深入的研究下去.下面我们简单的介绍嵌入式开发中的一些硬件相关的概念. 电平(Level) 在数字电路中,分为高电平和低电平,分别用1和0表示.一个数字电路的管脚,总是存在一个电平的,要么高要么低,或者说要么1要到0(其实,还有另一种状态,后面会提到). 总线(Bus) 在嵌入式系统中一定会有一块处理器芯片,此外,还有其它的芯片作为外部设备(后面简称外设),这些芯片与处理器协作实现产品的功能.复杂的产品往往是

在移动开发中常用的开源库总结

1.为什么需要开源库? 我个人觉得有以下几个原因: 1>我们的项目比较赶,但是又用到一些比较复杂的模块,这些模块不是系统自带的,或者说系统自带的满足不了需求,同时在一些开源网站上面又有类似的或者是满足我哦们需求的开源项目和库,拿来就可以减少我们很多的工作量. 2>开源库从另外一方面来说就是为了提高代码的重用性,大家使用了这个开源库,然后提交一些bug,通过大家的力量完善这个开源项目. 2.我常用的开源库? 我使用的一些开源项目主要都是在github上面很热门的项目: 图片加载:Android-

项目开发中常用的PHP函数

日期操作 为了便于存储.比较和传递,我们通常需要使用strtotime()函数将日期转换成UNIX时间戳,只有在显示给用户看的时候才使用date()函数将日期转换成常用的时间格式. strtotime()  函数将任何英文文本的日期时间描述解析为 Unix 时间戳 eg: <?php echo(strtotime("now")); echo(strtotime("3 October 2005")); echo(strtotime("+5 hours&

前端开发中常用的几种图片格式及其使用规范

在介绍图片格式之前,首先说一些额外的东西. 矢量图与位图. 矢量图是通过组成图形的一些基本元素,如点.线.面,边框,填充色等信息通过计算的方式来显示图形的.一般来说矢量图表示的是几何图形,文件相对较小,并且放大缩小不会失真. 这里有一点要注意的是web开发中用到的图片都不是矢量图,即使是一个三角形,只有一个边框,都是位图. 那么矢量图在哪里有用到呢? 我目前的知识池就知道一个图标字体,比如 font-awesome 目前在前端的开发中常用的图片格式有三种:jpg,png,gif.这些都是位图.

c++实现游戏开发中常用的对象池(含源码)

c++实现游戏开发中常用的对象池(含源码) little_stupid_child2017-01-06上传 对象池的五要素: 1.对象集合 2.未使用对象索引集合 3.已使用对象索引集合 4.当前使用量 5.最大使用量 http://download.csdn.net/download/little_stupid_child/9730912