<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on 红石的个人博客</title><link>https://qwqdhs.com/tags/linux/</link><description>Recent content from 红石的个人博客</description><generator>Hugo</generator><language>zh-cn</language><managingEditor>qwqdhs@outlook.com (qwq的红石/屿寻sama)</managingEditor><webMaster>qwqdhs@outlook.com (qwq的红石/屿寻sama)</webMaster><copyright>本博客所有文章除特别声明外，均采用 BY-NC-SA 许可协议。转载请注明出处！</copyright><lastBuildDate>Tue, 25 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://qwqdhs.com/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>一些常用的ubuntu命令</title><link>https://qwqdhs.com/posts/linux-ubuntu/</link><pubDate>Tue, 25 Aug 2026 00:00:00 +0000</pubDate><author>qwqdhs@outlook.com (qwq的红石/屿寻sama)</author><guid>https://qwqdhs.com/posts/linux-ubuntu/</guid><description>
<![CDATA[<h1>一些常用的ubuntu命令</h1><p>作者：qwq的红石/屿寻sama（qwqdhs@outlook.com）</p>
        
          <h1 id="一些常用的ubuntu命令对于我来说">
<a class="header-anchor" href="#%e4%b8%80%e4%ba%9b%e5%b8%b8%e7%94%a8%e7%9a%84ubuntu%e5%91%bd%e4%bb%a4%e5%af%b9%e4%ba%8e%e6%88%91%e6%9d%a5%e8%af%b4"></a>
一些常用的ubuntu命令（对于我来说）
</h1><h2 id="注意事项以及一些提示">
<a class="header-anchor" href="#%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a1%b9%e4%bb%a5%e5%8f%8a%e4%b8%80%e4%ba%9b%e6%8f%90%e7%a4%ba"></a>
注意事项以及一些提示
</h2><ul>
<li>大小写敏感：<code>ls</code> 和 <code>Ls</code> 不同，文件名也同样区分大小写</li>
<li><code>Tab</code> 自动补全：输入命令或路径时按 <code>Tab</code> 可自动补全，减少输入错误</li>
<li><code>sudo</code> 提权：以 <code>sudo</code> 开头的命令表示使用管理员（root）权限，需要输入密码，输入过程中密码不会显示</li>
<li>获取帮助：大多数命令支持 <code>--help</code>（如 <code>ls --help</code>）</li>
</ul>
<hr>
<h2 id="1-文件和目录操作">
<a class="header-anchor" href="#1-%e6%96%87%e4%bb%b6%e5%92%8c%e7%9b%ae%e5%bd%95%e6%93%8d%e4%bd%9c"></a>
1. 文件和目录操作
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
					<th style="text-align: left">示例</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>pwd</code></td>
					<td style="text-align: left">显示当前工作目录的绝对路径</td>
					<td style="text-align: left"><code>pwd</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>ls</code></td>
					<td style="text-align: left">列出目录内容</td>
					<td style="text-align: left"><code>ls -l</code>（详细信息）<br><code>ls -a</code>（显示隐藏文件）</td>
			</tr>
			<tr>
					<td style="text-align: left"><code>cd</code></td>
					<td style="text-align: left">切换目录</td>
					<td style="text-align: left"><code>cd /home</code><br><code>cd ..</code>（上级目录）<br><code>cd ~</code>（用户主目录）</td>
			</tr>
			<tr>
					<td style="text-align: left"><code>mkdir</code></td>
					<td style="text-align: left">创建新目录</td>
					<td style="text-align: left"><code>mkdir folder</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>touch</code></td>
					<td style="text-align: left">创建空文件或更新文件时间戳</td>
					<td style="text-align: left"><code>touch file.txt</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>cp</code></td>
					<td style="text-align: left">复制文件或目录</td>
					<td style="text-align: left"><code>cp file1 file2</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>mv</code></td>
					<td style="text-align: left">移动或重命名文件/目录</td>
					<td style="text-align: left"><code>mv old.txt new.txt</code>（重命名）<br><code>mv file.txt /target</code>（移动）</td>
			</tr>
			<tr>
					<td style="text-align: left"><code>rm</code></td>
					<td style="text-align: left">删除文件或目录</td>
					<td style="text-align: left"><code>rm 路径或文件名</code></td>
			</tr>
	</tbody>
</table>

  <blockquote class="alert-blockquote warning">
    <p class="alert-heading">
      Warning
    </p>
    <p><p>删之前千万要三思啊，删除后东西的不可恢复|</p></p>
  </blockquote>

<hr>
<h2 id="2-文件内容查看与编辑">
<a class="header-anchor" href="#2-%e6%96%87%e4%bb%b6%e5%86%85%e5%ae%b9%e6%9f%a5%e7%9c%8b%e4%b8%8e%e7%bc%96%e8%be%91"></a>
2. 文件内容查看与编辑
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
					<th style="text-align: left">示例</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>vim</code></td>
					<td style="text-align: left">终端文本编辑器</td>
					<td style="text-align: left"><code>nano file.txt</code><br><code>vim file.txt</code>（:i在光标前插入，:x保存并推出，:q直接退出）</td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="3-软件包管理apt">
<a class="header-anchor" href="#3-%e8%bd%af%e4%bb%b6%e5%8c%85%e7%ae%a1%e7%90%86apt"></a>
3. 软件包管理（APT）
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>sudo apt update</code></td>
					<td style="text-align: left">更新软件源列表</td>
			</tr>
			<tr>
					<td style="text-align: left"><code>sudo apt upgrade</code></td>
					<td style="text-align: left">升级所有已安装的软件包</td>
			</tr>
			<tr>
					<td style="text-align: left"><code>sudo apt install &lt;软件名&gt;</code></td>
					<td style="text-align: left">安装指定软件</td>
			</tr>
			<tr>
					<td style="text-align: left"><code>sudo apt remove &lt;软件名&gt;</code></td>
					<td style="text-align: left">卸载软件（保留配置文件）</td>
			</tr>
			<tr>
					<td style="text-align: left"><code>sudo apt purge &lt;软件名&gt;</code></td>
					<td style="text-align: left">彻底卸载（删除配置文件）</td>
			</tr>
	</tbody>
</table>
<h2 id="4-用户与权限管理">
<a class="header-anchor" href="#4-%e7%94%a8%e6%88%b7%e4%b8%8e%e6%9d%83%e9%99%90%e7%ae%a1%e7%90%86"></a>
4. 用户与权限管理
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
					<th style="text-align: left">示例</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>whoami</code></td>
					<td style="text-align: left">显示当前登录的用户名</td>
					<td style="text-align: left"><code>whoami</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>sudo</code></td>
					<td style="text-align: left">以管理员身份执行命令</td>
					<td style="text-align: left"><code>sudo 命令</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>chmod</code></td>
					<td style="text-align: left">修改文件或目录的权限</td>
					<td style="text-align: left"><code>chmod +x script.sh</code>（添加执行权限</td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="5-网络相关">
<a class="header-anchor" href="#5-%e7%bd%91%e7%bb%9c%e7%9b%b8%e5%85%b3"></a>
5. 网络相关
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
					<th style="text-align: left">示例</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>ping</code></td>
					<td style="text-align: left">测试网络连通性与延迟</td>
					<td style="text-align: left"><code>ping baidu.com</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>ifconfig </code></td>
					<td style="text-align: left">显示或配置网络接口</td>
					<td style="text-align: left"><code>ifconfig</code></td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="6-压缩与解压">
<a class="header-anchor" href="#6-%e5%8e%8b%e7%bc%a9%e4%b8%8e%e8%a7%a3%e5%8e%8b"></a>
6. 压缩与解压
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
					<th style="text-align: left">示例</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>unzip</code></td>
					<td style="text-align: left">解压 <code>.zip</code> 文件</td>
					<td style="text-align: left"><code>unzip file.zip -d target_folder</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>zip</code></td>
					<td style="text-align: left">压缩为 <code>.zip</code> 格式（需安装）</td>
					<td style="text-align: left"><code>zip -r archive.zip folder/</code></td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="7串口查询">
<a class="header-anchor" href="#7%e4%b8%b2%e5%8f%a3%e6%9f%a5%e8%af%a2"></a>
7.串口查询
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
					<th style="text-align: left">示例</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>v4l2-ctl --list-devices</code></td>
					<td style="text-align: left">列出系统上所有兼容<code>V4L2</code>的<code>视频</code>设备。</td>
					<td style="text-align: left"><code>v4l2-ctl --list-devices</code></td>
			</tr>
			<tr>
					<td style="text-align: left">`ls tty/dev/USB*</td>
					<td style="text-align: left">查询所有<code>USB</code>设备串口号</td>
					<td style="text-align: left"><code>ls tty/dev/USB*</code></td>
			</tr>
	</tbody>
</table>
<hr>
<h2 id="8查看和管理后台任务使用ssh连接时要运行多个任务的解决办法">
<a class="header-anchor" href="#8%e6%9f%a5%e7%9c%8b%e5%92%8c%e7%ae%a1%e7%90%86%e5%90%8e%e5%8f%b0%e4%bb%bb%e5%8a%a1%e4%bd%bf%e7%94%a8ssh%e8%bf%9e%e6%8e%a5%e6%97%b6%e8%a6%81%e8%bf%90%e8%a1%8c%e5%a4%9a%e4%b8%aa%e4%bb%bb%e5%8a%a1%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95"></a>
8.查看和管理后台任务（使用ssh连接时要运行多个任务的解决办法）
</h2><table>
	<thead>
			<tr>
					<th style="text-align: left">命令</th>
					<th style="text-align: left">功能</th>
					<th style="text-align: left">示例</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left"><code>jobs</code></td>
					<td style="text-align: left">查询后台正在运行的任务以及任务号</td>
					<td style="text-align: left"><code>jobs</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>fg</code></td>
					<td style="text-align: left">将后台任务放到前台</td>
					<td style="text-align: left"><code>fg %1</code></td>
			</tr>
			<tr>
					<td style="text-align: left"><code>bg</code></td>
					<td style="text-align: left">将前台任务放到后台</td>
					<td style="text-align: left"><code>bg %1</code></td>
			</tr>
	</tbody>
</table>

  <blockquote class="alert-blockquote note">
    <p class="alert-heading">
      Note
    </p>
        
        <hr><p>本文2026-08-25首发于<a href='https://qwqdhs.com/'>红石的个人博客</a>，最后修改于2026-08-25</p>]]></description><category>技术</category></item><item><title>Cartographer建图与nav2导航启动命令流程</title><link>https://qwqdhs.com/posts/slam/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><author>qwqdhs@outlook.com (qwq的红石/屿寻sama)</author><guid>https://qwqdhs.com/posts/slam/</guid><description>
<![CDATA[<h1>Cartographer建图与nav2导航启动命令流程</h1><p>作者：qwq的红石/屿寻sama（qwqdhs@outlook.com）</p>
        
          <h1 id="命令">
<a class="header-anchor" href="#%e5%91%bd%e4%bb%a4"></a>
命令
</h1><p>1.cd /home/ysc/Desktop/rader</p>
<p>2../LiaderLauch.sh</p>
<p>2../ImuLauch.sh</p>
<p>3.ros2 run robot_state_publisher robot_state_publisher ~/robot.urdf</p>
<p>4.ros2 run cartographer_ros cartographer_node <br>
-configuration_directory ~/cartographer_config \
-configuration_basename imu_as_tracking.lua <br>
&ndash;ros-args -r scan:=/scan -r imu:=/imu/data_raw</p>
<p>6.ros2 run cartographer_ros occupancy_grid_node -resolution 0.05</p>
<p>7.rviz2</p>
<p>8.ros2 run nav2_map_server map_saver_cli -f ~/my_new_map</p>
<p>9.ros2 launch nav2_bringup navigation_launch.py map:=/path/to/your_map.yaml use_sim_time:=False</p>
<p>10.ros2 launch rosbridge_server rosbridge_websocket_launch.xml</p>
<h3 id="保存播放路径">
<a class="header-anchor" href="#%e4%bf%9d%e5%ad%98%e6%92%ad%e6%94%be%e8%b7%af%e5%be%84"></a>
保存/播放路径
</h3><p>1.ros2 bag record /cmd_vel -o path_name</p>
<p>2.ros2 bag play a_to_b_path_0.db3</p>
<h2 id="命令作用与说明">
<a class="header-anchor" href="#%e5%91%bd%e4%bb%a4%e4%bd%9c%e7%94%a8%e4%b8%8e%e8%af%b4%e6%98%8e"></a>
命令作用与说明
</h2><table>
	<thead>
			<tr>
					<th>命令</th>
					<th>作用</th>
					<th>备注</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>cd /home/ysc/Desktop/rader</td>
					<td>切路径</td>
					<td>没什么好说的</td>
			</tr>
			<tr>
					<td>./LiaderLauch.sh</td>
					<td>启动雷达</td>
					<td>启动雷达驱动的脚本</td>
			</tr>
			<tr>
					<td>./ImuLauch.sh</td>
					<td>启动IMU</td>
					<td>启动IMU驱动的脚本</td>
			</tr>
			<tr>
					<td>ros2 run robot_state_publisher robot_state_publisher ~/robot.urdf</td>
					<td>修正雷达朝向以统一建图与导航坐标系</td>
					<td>通过解析 URDF 模型，将各连杆间的固定关节刚性变换以 tf2_msgs/TFMessage 形式持续广播至 /tf_static 话题，为Cartographer与Nav2栈提供传感器相对于 base_link 的精准外参声明，从而从 TF 树层面统一建图与导航的位姿基准</td>
			</tr>
			<tr>
					<td>ros2 run cartographer_ros cartographer_node （后面省略）</td>
					<td>启动Cartographer建图节点</td>
					<td>启动建图</td>
			</tr>
			<tr>
					<td>ros2 run cartographer_ros occupancy_grid_node -resolution 0.05</td>
					<td>数据转换</td>
					<td>将 Cartographer 的实时建图数据转换为 0.05 米分辨率的栅格地图，用于 RViz 可视化及 Nav2 路径规划。</td>
			</tr>
			<tr>
					<td>rviz2</td>
					<td>可视化</td>
					<td>无</td>
			</tr>
			<tr>
					<td>ros2 run nav2_map_server map_saver_cli -f ~/my_new_map</td>
					<td>保存地图</td>
					<td>将建图完成后的内容保存</td>
			</tr>
			<tr>
					<td>ros2 launch nav2_bringup navigation_launch.py map:=/path/to/your_map.yaml use_sim_time:=False</td>
					<td>加载地图，并启动Nav2的导航栈</td>
					<td>其中 use_sim_time:=False 表示使用硬件真实时间（实车模式）</td>
			</tr>
			<tr>
					<td>ros2 launch rosbridge_server rosbridge_websocket_launch.xml</td>
					<td>启动 ROS2 WebSocket 通信服务</td>
					<td>在软件上进行控制</td>
			</tr>
			<tr>
					<td>ros2 bag record /cmd_vel -o path_name</td>
					<td>保存路径</td>
					<td>path_name是文件名</td>
			</tr>
			<tr>
					<td>ros2 bag play path_name.db3</td>
					<td>播放路径</td>
					<td>没什么好说的</td>
			</tr>
	</tbody>
</table>
<h1 id="文件路径以及文件说明">
<a class="header-anchor" href="#%e6%96%87%e4%bb%b6%e8%b7%af%e5%be%84%e4%bb%a5%e5%8f%8a%e6%96%87%e4%bb%b6%e8%af%b4%e6%98%8e"></a>
文件路径以及文件说明
</h1><h3 id="homeyscdesktoprader">
<a class="header-anchor" href="#homeyscdesktoprader"></a>
/home/ysc/Desktop/rader:
</h3><ul>
<li><strong>kill.sh</strong>  –杀掉所有建图/路径规划进程</li>
<li><strong>ImuLauch.sh</strong></li>
<li><strong>LidarLauch.sh</strong></li>
</ul>
<h3 id="home">
<a class="header-anchor" href="#home"></a>
/home/:
</h3><ul>
<li><strong>robot.urdf</strong>  -URDF模型(配置)</li>
</ul>
<h3 id="homecartographer_config">
<a class="header-anchor" href="#homecartographer_config"></a>
/home/cartographer_config
</h3><ul>
<li><strong>Cartographer节点配置文件</strong></li>
</ul>
<h1 id="后续纯定位模式加载复用">
<a class="header-anchor" href="#%e5%90%8e%e7%bb%ad%e7%ba%af%e5%ae%9a%e4%bd%8d%e6%a8%a1%e5%bc%8f%e5%8a%a0%e8%bd%bd%e5%a4%8d%e7%94%a8"></a>
后续纯定位模式加载复用
</h1><p>结束当前建图轨迹，锁定数据：</p>
        
        <hr><p>本文2026-07-21首发于<a href='https://qwqdhs.com/'>红石的个人博客</a>，最后修改于2026-07-21</p>]]></description><category>技术</category></item></channel></rss>