ubuntu18.04常⽤命令1、搭建NFS服务器
1.1、服务端
安装必备包
sudo apt-get install nfs-kernel-server
创建要共享的⽬录⽂件夹
sudo mkdir -p mnt
编辑配置⽂件
添加NFS共享⽬录
sudo nano /etc/exports
/home/jetson/catkin_ws  *(rw,sync,no_root_squash)
②给挂载的⽬录设置权限以及修改⽂件⽤户
sudo chmod -R 777 /home/jetson/catkin_ws
sudo chown -R 777 /home/jetson/catkin_ws
启动服务
sudo /etc/init.d/nfs-kernel-server start
sudo /etc/init.d/nfs-kernel-server restart
1.2、客户端
安装nfs-utils和portma包
sudo apt-get install nfs-common portmap
创建⼀个提供挂载的⽬录
sudo mkdir /mnt/mount_nfs
挂载
sudo mount -t nfs 192.168.2.81:/home/jetson/catkin_ws /mnt
1.3、开机启动
制作脚本
cd /home/jetson
nano nfs.sh
在nfs.sh⽂件中输⼊以下内容:
#!/bin/sh
sudo mount -t nfs 192.168.2.81:/home/jetson/catkin_ws /mnt
给脚本添加执⾏权限
sudo chmod 777 nfs.sh
测试脚本功能
.
/nfs.sh
将脚本⽂件写⼊rc.local⽂件中
sudo nano /etc/rc.local
在末尾添加
#!/bin/bash
/home/jetson/software/nfs.sh
2、安装Anacondadixie chicks
sudo touch .condarc
sudo chmod 777 .condarc
sudo vim .condarc
在C:\Users\asus⽬录下创建.condarc⽂件,⽂本⽂档打开添加
auto_activate_base: false
channels:
- defaults
为什么说杨幂是臭脚show_channel_urls: true
channel_alias: mirrors.tuna.tsinghua.edu/anaconda
default_channels:
- mirrors.tuna.tsinghua.edu/anaconda/pkgs/main
- mirrors.tuna.tsinghua.edu/anaconda/pkgs/free
- mirrors.tuna.tsinghua.edu/anaconda/pkgs/r
custom_channels:
conda-forge: mirrors.tuna.tsinghua.edu/anaconda/cloud
msys2: mirrors.tuna.tsinghua.edu/anaconda/cloud
bioconda: mirrors.tuna.tsinghua.edu/anaconda/cloud
menpo: mirrors.tuna.tsinghua.edu/anaconda/cloud
pytorch: mirrors.tuna.tsinghua.edu/anaconda/cloud
simpleitk: mirrors.tuna.tsinghua.edu/anaconda/cloud
ssl_verify: true
解决与ros的python环境冲突,修改~/.condarc⽂件, 在⽂件中添加:auto_activate_base: false
开启服务
python3 -m http.server 8080
浏览器
localhost:8080
3、Ubuntu下使⽤git
3.1、上传github仓库
# 安装Git,使⽤命令
sudo apt-get install git
# 初始化
git init
# 创建忽略⽂件
touch .gitignore
sudo gedit .gitignore
git status
git add .
git commit -m "第⼀次:初始化程序"
3.2、本地仓库的⽂件和远程仓库的⽂件同时删除
先删除本地仓库的⽂件,后执⾏命令
git add * //把本地仓库的⽂件上传到缓存
git commit -m "del" //把第⼀步上传到缓存的东西上传到本地仓库,其中'del'是操作标识,内容随便填,⽅便⽤户观看。
git push origin master //把本地仓库的⽂件上传到远程仓库。
3.3、只删除远程仓库,不删除本地仓库
git pull origin master //将远程仓库⾥⾯的项⽬拉下来。
dir //查看有哪些⽂件夹
git rm -r --cached target //删除你要删除的⽂件夹名称,这⾥是删除target⽂件夹(不会把本地的⽂件夹删除)
git commit -m "删除target" //提交,添加操作说明
git push -u origin master //重新提交
4、问题汇总
4.1、/etc/udev/rules.d/ 中的规则⽂件语法
== 作⽤是条件匹配,= 作⽤是条件匹配成功后赋值,KERNEL 代表设备名,SUBSYSTEM 代表设备所在⼦系统名KERNEL=="ttyTHS1", SUBSYSTEM=="tty", GROUP="users", MODE="0666"
4.2、NO_PUBKEY:F42ED6FBAB17C654
sudo apt-key adv --keyserver keyserver.ubuntu --recv-keys F42ED6FBAB17C654
4.3、pip异常:'setuptools_scm"错误
下载补丁setuptools_scm-3.0.6-py2.py3-none-any.whl
pip install setuptools_scm-3.0.6-py2.py3-none-any.whl
4.4、grub启动菜单字体改⼤
sudo gedit /etc/default/grub
#GRUB_GFXMODE=640x480
改成
GRUB_GFXMODE=1920x1080
然后 sudo update-grub
4.5、CMake can’t find yaml-cpp on debian jessie
<depend>yaml-cpp</depend>
<
find_package(PkgConfig REQUIRED)
pkg_check_modules(YAML_CPP REQUIRED yaml-cpp)
include_directories(${YAML_CPP_INCLUDEDIR})
4.6、报错 module ‘skimage‘ has no attribute ‘io‘
使⽤pip或conda安装:
pip install scikit-image
conda install scikit-image
若已经正确安装,则原因应该是io是⼦模块,应该:
from skimage import io
4.7、ImportError: (PyInit__tf2)
sudo apt install python3-catkin-pkg-modules python3-rospkg-modules python3-empy ros-melodic-geometry2 5、常⽤命令
5.1、调试
键盘控制
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
dynamic reconfigure
rosrun rqt_reconfigure rqt_reconfigure
rqt_plot
rqt_plot
查看图像
rqt_image_view
查看tf树
rosrun rqt_tf_tree rqt_tf_tree
徐熙媛个人资料查看节点图
rqt_graph
删除gazebo进程
killall gzclient gzserver
删除roscore进程
killall roscore rosmaster
ros 杀掉所有节点
岁月的风铃
rosnode kill -a
rosnode kill --all
导航停⽌命令
rostopic pub /move_base/cancel actionlib_msgs/GoalID -- {}美人吟 李玲玉
单独编译某个功能包
catkin_make -j4 -l4
catkin_make -DCATKIN_WHITELIST_PACKAGES="world_canvas_msgs" catkin_make -DCATKIN_WHITELIST_PACKAGES="" -j4 -l4
5.2、查看深度图topic编码
rostopic echo /camera/depth/image_raw/encoding
rostopic echo /camera/rgb/image_raw/encoding
5.3、获取当前路径
import sys,os
print sys.argv[0] #获取当前⽂件路径
wd() #获取当前⼯作⽬录路径
print wd()) #获取当前⼯作⽬录路径
运动员入场进行曲print os.path.abspath('.') #获取当前⼯作⽬录路径
print os.path.abspath('') #获取当前⽬录⽂件下的⼯作⽬录路径print os.path.abspath('..') #获取当前⼯作的⽗⽬录!注意是⽗⽬录路径print os.path.abspath(os.curdir) #获取当前⼯作⽬录路径