此篇文章专门记录本人所遇到的所有linux命令
杀死指定线程名称的线程
pkill -9 线程名称
查看当前文件夹大小
du -h --max-depth=0 最大深度为0
查看系统位数
getconf LONG_BIT
查看系统配置,包括位数等等
uname -a
查看物理内存和交换内存:
$free -h
查看隐藏文件
ls . 加tab键
安装 .deb结尾的文件
$sudo dpkg -i 文件名
sudo dpkg --purge 卸载 文件和配置
sudo dpkg -p 卸载 文件
sudo dpkg -i 安装 .根据经验,通常情况下会报依赖关系的错误,我们可以使用以下的命令修复安装。
sudo apt-get install -f
显示ROS中所有话题
$rostopic list
查看磁盘总量(包括内存,交换空间和硬盘)
$df -h
查看所有的进程
$ps -ef
查看执行的历史命令
$history
显示文件内容
$cat
实时监控内存使用情况
$htop (首先要安装htop:sudo apt-get install htop)
创建文件夹
$mkdir
创建文件
$touch
进程管理器
$gnome-system-monitor(首先要安装sudo apt-get install gnome-system-monitor)
将光标移动道命令行开头
$ctrl+a
将光标移动道命令行结尾
$ctrl+e
进入build文件夹下,清除以前编译产生的所有目标文件
$make clean 在运行ldconfig,再make可重新编译
编译文件
$make
从makefile中读取指令,并安装到指定的位置
$make install
对某个文件夹下的所有文件都可读写并可执行
$chmod -R 777 文件夹
管道符 ,命令1的实现作为命令2实现的基础,搜索出包含关键字的选项
$ |grep
罗列文件夹下的所有内容
$tree 文件夹
只想编译工作空间某一个包:
$ catkin_make -DCATKIN_WHITELIST_PACKAGES="包名"
例如:catkin_make -DCATKIN_WHITELIST_PACKAGES="beginner_tutorials" 不过这个会导致编译混乱,如果想要恢复对所有的软件包都编译
运行$catkin_make -DCATKIN_WHITELIST_PACKAGES=""
在ROS工作空间中创建ROS的包
$catkin_create_pkg 包名 roscpp std_msgs rospy
删除已安装的软件包(保留配置文件),不会删除依赖软件包,且保留配置文件。
$sudo apt-get remove 软件包
删除安装的软件包(不保留配置) 如软件包a,依赖软件包b,则执行该命令会删除a,而且不保留配置文件
$sudo apt-get --purge remove / apt-get remove 软件包
查看tf树
rosrun rqt_tf_tree rqt_tf_tree
可视化话题和节点
$rosrun rqt_graph rqt_graph
窗口的形式向话题上发布消息
rosrun rqt_publisher rqt_publisher
rostopic pub 发布数据给当前存在的话题;
用法:rostopic pub [topic] [msg_type] [args]
创建工作空间 $mkdir -p catkin_ws/src
执行linux命令并将结果保存到指定的文件中去,例如查看ROS所有话题并保存至 rostopic文件中
$ rostopic list > ~/data/rostopic
在终端输出话题的上的消息,例如输出/cmd_vel的消息
$rostopic echo /cmd_vel
查看串口通信的的数据
$sudo cutecom(首先要安装:$sudo apt-get install cutecom)
查询是否包含 “my_post” 关键字的进程
$ps aux | grep my_post
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for Linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
Windows使用Mobaterm远程登录linux系统
下载软件包Mobaterm.exe,安装。
点击session,点击ssh,设置目标Ip。
开机自启动ssh服务 :sudo systemctl enable ssh
说明:sudo 是提升权限,systemctl是服务管理器,enable 是systemctl的参数。表示启动开机自动运行,ssh是要设置的服务名称
2.ctrl+u ctrl+k 分别代表光标处往前和光标处往后删除
3.ctrl+a ctrl+e 分别代表把管标移动到最前和最后
linux之间 scp命令远程拷贝文件
从远程utry@192.168.1.102:/home/utry/catkin_ws/src/xiaoyuan_robot_v2 拷贝到本地 /home/utryjc
sudo scp -rp utry@192.168.1.102:/home/utry/catkin_ws/src/xiaoyuan_robot_v2 /home/utryjc
从本地拷贝到远程
scp /path/filename username@remoteIP:/path
- -B: 使用批处理模式(传输过程中不询问传输口令或短语)
- -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
- -p:保留原文件的修改时间,访问时间和访问权限。
- -q: 不显示传输进度条。
- -r: 递归复制整个目录。
- -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
- -l: 列出目录的详细的信息。
$ cat /proc/meminfo 查看linux系统内存大小的详细信息,可以查看总内存,剩余内存、可使用内存等信息。
$cat /proc/cpuinfo 查看linux系统的CPU型号、类型以及大小
$sudo fdisk -l |grep Disk 查看linux系统的硬盘
$sudo cheese 开启摄像头
$ cat a.txt >> b.txt 用cat命令想文件末尾追加内容
$ cat * > new_file //合并当前目录下的所有文件
$ paste file testfile testfile1 将文件"file"、"testfile"、"testfile1"进行合并,合并指定文件的内容
$pwd 打印当前工作目录环境变量 PWD是环境变量, pwd 是命令,在GNU系统(例如Ubuntu)上, pwd和echo $PWD是等效的
$pwd 打印当前/现在的工作目录环境变量 PWD是环境变量,而pwd是命令,在GNU系统(例如Ubuntu)上,pwd和echo $PWD是等效的
安装openssh-server sudo apt-get install openssh-server
通过命令确定消息类型
rostopic type + 话题名
通过命令查看基本数据组成
rosmsg show + 消息类型
rostopic pub 发布数据给当前存在的话题;
用法:
rostopic pub [topic] [msg_type] [args]
安装rosbridge用于ros系统与非ros系统通信的功能包
sudo apt-get install ros-kinetic-rosbridge-suite 用apt-get 安装的软件包都在/opt/ros/kinetic/share/文件夹下
在launch文件中;启动该包:<include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch" output="screen">
wstool src init 用wstool的方式创建一个src的文件夹,在这个文件夹下面有一个.rosinstall文件,用来写下载的地址
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
下载一个cartographer_ros.rosinstall 覆盖.rosinstall文件的内容
wstool update -t src 根据.rosinstall 下载文件到-R src
roslaunch pure_pursuit pursuit.launch & 加一个&让程序在后台运行
Ctrl + Alt +F1 linux下切换到终端登录界面
sudo apt install *** 安装sslocal 上外网
sslocal -c *** start 启动***
chown -R user:usergroup filename 修改文件的用户名和用户组
ssloal -c ***.json start linux 下开启代理FQ上网命令
sudo apt-get install libqt5sql5-mysql linu下qt对数据库的开发
安装./configure-> make->make install之后的默认安装路径 ./configure --help里面有个path,就是默认安装路径。
当目录路径和ROS_PACKAGE_PATH环境变量变化时,通常使用命令 rospack profile 来使得这个新的目录能够在ROS中被查找到
rospack profile
rospack find beginner_tutorials
roscd是ros系统中的命令,它可以直接切换到指定目录(ros系统中的软件包)
rosrun map_server map_server mymap.yaml。 主要就是为了加载pgm格式的地图,用yaml文件描述的同时发布map_metadata和map话题,以及static_map服务
实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口(安装命令:yum -y install nmap-ncat)
从192.168.2.33拷贝文件到192.168.2.34
在192.168.2.34上: nc -l 8000 > test.txt 开启一个本地8000的TCP端口,用来接收文件内容
在192.168.2.33上: nc 192.168.2.34 8000 < test.txt
nc -vw 192.168.21.248 11111 通过nc去访问192.168.21.248主机的11111端口,确认是否存活;可不加参数
清理 the build, devel, and install spaces (if they exist): catkin clean
显示所有已经连接过的网络信息
nmcli c
连接之前连接过的网络
nmcli c up 上面命令显示的网络信息号
浙公网安备 33010602011771号