嵌入式Linux中常用命令记录
嵌入式Linux中常用命令
1.将TF卡挂载到mnt目录下
/mnt # mount /dev/mmcblk0p1 /mnt -----------mmcblk0是设备号,p1是分区号
/mnt # ls /mnt -----------------------------列出mnt目录下有什么文件
通常,可以用 fdisk -l 命令去查看TF卡是否插入,并且能看到所属的设备号和分区号。TF卡插入后,
一般都在dev目录下有设备号。
U盘、ssd挂载类似,分清楚设备号和分区号,mount /dev/sda1 /mnt \n
2.将TF中的文件拷贝到板上的opt目录下
首先得fdisk -l查看,然后挂载TF卡到某个目录下,然后使用拷贝命令。
/ # cd /dev
/dev ls
/dev # mount mmcblk1p1 /mnt
/mnt # cp ttyw /opt -----------将ttyw拷贝到/opt目录下,此命令要进入到ttyw所处的目录/mnt,并且/mnt下要有ttyw这个文件。
# cp /mnt ttyw /opt ------------在根目录,可以输入此命令。将/mnt目录下的ttyw拷贝到/opt目录下。
3.移动命令
/mnt #mv sample_traffic_capture /opt/----------将/mnt目录下的sample_traffic_capture移动到/opt目录下。
4.查看权限
ls -lh------------------查看权限。查看权限一定是在某个目录下,此命令是列出该目录下所有文件的权限。
r表示读 (Read),当前用户可以读取文件内容,当前用户可以浏览目录。
w表示写 (Write),当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。
x表示执行 (eXecute),当前用户可以执行文件,当前用户可以进入目录。
5.修改权限
chmod 777 sample_traffic_capture -------修改权限为:所有用户 可读、可写、可执行
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1,777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。
chmod -R 777 ./-------------------------表示将目录下所有文件权限修改为 可读、可写、可执行
6.cd命令的用法
cd .. -------------代表上一级目录
cd ~ -------------代表HOME目录
cd - -------------代表前一目录
7.通过修改启动脚本,来修改IP地址
启动脚本位置:BJ→/etc/init.d/S80network
直接编辑也行:vi /etc/init.d/S80network
启动脚本位置:WH→/opt/start.sh
/ # cd /opt
/ # ls
/opt # start.sh
/opt # vi start.sh ------------------------vi就是编辑的意思
/opt # i
-----------------------------用方向键,将光标移动到IP地址所在位置,用删除键删除,然后数字见敲打想要的IP
esc--------------------------IP修改完成后,按esc键退出编辑
shift+:wq--------------------shift+:wq,退出,并保存。退出不保存命令 shift+:!q
然后重启,改的IP才生效。
8.tftp命令
tftp命令可以用来上传下载文件。必要条件:网口需要能通讯,板端和PC端tftp协议都需要开启,并且在同一网段。
- 在uboot下,通过tftp命令将电脑中的某个文件上传到ddr
a.在电脑上打开Tftpd64这个软件,将要上传的文件放进电脑上的指定目录;
b.hisilicon # tftp 0x82000000 uImage---------------将uImage这个文件上传到DDR中,开始地址位:0x82000000,断电后,就没有了,多用来烧写flash或者EMMC,后续还需要有执行相应的烧写指令。
- 将电脑中的文件上传到板上的TF卡中
a.挂载TF卡;
b.PC端打开tftp软件,将要上传的文件放进PC上的指定目录;
c./mnt/sd # tftp -g -r moribengta.mkv 192.168.1.25---------将电脑中tftp目录下的moribengta.mkv文件上传到/mnt/sd目录下,其中/mnt/sd目录是TF卡的挂载目录;
有的系统,上面命令不行,打印如下信息:
Usage: tftp [OPTIONS] HOST [PORT] Transfer a file from/to tftp server -l FILE Local FILE -r FILE Remote FILE -g Get file -p Put file -b SIZE Transfer blocks of SIZE octets
解决办法:更改命令~ # tftp -g 192.168.0.25 -r moribengta.mkv---------将电脑中tftp目录下的moribengta.mkv文件上传到根目录下
~ # tftp -g 192.168.0.25 -r moribengta.mkv
d./mnt/sd/video # tftp -p 192.168.1.25 -r chn1_20210831_101403.mp4 ---------反过来一样,将TF卡中的chn1_20210831_101403.mp4文件下载到电脑中tftp目录下,
其中/mnt目录是TF卡的挂载目录,一定要进入目录才能ftfp。
root目前进入后是这样的标志~ #
/ # cd /root/
~ # ls
sample_vio_0 sample_vio_1
9.uboot下设置IP地址
setenv ipaddr 192.168.1.91
setenv gateway 192.168.1.1
sav
10.在linux系统起来后设置IP地址
ifconfig eth0 192.168.1.91
ifconfig eth0 192.168.1.91 netmask 255.255.255.0
11.I2C地址扫描
在telnet中,输入命令 i2cdetect -y -r 2----------------数字是I2C号,是I2C几就填数字几。前提条件,内核中需要有i2cdetect工具。
12.TF卡中模拟写卡
- time dd if=/dev/zero of=/mnt/sd/test.bin bs=1k count=1000000-----------test.bin需要放到TF卡中,如果卡不稳定,可以测出来。
1k是单次写入的大小,1000000是次数,两者相乘,是写入文件的大小。
- df -h-----------用此命令,可以看写入了多少。
13.Linux 删除文件夹和文件的命令
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中。删除文件直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
-
删除文件夹实例:
rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件2 -
删除文件使用实例:
rm -f /var/log/httpd/access.log
将会强制删除/var/log/httpd/access.log这个文件
14.Linux 启动脚本修改IP
cd 到相关启动脚本相关目录,有的板启动脚本在/opt目录下的start.sh脚本中,有的脚本在/etc/init.d/目前下的S80network脚本中。
vi 脚本名
键盘按i键
修改IP地址
键盘按esc键
shift+:wq ------------------------退出保存(shift+:键后,键盘输入w,再输入q,然后按Enter键)
shift+:!q --------------退出不保存
重启板卡(重启后改的IP才生效)
15.在某目录下新建一个目录
在mnt目录下新建一个disk目录:cd到mnt目录,然后 mkdir disk就可以了,想要查看是否新建成功,ls就可以查看
16.sf命令
如果板上有spiflash,可以用sf命令来操作它【sf erase, read, write】
sf write写DDR的数据到flash;
sf erase 擦除指定位置,指定长度的flash内容,,在进行写flash的时候一定要先进行擦除,否则会失败,因为flash只能从1变为0
命令举例:
a. sf probe 0,在使用sf的其他命令之前必须先进行此操作进行连接flash(初始化);
b. sf write 0x82000000 0x8000 0x20000
把内存0x8200 0000处的数据, 写入flash的偏移0x80000, 写入数据长度为0x20000(128KB), 操作偏移和长度最小单位是Byte;
c. sf read 0x82000000 0x10000 0x20000
把flash偏移0x10000(64KB)处, 长度为0x20000(128KB)的数据, 写入到内存0x82000000, 操作偏移和长度最小单位是Byte;
d. sf erase 0x0 0x10000
擦除偏移0x0处, 到0x10000之间的擦除块, 擦除操作是以erase block为单位的, 要求offset和len参数必须是erase block对齐的;
17.如何查看flash中的内容
1 U-Boot-PetaLinux> md
2 md - memory display
3 Usage:
4 md [.b, .w, .l] address [# of objects]
在uboot中用 md 命令查看内存数据,先将内容读到DDR中,然后查看DDR中的内容
md 0x82000000 0x100

18.mw用法
mw是向DDR中写入数据,.b以字节为单位;.w以字为单位;.l以长字为单位
1 U-Boot-PetaLinux> mw
2 mw - memory write (fill)
3 Usage:
4 mw [.b, .w, .l] address value [count]
19.uboot下烧写uboot、内核、根文件系统
(1)烧写 u-boot
1 sf probe 0
2 mw. b 82000000 ff 100000
3 tftp 82000000 uboot_release_1M. bin
4 sf probe 0
5 sf erase 0 100000
6 sf write 82000000 0 100000
7 reset
(2)烧写内核
1 sf probe 0 2 mw. b 82000000 ff 300000 3 tftp 82000000 kernel. img 4 sf erase 100000 300000 5 sf write 82000000 100000 300000 6 mw. b 82000000 ff c00000
(3)烧写根文件系统
1 sf probe 0
2 mw. b 82000000 ff c00000
3 tftp 82000000 rootfs. jffs2
4 sf erase 400000 c00000
5 sf write 82000000 400000 c00000
20.海思3559A开启FTP命令
tcpsvd 0 21 ftpd -wvS /opt &
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端