SLAM十四讲学习笔记 第一期:Ubuntu复健计划

持续更新....

  • 本地VSCode远程连接虚拟机
  • 进程类✨
    • 根据关键字查看进程
      • 区分进程号和父进程号
    • 根据进程号查看进程
    • 杀死进程
      • 根据进程名杀死进程:killall
      • 根据进程号杀死进程:kill
      • 短选项“-9”的作用
  • ROS
    • ROS安装
    • 将py文件添加为可执行
    • 创建工作空间和功能包
    • 开机自动source
    • .launch中remap的作用
    • 下载ros_numpy
  • Conda
    • 查看环境列表✨
    • 创建新环境,激活与退出
  • 关键字搜索✨
    • 根据【文档内部分关键字】搜索
    • 根据【文件名】搜索
      • type选项选择文件名的种类
      • 仅在当前路径下搜索
      • 模糊搜索
    • vim中的关键字搜索✨
  • pip相关
    • pip下载【免换源版】✨
    • pip下载指定版本
    • pip模糊搜索【已废弃】
  • 创建虚拟环境✨✨
    • 第一步:下载virtualenv
    • 第二步:创建及进入虚拟环境
    • 其他:生成环境配置文件和按照配置文件下载
      • 生成文件
      • 导入配置
  • 杂项
    • 虚拟机增加内存的两种方法
    • 查看磁盘容量
    • 查看剩余内存
    • 查看某文件大小
    • 显示实时更新文件【如跟踪日志】✨✨
      • 输出到文件
      • 输出在命令行✨✨

最近在看SLAM十四讲相关内容,顺便跑一跑快半年没有开过的虚拟机
本期写旧未使用的虚拟机如何上手…
顺便补充一些个人使用虚拟机时比较有帮助的零碎知识点,但不一定规范。
主打一个能用就行
加关注限制用于统计真实阅读数据,若不适应取关即可

颜色代码
蓝色
红色
绿色
chatGPT帮助了我很多,或许本可以不用这个blog的;(

本地VSCode远程连接虚拟机

应该注意,要在Ubuntu端打开ssh service,使用的代码为

sudo service ssh start

通过查看进程来确定ssh是否已连接


可以看这个博主的博客
vscode 连接虚拟机(Ubuntu)

进程类✨

根据关键字查看进程

ps -ef | grep 【关键字】  # 可以查看包含该关键字的进程

一些解释

  • ps -ef 用于列出当前系统上所有的进程信息。
  • | 是管道操作符,用于将 ps -ef 的输出作为 grep 【关键字】 的输入。
  • grep 【关键字】 用于过滤 ps -ef 的输出,只保留包含【关键字】的行。
  • 可以再加上|grep -v grepgrep -v表示反向匹配,即在输出结果上筛选出不含"grep"的结果

区分进程号和父进程号

左边的是进程号,右边的是父进程号

根据进程号查看进程

ps -p 【进程号】

杀死进程

根据进程名杀死进程:killall

killall 【进程名】

请注意,使用killall命令会杀死所有匹配的进程,包括可能属于其他用户的进程。

根据进程号杀死进程:kill

kill 【进程名】

短选项“-9”的作用

不加 -9 选项时,进程可以选择忽略它或进行一些清理操作后再退出。在大多数情况下,推荐使用这种方法,因为进程有机会完成一些清理工作,释放资源等。

使用 -9 选项时,进程将会立即被终止

ROS

ROS安装

wget http://fishros.com/install -O fishros && sudo ./fishros

将py文件添加为可执行

chmod +x filename # 将文件(如.py)设置成可执行文件

创建工作空间和功能包

创建指定文件夹及src子文件夹

mkdir -p ~/my_workspace/src

【在src目录下】创建新的工作空间

cd ~/my_workspace/src  # 进入工作空间中的src子目录
catkin_init_workspace 

或者【在工作空间目录下】创建新的工作空间

cd ~/my_workspace  # 进入工作空间目录
catkin_make

【在src目录下】创建功能包

cd src  # 进入工作空间中的src子目录
catkin_create_pkg 【功能包名字】

返回工作空间进行catkin_make

开机自动source

放到~/.bashrc里,开局自动配置

.launch中remap的作用


相当于:当订阅者订阅话题chatter时,他将只会收到名为hello的话题发布的消息
topic重映射理解及验证(remap标签)

下载ros_numpy

sudo apt-get install ros-$release-ros-numpy

其中将$release换成自己的ros版本
如:

sudo apt-get install ros-melodic-ros-numpy

Conda

查看环境列表✨

conda env list

创建新环境,激活与退出

conda create --name myenv python=3.8
# 创建一个名为"myenv"的环境,并使用Python3.8

激活

conda activate 【环境名称】 # 激活环境
# source activate 【环境名称】  # 在Linux中使用source激活

关键字搜索✨

根据【文档内部分关键字】搜索

  • 普通搜索
grep -r 【关键字】 /path/to/somewhere/
  • 在指定后缀文件中搜索
    借助 –exclude 或者 –include 参数比如:

    • 仅在后缀为.c .h的文件内查找
    grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "【关键字】"
    
    • 仅在后缀不为.log的文件内查找
    grep --exclude=*.log -rnw '/path/to/somewhere/' -e "【关键字】"
    
  • 在指定文件夹中搜索
    借助 –exclude-dir 或者 –include-dir 参数比如:

    • 仅在名为test的文件夹内查找
    grep --include-dir={test, output} -rnw '/path/to/somewhere/' -e "【关键字】"
    
    • 仅在不为input的文件夹内查找
    grep --exclude-dir=input -rnw '/path/to/somewhere/' -e "【关键字】"
    

    -r 或者 -R 为递归查找, -n 是行号 -w 为要求全匹配. -l (小写L) 参数可以只列出文件名.
    参考Linux下遍历查找某的文件包含某个关键字的命令

根据【文件名】搜索

find /path -name 【关键字】 -type d,f #type可去除 

type选项选择文件名的种类

d: 文件夹
f: 文件
可用逗号间隔

仅在当前路径下搜索

要仅在当前路径搜索,而不进入子文件夹,可以使用-maxdepth选项来限制搜索的深度。将-maxdepth设置为1可以实现该功能。

模糊搜索

使用通配符匹配文件名的一部分。
在Ubuntu中,通配符*可以匹配任意字符,?可以匹配单个字符。

vim中的关键字搜索✨

: + / + 【关键字】

pip相关

pip下载【免换源版】✨

pip --default-timeout=1000 install 库名称 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

pip下载指定版本

pip install 库名称==版本名称

如果不知道版本,就先不打版本名称,pip会显示可选择版本

pip模糊搜索【已废弃】

pip search 【关键字】

现在已经无法使用
请在https://pypi.org/中查看。

创建虚拟环境✨✨

第一步:下载virtualenv

pip --default-timeout=1000 install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

第二步:创建及进入虚拟环境

virtualenv -p python3.8 NAME # 创建虚拟环境
source NAME/bin/activate # 进入该虚拟环境

其他:生成环境配置文件和按照配置文件下载

记得要在虚拟环境中使用

生成文件

pip freeze > requirements.txt # 列出环境中的所有包及其对应的版本。

导入配置

pip install -r requirements.txt  # 读取.txt文件并安装

杂项

虚拟机增加内存的两种方法

参考这篇博客

查看磁盘容量

df -hl
  • -h:以人类可读的格式显示磁盘空间使用情况。使用该选项后,磁盘空间的大小将以较为易读的方式显示,例如使用 KB、MB、GB 等单位来表示。
  • -l:只显示本地文件系统的磁盘空间使用情况。使用该选项后,df 命令将只显示本地文件系统(即不包括网络文件系统)的磁盘空间信息。

查看剩余内存

free -m

输入free -m命令时,它会列出系统中的内存统计信息,包括总内存、已使用内存、可用内存和缓存/缓冲区的内存等。
以下是 free -m 命令的常用选项和用法:

  • free -m:以 MB 为单位显示内存使用情况。
  • free -g:以 GB 为单位显示内存使用情况。
  • free -h:以人类可读的格式显示内存使用情况,自动选择合适的单位(如 KB、MB、GB)。
  • free -s <秒数>:连续显示内存使用情况,并每隔指定的秒数更新一次。

查看某文件大小

du -sh <文件路径>

-s选项表示只显示总和,-h选项表示以人类可读的方式显示文件大小。

显示实时更新文件【如跟踪日志】✨✨

输出到文件

要实时更新某个文件的输出内容,可以使用 tail -f 命令结合重定向符号 > 将输出内容写入到另一个文件中。这样,当原文件发生变化时,输出的文件也会实时更新。

tail -f 【要监视的文件】 > 【输出文件】

请注意,tail -f 命令会持续运行,直到你手动中断(如按下 Ctrl + C)。

输出在命令行✨✨

如果你想让 tail -f 命令直接在屏幕上实时显示文件的内容更新,而不是将其输出到文件中,你可以使用以下命令:

tail -f 【要监视的文件】

替换 【要监视的文件】 为你要实时监视的文件的路径和名称。执行这个命令后,终端会实时显示文件的最新内容,并随着文件的更新而更新。
请注意,tail -f 命令会持续运行,直到你手动中断(如按下 Ctrl + C)。

你可能感兴趣的:(SLAM,Ubuntu与ROS,:—,/,笔记,ubuntu,linux)