此篇文章专门记录本人所遇到的所有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是要设置的服务名称

 

 
将PCD文件稀释点云成另一个PCD文件
pcl_voxel_grid     原PCD文件名 现在的PCD文件名 -leaf 0.1 0.1 0.1 
重启网络服务 service network restart
 
 

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)上,pwdecho $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 上面命令显示的网络信息号      

posted @ 2019-07-16 17:16  jcson  阅读(323)  评论(0)    收藏  举报