Linux_提高效率的快捷操作

history & fc

linux历史机制对命令行中输入的命令进行编号并依此保存,以维护命令历史。
    登录会话期间输入的命令保存在shell内存中,若终止命令则添加至历史文件
历史命令缓冲区
   -a:将缓存在内存的历史命令写入历史命令文件中【~/.bash_history】
   -c:清空当前内存里的历史命令;

有三种方式可以再次执行历史记录的命令:
    第一个方式是:!数字
    第二个方式是: ctrl+r 快捷键从小往上搜索,右方向键确定
    第三个方式是: !字符串
	
 快捷键 ctrl+r	  
    reverse-search-history (Ctrl + R) 多次按下 Ctrl + R 组合键,可以继续向前搜索匹配命令
	 按下 -> 键,退出搜索状态/交互模式
 
历史命令
   用户层次 : 用户家目录下的".bash_history"文件中

 用户层次的配置文件  "~/.bash_profile"文件
 系统层面的配置文件设置 /etc/profile环境变量文件中进行设置	   

VIM常见操作

 view == cat
 按下“Esc”键来切换到命令模式
查找
   /pattern 向后搜索字符串pattern
   ?pattern 向前搜索字符串pattern	
替换
 :%s/old/new/g 搜索整个文件,将所有的old替换为new
 :%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

退出
 :w  :wq
 :q  :q!

跳转
:100
:$

删除 移动 复制	
.(当前行) $(文件中的最后一行) %(所有行)
语法::[begin],[end]d
  指定要删除的行数  :3dd
:10,45d  - 从第 10 行删除到第 45 行
:.,$d    - 从当前行删除到最后一行
:.,1d    - 从当前行删除到文件开头 
:%d	     - 删除所有行

删除与特定模式匹配的行 !- 反向匹配
   :g/PATTERN/d
   :g!/PATTERN/d
   除所有空行 :g/^$/d
     ^$模式表示任何以换行符开头的行,本质上是一个空行
  

缓冲区类型及其标志(:ls或者:ls!命令查看)
   缓冲区编号和缓冲区属性

从Ros中解析出图片

有两种方式,各有利弊
from rosbags.image import message_to_cvimage
from cv_bridge import CvBridge
def prediction(msg):
    bridge = CvBridge()
    img = bridge.imgmsg_to_cv2(msg, "bgr8")	
def prediction(msg):
    img =message_to_cvimage(msg, "bgr8")	
	
01.说明--rosbags-image	和python版本有关,低于某个版本是安装不了

02.从源代码构建cv_bridge
在sys.path.remove语句下放置cv_bridge的import语句。
import sys
sys.path.remove('/opt/ros/melodic/lib/python2.7/dist-packages')
from cv_bridge import CvBridge

https://github.com/ros-perception/vision_opencv/tree/melodic

 OpenCV 版本号,可以在命令行中使用以下命令:
  pkg-config --modversion opencv

源码安装cv_bridge

 sudo apt-get install  python3-dev python3-numpy python3-yaml ros-melodic-cv-bridge python3-rospkg-modules
 pip3 install pip --update
 pip3 install rosdep rosinstall catkin_pkg

 (1)初始化cv_bridge_ws编译工作空间
 mkdir -p cv_bridge_ws/src && cd cv_bridge_ws/src
 catkin_init_workspace

 (2)将cv_bridge源码拉取到本地
 git clone https://github.com/ros-perception/vision_opencv.git

 (3)编译cv_bridge
 cd ../
 catkin_make install -DPYTHON_EXECUTABLE=/usr/bin/python3
 
使用:
   source devel/setup.bash --extend	
   
在~/.bashrc里面加入source,每次启动终端自动source安装cv_bridge的工作空间

下面介绍一下方法2的操作
用自己编译的cv_bridge替换ros安装自带的cv_bridge
  可能会导致ROS自带的一些调用cv_bridge的python包(如camera_calibration)无法正常使用,操作前需谨慎
  删除/opt,/opt/ros/melodic/lib/python2.7/dist-packages下的cv_bridge
  在cv_bridge文件夹中用如下指令编译安装(不需要catkin)即可
posted @ 2023-05-24 15:44  辰令  阅读(16)  评论(0编辑  收藏  举报