本文主要举例一些在嵌入式工作中常用到的一些命令,包括linux、ubuntu、开发版中常用命令
1.linux常用命令
===常用指令=
clear 清屏
pwd 常看当前目录 cd 转移目录
rm 删除文件 ps查看进程
cat 显示文件内容 kill杀死进程
ls 查看当前目录下的文件
切换目录
1.命令: cd /后加需要切换的目录
2.cd … 返回当前目录的上一层
3.cd ~ 跳转到home directory目录
查看目录
1.ls -a 显示全部文件,包含隐藏文件
2.ls -r 级联显示
3.ll 详细查询 -h kb显示文件大小。
1.source 常用于重新执行刚修改的初始化文件
#source /etc/profile #执行/etc/profile文件
2.gedit 编辑文本文件
#gedit test.php #编辑test.php,没有创建之
3.mkdir 若指定目录不存在则创建目录。
mkdir aaa #创建目录
mkdir -p /ms/{sales,hr,web} #创建一个名为/ms的目录,其中有sales、hr、web的子目录
mkdir -pv /tmp/test/{a1,b1}/{c1,d1}#批量创建文件夹
4.touch 创建文件
touch filename #可加后缀,但touch只能创建空文件
cat>>filename #可加后缀,运行后等待输入内容,按ctrl+d退出
5.tree 以树状图显示目录
tree -a #显示所有文件和目录
6.tar 用来压缩和解压文件
tar -czvf ar_test.tar.gz ar_test #将ar_test文件打包并且压缩
tar cvjf test.gz test #将test文件打包并且压缩
tar zxvf ar_test.tar.gz #解压
tar zxvf hao.tar.gz -C /root/mytest #解压到指定目录
tar xvf uboot-2015-04.tar.bz2 #解压 uboot 源码
tar -cf all.tar *.jpg #将当前目录所有.jpg的文件打成一个名为all.tar的包
-c是表示产生新的包,-f指定包的文件名
tar -rf all.tar *.gif #将所有.gif的文件增加到all.tar的包里面去
-r是表示增加文件的意思。
tar -uf all.tar logo.gif #更新原来tar包all.tar中logo.gif文件
-u是表示更新文件的意思
tar -xf all.tar #解出all.tar包中所有文件
-x是解开的意思
tar czvf 压缩后文件名 czvf 目标目录
7.查看系统信息
uname -a 看 Ubuntu 的位数
说明:有 X86_64 表示 64 为系统, i686 表示为 32 位系统。
file file_name(实际文件名)
32-bit 代表此文件为 32 位文件。64-bit 代表是 64 位文件。
root@freescale /$ cat /proc/version 查看系统内核版本
root@freescale ~$ cat /proc/meminfo 查看内存使用情况 或者free
root@freescale ~$ cat /proc/cpuinfo 查看 CPU 信息
root@freescale df -m 查看磁盘使用情况
ls -l /bin/*sh 查看系统中的脚本解释器
8.删除文件夹和文件
#rmdir +目录(只能删除非空目录)
#rm -rf +目录或者文件
9.cd 目录切换命令
cd /home/ #切换到home目录
cd …/ #切换到上一级目录
cd ~ #切换当前用户的home目录
cd - #返回切换到home前的目录
10.cp 将源文件复制至目标文件,或将多个源文件复制至目标目录。
cp test.rb{,.bak} #备份test.rb,并在尾部加上.bak后缀
cp /media/sda1/app-wdt ./ #将该目录下文件复制到当前目录
cp -p test.rb /home/test #将test.rb copy到test目录,并且保留原文件的属性
cp -r Dir/ /home/test #将Dir目录copy到test目录下
cp -fr Dir/* /home/test #将Dir下面的所有文件强制copy到test目录下
11.vi linux 文字编辑器,在命令行界面下编辑文字
移动光标类命令(可以使用方向键移动光标):
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
gg:移动光标到文档首行
G :移动光标到文档尾行
拷贝, 删除与粘贴:
yy 表示拷贝光标所在行
dd 表示删除光标所在行
p 粘贴
屏幕翻滚类命令:
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
搜索及替换命令:
/加搜索内容 #从光标向后搜索
?加搜索内容 #从光标向前搜索
最后行方式命令:
:q #退出vi
:w #保存当前文件
12.vim 编辑指定的文件(是vi的增强版,完全兼容vi)
13.chmod 相关指令
chmod u+x setup_env.sh 给setup_env.sh添加可执行权限
操作对像 | 权限设定
u 文件属主权限 | + 增加权限
g 同组用户权限 | - 取消权限
o 其它用户权限 | = 唯一设定权限
a 所有用户(包括以上三种) |
14.装载和卸载模块
insmod用来将模块装入内核
rmmod用来从内核中移除模块,如果内核认为模块仍然在使用状态,或者内核被配置为禁止移除模块,则无法移除该模块
lsmod列出当前装载到内核中的所有模块
15.rm 删除
rm test.php #删除文件需要确认
rm -f test.php #强制删除文件不确认
rm -rfv ./test #强制删除当前的test目录,并显示删除的详细过程
16.内存和存储相关命令
1.查看内存使用情况以及分区挂载情况
df -h
2.查看可用运行内存free -m
free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述
3.Linux 分区信息
可以通过cat /proc/mtd查看
4.cat /proc/partitions mtd的块设备的大小,可以通过查看分区信息获得
5.fdisk -l查看查看硬盘及分区信息;
6.查看RAM使用情况 cat /proc/meminfo
2.Ubuntu常用命令
1.Ctrl+Alt+T 创建新的命令行窗口
2.在linux下图形界面和命令行界面的切换
[CTRL]+[ALT]+F3切换到命令界面
[CTRL]+[ALT]+F7切换到图形界面
3.查看Ubuntu多少位getconf LONG_BIT
3.开发版常用查询命令
1.查看当前用户权限: umask
2.查看挂载分区cat: /proc/mtd
3.启动环境:cat /proc/cmdline
4.CPU 信息:cat /proc/cpuinfo
5.查看CPU唯一UID: cat /proc/cpuinfo(serial)
6.内存信息:cat /proc/meminfo
7.磁盘分区:cat /proc/partitions
8.内核版本查询: cat /proc/version
root@imx6qsabresd:~# cat /proc/version
Linux version 4.1.15-00017-gf94be3a-dirty (zyh@developer-RH2485-V2) (gcc version 5.3.0 (GCC) ) #1 SMP PREEMPT Mon Dec 3 16:20:20 CST 2018
9.内核版本查询: uname -a
root@imx6qsabresd:~# uname -a
Linux imx6qsabresd 4.1.15-00017-gf94be3a-dirty #1 SMP PREEMPT Mon Dec 3 16:20:20 CST 2018 armv7l armv7l armv7l GNU/Linux
10.查看操作系统信息 cat /etc/issue (错误,实际查看的信息能自定义,一般加入系统的信息)
11.网络设备查询:cat /proc/net/dev
12.查看内核启动信息:cat /proc/kmsg
13.查看CPU温度 cat /sys/class/thermal/thermal_zoneo/temp
14.查看swap分区 cat /proc/swaps
15.查看是否安装JDK:java -version(没有安装会提示没有找到该指令)
16.查看当前频率cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
17.查看***信息(*可以是usb dma eth tty等):dmesg | grep ***
18.查看所有环境变量env
19.查看PATH环境变量echo $PATH 还有一些众所周知的环境变量:HOME、PWD、USER、UID、SHELL等
20.查看USB状态: lsusb
21.查看 USB 摄像头的设备节点:ls /dev/video
22.#find ~ -name memcached.pid -print #查找home目录下文件名为memcache.pid的文件
23.#find . -name ".pid" -print #.代表当前目录,查找所有以pid结尾的文件
24.查看安装的ssh版本信息:ssh -V
25.查找某个命令所在的绝对路径:which xxx
26.查询一个命令是否是别名alias xxx
27.在此路径下查找 grep “fsl,imx6ul-ecspi” ./ -nr
28.在vi编辑器显示行号:set nu
29.在串口终端中查看gpio配置,输入下面两个命令
mount -t debugfs debugfs /tmp
cat /tmp/gpio
30.查看 CPU 信息 cat /proc/cpuinfo
31.键入make menuconfig,进入内核配置菜单
32.cat /proc/devices看到设备名和设备号
33. 修改文件所属组,修改文件所有者
chgrp 用户名 文件名 -R
chown 用户名 文件名 -R
34.free 命令是一个快速查看内存使用情况的方法
df - 报告文件系统磁盘空间的使用情况
35.335x的uboot编译 修改/include/configs
make arch=ARM CROSS_COMPILE=/usr/local/arm/cross/am335xt3/devkit/bin/arm-arago-linux-gnueabi- ok335xd_nand1G_ddr512_config
make arch=ARM CROSS_COMPILE=/usr/local/arm/cross/am335xt3/devkit/bin/arm-arago-linux-gnueabi-
36.$CC -o test test.c。交叉编译C代码
- ip -details link show can0查看can信息
37.查看gpio信息
mount -t debugfs debugfs /tmp
cat /tmp/gpio
38.可以在LINUX PC机上运行 objdump -x tty_test_arm | grep NEEDED 查看用到了那些SO文件,在你ARM板子里是否有对应的文件,并保存在SO的搜索路径中
39.电脑当主机r输入 iperf3 -s 192.168.1.113(这IP地址你们自己看着设置)
板子输入 iperf3 -c 192.168.1.113(输入主机的地址)
40.env default -f -a 使用默认环境变量saveenv
41.设置uart
stty -F /dev/ttyO1 ispeed 460800 ospeed 460800 cs8 设置ttyO1波特率为460800
stty -F /dev/ttyO1 -a #ttyO1为要查看的串口
42.设置can
ip -details link show can0 查看 can0 的配置
canconfig can0 bitrate 125000 ctrlmode triple-sampling on 设置波特率为125000
或者
#ip link set can0 type can bitrate 125000 设置波特率为125000
canconfig can0 stop 关闭can才能配置
43.memtester使用详解 内存压力测试
44.memdev2 查看寄存器地址
45.查看I2C挂载设备命令i2cdetect -r -y 0
46.创建库
1.创建静态库
用 ar 命令即可创建一个库文件
ar -r libhello.a hello1.o hello2.o
2.创建共享库
gcc -fpic -shared hello1.c hello2.c -o libhello.so
46.xinput --list 查看触摸屏id,或者名字 。名字记得复制全。 export DISPLAY=:0.0
1)交换x、y轴 xinput --set-prop ‘7’ ‘Evdev Axes Swap’ 1 // 7为我当时的端口id,会变化。 用名字代替也可以。
2)反转y轴 xinput --set-prop ‘7’ ‘Evdev Axis Inversion’ 0 1
export DISPLAY=:0.0
1).xinput_calibrator --list:列出触摸屏的设备名称以及相应ID号。
2).xinput_calibrator --device #:对ID号指定的触摸屏进行标定。
3).把上述标定结果保存于/etc/X11/xorg.conf文件中
47.将dtb反汇编成dts
./dtc -I dtb -O dts -o A_dts.dts A_dtb.dtb
把A_dtb.dtb反编译生成为A_dts.dts