Linux开发下常用命令


前言

经过几天在Linux下开发,记录一下我经常用到的但是又记不住的常用命令,包含Makefile的语法


提示:以下是本篇文章正文内容

🍓终端指令

1.FTP传输指令

开启Linux下FTP服务

sudo /etc/init.d/vsftpd restart

2.查看主机IP

ifconfig -a

3.软件安装与卸载

apt(Advanced Packaging Tool)是Linux系统下的一款安装包管理工具

apt install [package] 安装指定的包,并同时安装其依赖的其他包
apt remove [package] 卸载包,但不删除相关配置文件
在老版本中:sudo apt-get install [package]
建议直接使用apt替代apt-get命令

dpkg(Debian package)是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包

sudo dpkg -i xxxx.deb

4.压缩与解压缩

tar命令
参数

-f,使用归档文件或 ARCHIVE 设备
-c:创建新归档,创建压缩文件
-x:从图档中解出文件,解压缩
-j:使用bzip2压缩格式。
-z:使用gzip压缩格式
-v:打印出命令执行过程。

sudo tar -vxf [filename] (*.tar 用 tar –vxf )
tar -vcf test.tar test 将test打包成test.tar

5.可执行权限设置

chmod 777 [filename]

6.查看磁盘

ls /dev/sd*

7.复制

从上节”兄弟“目录复制到本目录

cp …/目录/文件 ./ (当前目录)前面是两个逗号(编辑器问题)

8.程序下载

./imxdownload <.bin file> < SD Card>
.bin 要下载的文件 SD卡:要下载的位置
./imxdownload ledc.bin /dev/sdb

🍒Makefile

1.编译文件

将*.s 或者 .c 文件编译为.o文件

arm-linux-gnueabihf-gcc -g -c *.s -o *.o
-g:产生调试信息, GDB能够使用这些调试信息进行代码调试
-c:编译源文件,但是不链接
-o:指定编译产生的文件名字

更常用的是:

arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -o $@ $<
-Wall: 显示编译时的所以警告
-nostdlib:不连接系统标准启动文件和库文件,否则编译出错
-O2:优化等级
$@:目标文件
$<:依赖文件

2.链接文件

将*.o 文件链接到 0X XXXXXXXX 地址生成*.elf文件

arm-linux-gnueabihf-ld -Ttext 0X XXXXXXXX *.o -o *.elf
-o: 指定链接生成的 elf 文件名(elf可执行文件)
这里Ttext是默认文件

更常用的

arm-linux-gnueabihf-ld -Timx6ul.lds -o *.elf $^
注:imx6ul.lds是自己编写的链接文件
$<:依赖文件

3.格式转换

将*.elf文件转换为*.bin文件

arm-linux-gnueabihf-objcopy -O binary -S -g *.elf *.bin
-O:指定格式输出,binary表示以二进制格式输出
-S:表示不要复制源文件中的重定位信息和符号信息
-g:表示不复制源文件中的调试信息

常用

arm-linux-gnueabihf-objcopy -O binary -S *.elf $@

4.反汇编

有时需要查看其汇编代码来调试代码,就需要进行反汇编,一般可以将*.elf 文件反汇编生成*.dis文件

arm-linux-gnueabihf-objdump -D -m *.elf > *.dis
-D:表示反汇编所有的段

总结

提示:这里对文章进行总结:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super.Bear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值