在学校从来没有碰过Linux系统,对于在该系统下的文件操作和一些命令一无所知,在学习的过程中,记录一下笔记,方便日后查看。
如果有不足或补充欢迎指正和补充。
cd xxx 切换到目录下。cd ..返回上一级目录
mv xxx 移动文件,-r 移动文件夹。也可以使用mv来重命名文件
rm xxx 删除文件。
scp xxx拷贝文件,-r 表示拷贝文件夹。 如 scp -r root@111.111.111.111:/home/root/aaa/file1 ./(将一个设备上的文件夹拷贝到另一个设备的当前文件夹)。同样,一个设备的当前文件夹下ctrl+alt+T打开终端,将文件拷贝到另一个设备中,如 scp -r file2 root@111.111.111.111:/home/root/ 就好了。
mkdir 创建文件夹
file 文件 ,可以看文件类型
ls 查看当前文件夹下的文件或文件夹
在操作进程看消息时;
ps -ef查看搜索进程,ps -ef|grep 进程名,查看特定进程是否在运行
top 查看所有运行进程
pgrep -f 进程名;查看进程是否在运行
kill 进程号 删除该进程
./文件 是手动运行可执行文件或文件
LCM(Lightweight Communications and Marshalling)是一套用于消息传递和数据编组的库和工具的集合,旨在为实时系统提供高带宽和低延迟的消息传递的能力,由于其基于UDP传输的属性,传输速度较快。它提供了一个发布/订阅消息传递模型以及为各种编程语言的应用程序自动生成编/解组代码。
LCM允许多个进程以安全和高性能地方式进行消息的交换。消息是LCM通信的基本单元,LCM传输协议是通过不同的Channel进行传输,在不同的Channel封装好信息之后,进行整体信息传输。LCM协议的编写支持C、C++、Java、 Python等编程语言,关于LCM协议的使用可以参考官方文档。
原文链接:https://blog.csdn.net/zt1091574181/article/details/96972736
官方网址:https://github.com/lcm-proj/lcm/tree/master/lcm-logger
lcm-logger
./lcm-logger 录制能收到的所有lcm通道,以默认方式命名log文件
./lcm-logger xxx.log 录制能收到的所有lcm通道,以设置的名称命名log文件
./lcm-logger --channel=xxx 录制通道名为xxx的信息,以默认方式命名log文件
lcm-logplayer
./lcm-logplayer -v xxx.log 以默认速度播放xxx.log,同时打印出每次播放内容
lcm-sink是看进程是否在运行。
lcm-logplayer使用时
-v是选择是否把通道信息打印出来
-s是选择发送速度,一般是使用默认速度,还原录制时的场景。
参考链接:
关于线程与进程
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。
所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)
内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。
包含关系:没有线程的进程可以看做是单线程的,如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。
原文链接:https://blog.csdn.net/kuangsonghan/article/details/80674777
线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。
一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行。