【北京迅为】《STM32MP157开发板嵌入式开发指南》- 第十八章 Linux编写第一个自己的命令

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等


第十八章 Linux编写第一个自己的命令

本章内容对应视频讲解链接(在线观看):https://www.bilibili.com/video/BV1M7411m7wT?p=20

18.1 什么是命令?

命令就是可执行程序。

比如说我们输入 ls -al ,ls 就是可执行程序的的名字。-al 就是要传递进去的参数。

ps 命令:

功能:显示进程的动态。

输入 ps 命令

当shell接收到我们的命令以后,会根据我们输入的字符到环境变量和默认路径中去找,环境变量上一章提过,通过打印知道去哪个路径下去找,然后它会去寻找有没有名字和我们输入命令一样的程序。

18.2 定义一个自己的命令

进入test目录,把原来的都删掉,作者这里先创建一个 .c 文件,touch commond.c , 打开文件vi commond.c ,gcc commond.c -o commond ,然后我运行一下,./commond ,我们现在的这个可执行程序只能在 test 这个路径下输入,而且我们还要加上当前目录,如果我切换到上一级目录,就不能用 ./commond 来运行 commond ,因为当前目录下没有commond这个文件,我们直接输入 commond 也不行,会提示错误。

 

我们上一章学了环境变量,环境变量里边 PATH 变量决定了我们的程序或者是命令都要去哪些路径下找,那我们可以把存放可执行程序的路径加到我们环境变量里面,那么在任意路径下输入 commond 这个命令,它就会自动找到 commond 这个可执行文件来帮助我们执行。

我们前面学到的根目录下的 bin 文件是专门存放可执行文件的,我们直接把生成的这个commond 这个可执行性文件拷贝到根目录下 bin文件夹也是可以的。即用 cp 命令拷贝到 bin文件夹,作者输入 cp commond /bin/ ,提示没有权限,加上sudo ,然后我直接输入commond ,可以看到打印 This is my commond! ,然后再返回上一级,这个路径下是没有commond这个程序的,我再输入 commond ,也是可以执行成功的,所以用这个方法是可以的。

 

我们不使用这个方法,我们把存放 commond 这个可执行文件的路径加到PATH这个变量里面去,先把 bin文件夹下的可执行文件把它删掉。 

 

我们直接使用命令来添加,export PATH=/home/topeet/test/:$PATH ,添加环境变量的办法上一章已经讲到了,echo $PATH ,现在就已经成功添加进去了。输入 commond 这个命令,也能执行成功,然后我在换另一个目录,作者把它切换到 Videos 这个文件夹里面去,输入 cd Videos,然后在输入 commond ,同样也能执行成功,同时也验证了之前的说法,命令就是可执行文件。 

本章把我们之前学到的进行一个串通。比如说环境变量的修改, gcc 的编译。同时我们也知道了平常使用的命令就是一个可执行程序,而且在键盘上输入了我们的命令之后,这个命令发给了我们的 shell 。也就是如图 18.2.5的这个 bash,是发送给它的,然后它会根据我们输入的这个字符串去环境变量里面去找,去看看有没有和我们的名字一样的程序。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值