您的位置:首页 > 运维架构 > Linux

linux下开发我所常用的命令

2015-09-22 18:54 621 查看
对于嵌入式开发我所用到的linux命令其实不多,除了那些已经基本都会的那些cd,mkdir,vim,ifconfig,echo..........我再列一下比较实用的吧,适合新手的

查找命令:grep,find

——————————————————————————————————————————————————————————————————

grep是用来查找包含xxxx(字符串)字样的文件

grep "xxxx(字符串)" * -R //*表示当前目录,你也可以指定目录, -R表示递归查找它的所有子目录



加上-i这个选项就不会区分大小写了

如果你查找的这个关键字出现得太多了,这个时候你就可以用find来帮助你

find -iname *.c |grep "xxxx"

首先寻找当前目录下以.c结尾的文件,不区分大小写(C,c), 如果指定了目录必须在find后面第一个参数的位置,找到这些文件后再通过管道 | 将前面这个命令的输入当做下一个命令的输出 使用grep命令,不过这样也是有问题,就是grep只是查到出现这个字符串的文件,这个字符串可以只是一部分,比如a在a.c中,aab 在b.c中,虽然你只想查找a所在文件,但是它也会帮你把b.c显示出来,这里可以自己写一个脚本,可以参考郭工写的这个脚本/article/1975080.html

ps:find这个命令只会帮你查找你目录下你所输入的后面这个字符串的文件的位置,并不会进去文件里面查找这个字符串,这个是和grep不同的,就好像在上面再执行find -iname a 你是找不到的,因为你目录下没有 a这个文件。



在线手册查看命令man

—————————————————————————————————————————————————————————————————————————————

http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html 这个博客介绍得不错

tar,diff,patch

—————————————————————————————————————————————————————————————————————————————

关于tar我写过博客,可以参考:/article/1975045.html

diff命令做差异例如diff -rNu a b > c (将a和b进行比较输出重定向到c文件中)

a是源文件,b是修改后的文件

a 和b也可以是2个目录,这2个目录你最好是在同一目录下

patch命令是用diff命令生成的patch(补丁:此处是c文件)文件 来对源文件(a)进行打补丁 patch a c,不过这个是对单个文件经行打补丁,如果我们是内核呢?内核中有那么多目录,难道我们要一个个去打么?一般情况下我们都会用patch -px < 补丁文件

最难理解的就是-px, x=0,1,2.....,补丁文件中指明了要修改的文件的路径,-px表示忽略路径中第X个斜线之前的目录

然后我做了一个小例子,给大家看看

首先为了做这个例子,我先创建了这样2个目录,



然后再diff



patch: -p0



这里我是用的-p0,因为并没有省略掉路径,patch就会在当前路径下根据这个文件进行打补丁

如果想还原就用patch -R -p0 < patch

当我把patch移进ex目录下的时候,就需要用-p1了



diff -ruN ex/b.c ex1/b.c

--- ex/b.c 2015-09-22 17:12:15.863002834 +0800

+++ ex1/b.c 2015-09-22 17:02:23.858001067 +0800

@@ -1 +1 @@

-a

+b

当你用-p0的时候它是不会去掉 第一个/前的目录的,就会在当前目录下去寻找 ex/b.c 然后去打。注意这里:patch, ex,ex1,patch是在同一个目录下。

--- ex/b.c 2015-09-22 17:12:15.863002834 +0800

+++ ex1/b.c 2015-09-22 17:02:23.858001067 +0800

如果用-p1就会去掉第一个/前的目录去寻找文件,即当前目录下去寻找b.c 。注意这里:patch是在ex这个目录下。

说了这么多,我感觉不管是-p几,你就养成一个好习惯,即做diff的时候最好是2个文件或者文件夹在同一目录下,当你需要打patch的时候,如果是和需要打补丁的这个文件在同一目录下就-p0,如果在这个目录里面你就-p1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: