当前位置: 首页 > news >正文

嵌入式开发常用的一些命令

  • 文件查找

find * -name "xarina_evb_defconfig"  

grep "TEXT_BASE" * -nR

find . ! -name "*.txt" -print   搜索除了*.txt之外的文件

 

  • 查看文件的实际内容

od -c peng.txt  

-c 表示以字符方式打印文件的内容

  • 嵌入式开发之清除root开机密码

passwd -d root

  • 文件权限和所属chmod chown

chown http.http /etc/httpd // 将目录/etc/httpd 的属主修改为 http,组修改为 http

chmod 的常用选项: -R 对指定目录所有文件和子目录递归式地进行同样的操作
-h 如果 file_name 是符号链接,则只对符号链接本身进行操作

chgrp http /etc/httpd// 将目录/etc/httpd 的所属组修改为 http

  • 符号连接

ln -s source_path target_path

  • 在开发板上挂载PC机上的目录:

      mount  -t nfs  -o nolock -o tcp 192.168.8.129:/source/rootfs  /mnt/nfs

  •  开发板上uboot下的复位命令

      reset

  • 开发板上Linux下的复位命令:

      reboot

  •  当前目录的大小:du -sh .
  •  当前目录中所有文件的大小:du  -Sh
  • 拷贝链接文件时,用CP命令,应该加上 -raf 参数
  • 参看磁盘使用率  df  -h  或者 df  -m
  • xxd

 这是另外一个让我难以置信是最近才知道的命令。xxd可以生成所给与文件的十六进制拷贝,也可以将编辑好的十六进制拷贝还原成二进制格式。它也可以将十六进制拷贝输出成C的数组,,这个操作很方便:

 

 我也用这个命令来通过比较两个文件的十六进制拷贝来比较两个二进制文件。要查看更多信息,请参考 xxd man page(http://linuxcommand.org/man_pages/xxd1.html )

  •  ps aux | grep telnet
  •  察看可执行程序所依赖的库: objdump -x XXXX | grep -Shared
  •  清除NandFlash中的坏块标记   nand scrub
  •  递归将A目录下的所有的C文件拷贝到B目录下: 查看压缩包中有哪些文件: tar -vtf A.tar.gz 查看可执行程序依赖那些库: objdump -x XXX | grep NEEDED
  •  find A -name "*.c" -print0 | xargs -0 -I {} cp {} B (这里需要注意的是:-print后面的那个是零,不是字母,xargs后面的那个参数也是零,不是字母0)
  •  grep 排除文件和目录: grep --exclude-dir=".svn" U_BOOT_CMD * -nR --exclude="cscope.out"
  •  反汇编

                                    objdump -D -S file_elf > file_dis  

注意:如果file_elf文件没有strip,那么反汇编之后在file_dis文件中会同时出现c和汇编。-S 的作用就是反汇编的时候同时假如C源代码,要显示C代码,那么在编译生成file_elf文件的时候应该加上-g。

  • 批量修改文件的创建时间     find -name "*" | xargs touch
  • 在vim中删除空白行    :g/^$/d
  • 安装某个软件时,忘记名字,如想安装openjdk7,但是名字记不全了:

    sudo apt-cache searce openjdk*

         就会列出符合的软件包的名字:

......
openjdk-6-doc - OpenJDK Development Kit (JDK) documentation
openjdk-6-jdk - OpenJDK Development Kit (JDK)
openjdk-6-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-6-jre-lib - OpenJDK Java runtime (architecture independent libraries)
......
openjdk-6-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark
openjdk-7-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-7-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-7-doc - OpenJDK Development Kit (JDK) documentation
openjdk-7-jdk - OpenJDK Development Kit (JDK)
openjdk-7-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-7-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
.....
  •  使用awk命令删除文件中包含某个字符串的行:
awk '{if(/WindowManager/); else print $0}' richard.log-1 > richard.log-2
  •  ps -AF  可以显示PID和PPID
  •  nfs启动   setenv bootargs root=/dev/nfs nfsroot=192.168.9.120:/source/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.9.233
  •  yaffs2 根文件系统挂载 setenv bootargs 'noinitrd root=/dev/mtdblock2 rootfstype=yaffs2  init=/linuxrc console=ttySAC0,115200n8'
  •  批量删除文件中的^M  find -type f | xargs sed -i 's/^M//'  (注意:^M 的输入  Ctrl+V Ctrl+M)
  • 查看bash提供的快捷键: bind -p | grep -v '^\#' | grep -v "self-insert"
  • 多种高亮: ,m    此外,还可以选中要高亮的字符串,然后,m
  • 在当前文件中筛选光标下的字符串,并放到quickfix窗口中: ,lv
  • 如果根目录是以只读的方式挂载的,可以使用右面的命令重新挂载,增加写权限: mount -o remount,rw /
  • 刪除log文件中包含指定字符串的行: sed -e /LOGGER/d  -e /Binder_1/d   logcat.2 -i
  • 查看某個文件的改動記錄: git log   --pretty=oneline  sound/soc/soc-compress.c | awk '{print $1}' | xargs git show
  • 查看linux源码的时候,生成某个架构相关的文件的tags: make ARCH=arm64 tags 或者 make ARCH=x86 tags 或者 make ARCH=arm tags
  • 查看二进制文件内容: hexdump -C file 或者 xxd file

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 ==

相关文章:

  • 数据结构 - 树
  • 別再把沒時間學習當藉口
  • Python学习笔记(2)——第一个Python程序
  • Asp.net下C#调用Word功能的实例与总结
  • 利用的Google的vision library实现人脸检测功能
  • C语言读写伯克利DB 3
  • Java并发编程J.U.C之Condition
  • Git 2.19 对Diff、Branch和Grep等做了改进
  • Web服务器配置解析
  • Alibaba Arthasa相关
  • hbase基础shell操作
  • highcharts的api
  • VMware HA环境搭建九:VMware HA的环境创建
  • 16.Python网络爬虫之Scrapy框架(CrawlSpider)
  • python获取最全ip归属地并数据库本地化
  • 4个实用的微服务测试策略
  • ECMAScript6(0):ES6简明参考手册
  • Elasticsearch 参考指南(升级前重新索引)
  • Git 使用集
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Python_网络编程
  • Redash本地开发环境搭建
  • Swift 中的尾递归和蹦床
  • Vim Clutch | 面向脚踏板编程……
  • WePY 在小程序性能调优上做出的探究
  • 闭包--闭包作用之保存(一)
  • 后端_MYSQL
  • 后端_ThinkPHP5
  • 欢迎参加第二届中国游戏开发者大会
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 人脸识别最新开发经验demo
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​iOS实时查看App运行日志
  • ​Python 3 新特性:类型注解
  • #if和#ifdef区别
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (+4)2.2UML建模图
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (转)Sublime Text3配置Lua运行环境
  • (转)重识new
  • ***原理与防范
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • @SuppressWarnings(unchecked)代码的作用
  • @Valid和@NotNull字段校验使用
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [04]Web前端进阶—JS伪数组
  • [ARC066F]Contest with Drinks Hard
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • [BZOJ 1040] 骑士
  • [c]扫雷
  • [C++打怪升级]--学习总目录