一 编辑器

以vim为例

打开二进制文件
vi -b file_name
:%xxd

// 代码阅读
// 生成tag
$ ctags -R
// 查找标识符
$ grep -nrl "id" directory_path
// vi 跳转到tag快捷键
C-]
// vi 从tag返回快捷键
C-t
// vi查看taglist
:ts
比较文件
$ meld file01 file02
or
$ vimdiff [-b] file01 file02

二 编译链接器(以arm-none-linux-gnueabi-为例)

// 编译, $@在makefile中表示目标文件,$^所有的依赖文件,$<第一个依赖文件。
$ arm-none-linux-gnueabi-gcc source_file.c -o output_filename
Makefile中
arm-none-linux-gnueabi-gcc -o $@ $< -c -nostdlib

// 反汇编
$ arm-none-linux-gnueabi-objdump [-SDx] elf_file

// 链接,例如
"-Ttext"用来指定代码段地址,同样的有-Tdata和-Tbss
arm-none-linux-gnueabi-ld -Ttext 0x0 -o led.elf $^

// elf转换为二进制文件
$ arm-none-linux-gnueabi-objcopy -O binary led.elf led.bin

三 烧录

$ dd if=image_name of=/dev/device_node seek=offset bs=block_size count=block_number;sync

四 版本控制

基于git

// 获取仓库代码
$ git pull repository_address
// 查看本地修改的文件
$ git status
// 添加修改的文件
$ git add file_name
// 提交到本地分支
$ git commit -m "massage"
// 和远程分支合并
$ git push

// git add 撤销
$ git status #先看一下add 中的文件 
$ git reset HEAD #如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 
$ git reset HEAD XXX/XXX/XXX 就是对某个文件进行撤销了

// git commit 撤销
$ git log # 查看commit_id
$ git reset commit_id # 撤销commit_id,但是代码没变
$ git reset --hard commit_id # 撤销commit_id, 同时代码也回退

// git push 之后撤销
#git revert : 提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。
$ git revert HEAD # 撤销前一次 commit 
$ git revert HEAD^ # 撤销前前一次 commit 
$ git revert commit-id # (撤销指定的版本,撤销也会作为一次提交进行保存) 
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐