0


【Linux命令】机器人/自动驾驶 测试常用命令汇总(一)

机器人/自动驾驶 测试常用linux命令汇总

整理一些在机器人测试、自动驾驶测试中常用到的linux命令,便于后续新同事能够很快了解熟悉,尽快上手测试工作。

一、Linux常用命令

1. ssh

# 远程连接,远程登录。 命令基本格式/用法
$ ssh[可选参数] 远程用户名@目标服务器IP

# 在需要上车查看服务器上时可以使用# 远程用户名:robot,目标服务器IP:192.168.1.101,默认端口号22
$ ssh [email protected]

# 在已知服务器上端口不是默认端口,而是其他的端口时使用# 指定端口号连接,修改端口号为80
$ ssh -p 80 [email protected]

# 执行命令,打印目标服务器上的时间
$ ssh [email protected] "echo data"

2. scp

# 远程复制、拷贝。 命令基本格式
$ scp[可选参数][原路径][目标路径]# 拷贝目标服务器下文件到本地,拷贝20220807当天的所有bag到你当前目录下。# 下面的"." 表示当前路径下,linux 支持正则表达式,可以用*来代替任意的一段字符。
$ scp -r [email protected]:~/ros_bag/20220807* .# 拷贝本地文件到目标服务器,复制本地指定目录下的所有bag文件到远程目标服务器上
$ scp -r /home/robot/06-python/bagtocsv/state/*bag [email protected]:/home/test/

3. chmod

# 修改文件权限。命令基本格式,可使用数字方式,也可使用字母方式,# 读操作用'r'或4表示,写操作用'w'或2表示,执行用'x'或1表示# '+'表示增加权限,'-'表示撤销权限,'='表示设定权限# 需要给文件添加可执行权限时,可如下操作
$ chmod +x start.sh

# 需要给给文件添加全部权限
$ chmod777 start.sh   

# 举个例子,想要给file的属主分配读、写、执行(7)的权限,# 给file的所在组分配读、执行(5)的权限, 给其他用户分配执行(1)的权限,可如下操作
$ chmod751file

4. grep

# Grep称为全局正则表达式检索工具,最常用的就是和管道符结合# 筛选当前目录下含有b的文件
$ ls|grep b
$ rosmsg list |grep sensor         # 筛选rosmsg中含有sensor的msg# 筛选/diagnosis/fault_info topic的输出中的fault_code 故障码
$ rostopic echo /diagnosis/fault_info |grep fault_code

# 示例:
$ ls|grep -c b

# 其他比较有用的参数# -i:在搜索的时候忽略大小写# -n:显示结果所在行号# -c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数# -o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行# -v:输出不带关键字的行(反向查询,反向匹配)# -w:匹配整个单词,如果是字符串中包含这个单词,则不作匹配

5. history

# 用于显示历史记录和执行过的指令命令,历史命令仅能够存储1000条历史命令-默认
$ history# 查看历史最后10条命令
$ history10# 清楚内存中的历史命令
$ history -c

# 执行历史命令1989,1989是top,那么就是执行top命令
$ !1989

 # 1988  ll# 1989  top# 1990  cpu -c# 1991  dstat -c

6. sync

# 强制把内存中的数据写回硬盘,以免数据的丢失
$ sync# 在Linux系统中,为了加快数据的读取速度,所以在默认的情况下, # 某些已经加载内存中的数据将不会直接被写回硬盘,而是先缓存在内存当中,# 如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,# 因此可以直接由内存当中读取出来, 在速度上一定是快上相当多的!# 不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机# (例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,就会造成数据的升级不正常。# 这个时候就需要sync这个命令来进行数据的写入动作啦! # 直接在文字接口下输入sync,那么在内存中尚未被升级的数据,就会被写入硬盘中!

7. shutdown

# 关机、重新启动# shutdown命令(如果不带参数的),在停止系统运行之前,他将通过wall命令吧系统即将关闭的信息# 告诉已登录的所有用户,并且留给1分钟(默认时间,可以更改)时间来完成剩余工作,1分钟后,# 系统开始调用killall命令杀死人在系统中运行的进程,用sync命令将内存中的缓冲数据保存到硬盘上,# 再卸载已经安装的文件系统,最后是用halt命令停止系统。# 立即关机
$ sudoshutdown -h now

# 立即重启
$ sudoshutdown -r now

# 10分钟后自动关机
$ sudo shutdiwn -h 10# 指定时间关机
$ sudo shutdiwn -h 22:30

# 取消关机任务
$ sudoshutdown -c

8. tar

# 常用的解压与压缩命令# 常用的解压命令。使用gzip工具(-z)解压(-x)由参数-f指定的文件,并显示压缩过程中详细信息(-v
$ tar -zxvf xxx.tar.gz
$ tar -xvf xxx.tar.gz

# 常用的压缩命令。
$ tar -cvf py.tar.gz bagtocsv_py2.py bagtocsv_py3.py draw_img.py reindex_delete_bag.py
$ tar -zcvf py.tar.gz 20220809115207/

# 参数解释:# z:通过gzip支持压缩或解压缩。# x:解压缩。c是压缩。 # v:在压缩或解压缩过程中显示正在处理的文件名。 # f:f后面必须跟上要处理的文件名。也就是说你不能写成这样 tar -zxfv test.tar.gz 

9. top

# top命令经常用来监控linux的系统状况# top的使用方式 top [-d number] | top [-bnp]# 查看性能
$ top# 每秒刷新一次性能数据
$ top -d 1# 查看指定进程的性能
$ top -p 1459# 参数解释:# -d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 # -b:以批次的方式执行top。 # -n:与-b配合使用,表示需要进行几次top命令的输出结果。 # -p:指定特定的pid进程号进行观察。

10. kill

# kill命令用来终止指定的进程,只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略# 杀死进程ID为1999的进程
$ kill -9 1999

11. kill

# 一次性的查看进程结果# 显示所有进程信息,连同命令行
$ ps -ef

# 列出目前所有的正在内存当中的程序
$ ps -aux

# ps 与grep 常用组合用法,查找特定进程
$ ps -ef|grepssh

12. ps

# 一次性的查看进程结果# 显示所有进程信息,连同命令行
$ ps -ef

# 列出目前所有的正在内存当中的程序
$ ps -aux

# ps 与grep 常用组合用法,查找特定进程
$ ps -ef|grepssh

13. cat

# 查看文件内容# cat的语法格式为:cat [参数] [文件]# 查看文件内容
$ cat xxx.log

# 显示文件最后100行
$ cat filename |tail -n 100# 显示文件前面100行
$ cat filename |head -n 100# 从100行开始显示,显示100行以后的所有行
$ cat filename |tail -n +100
 
# 显示100行到500行
$ cat filename |head -n 500|tail -n +100

14. tail

# 依照要求将指定的文件的最后部分输出到标准设备,会自动刷新# 监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上
$ tail -f filename

# 显示filename最后20行
$ tail -n 20 filename

15. df

# df命令作用是列出文件系统的整体磁盘空间使用情况# 以默认方式显示
$ df# 以人们易读的方式显示
$ df -h

# 指定一个文件夹,查看该文件夹所在磁盘的使用情况
$ df -h /home/robot/

16. du

# du命令(disk usage)用来展示磁盘使用量的统计信息# 查看当前目录下所有子目录的大小
$ du -h

# 统计当前目录占用空间大小
$ du -sh

# 查看当前目录下所有文件与目录的大小并按大小排序倒序输出
$ du -sh * |sort -rh

17. mkdir

# 用来新建文件夹# 新建一个文件夹
$ mkdir folderOne

# 新建多个文件夹
$ mkdir folderTwo folderThree folderFour

# 新建多级文件夹
$ mkdir -p folderFive/subFolder

二、基础命令

命令用途基本用法ls用来显示目标列表ls -acd目录跳转cd …cp拷贝、复制cp bag2csv(1).py bag2.pymv移动mv xxx.bag …/rm删除rm xxx.bagpwd获取当前目录pwddate获取当前时间datesudo超级用户权限sudo rm xxx.bagsu登陆root用户su rootclear清屏clearifconfig查看网络接口地址ifconfigecho将xxx输出在终端上echo “hello”gedit使用文本编译器打开xxx.txt文件gedit xxx.txttouch创建一个空白文件touch file.txt

三、拓展工具和命令

示例1:
# 将top的输出写入到top.txt文件
$ top -d 1>top.txt

示例2:
# 后台运行命令,关掉终端会停止运行
$ top -d 1>top.txt  &

示例2a:
# 后台运行命令,关掉终端不会停止运行,关闭需要通过查找到对应的pid来kill掉
$ nohuptop -d 1>top.txt  &

示例3:
# 查看性能信息的几个工具
$ htop# top可视化的查看性能信息
$ dstat              # 可查看cpu、dsk、net、io、system
$ top

示例4:
# 显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存
$ free

示例5:
# 调试用的,加了这个,就会把脚本中的每条命令的执行情况打印出来
$ bash -x xxx.sh

示例6:
# 查看文件的md5sum 校验
$ md5sum xxx.sh

示例7:
# 删除文件
$ rm -rf *                     # 删除当前目录下的所有文件
$ rm -rf *.bag            # 删除当前目录下的bag文件
$ rm22.txt                # 删除当前目录下的22.txt文件
$ rm -rf test/              # 删除当前目录下的test文件夹

本文转载自: https://blog.csdn.net/weixin_44273084/article/details/126463128
版权归原作者 sir.shao 所有, 如有侵权,请联系我们删除。

“【Linux命令】机器人/自动驾驶 测试常用命令汇总(一)”的评论:

还没有评论