这部分是ubuntu常用的快捷方式:
alt+tab切换窗口
Ctrl+alt +T 打开终端、
Ctrl + Alt + L: 锁屏,如果你想走开一会而不想让别人看到你的屏幕
Ctrl + Shift + N: 创建新文件夹
Win+E: 显示所有的工作空间,可轻松进行切换
尝试了半天这才进到一个目录里面
这部分是终端的命令
cd 是进入一个目录
mkdir 是建立一个目录
rmdir 删除一个目录
clear 是清除屏幕
Ubuntu 12.04 无法应用原保存显示器配置
解决方法:删除/home/用户名/.config/monitors.xml,重启电脑即可。(.config是隐藏文件夹)
一起做SLAM
这个地方说明我的OPENcv已经成功安装了
编译问题1
这个地方是因为进入的目录的问题,一定要用cd,进入指定的目录里面 才能正确的cmake ..
到这里才能说明cmake安装好
PCL不用编译,直接输入三条命令就安装好了
这样才算安装完成
安装之后上不了网解决方案:
我自己是改了这3个地方然后就可以上网了
Ubuntu14.04 :http://blog.exbot.net/archives/1206
特别注意:安装后不能上网的,运行以下命令:sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
2015.06.01 不能挂载U盘的,试试以下命令:sudo apt-get install exfat-utils
先把PCL安装好,
三条命令最后额效果是:
向虚拟机中安装VMwaretool
http://jingyan.baidu.com/article/1974b289b813dcf4b1f77411.html
目前找到的解决方案:
http://www.linuxidc.com/Linux/2014-05/101545.htm
上面这个方案大家可以参考
但是在我实际的安装过程中,没有那个压缩文件,我是直接百度了一个VMwaretools的tar.gz的压缩文件
http://download.youkuaiyun.com/detail/jiaoxiaogu/7309181
然后剩下的步骤
参考这个人的博客,就出来了
http://blog.youkuaiyun.com/democreen/article/details/6339172
在论文方面,参考:
http://blog.sina.com.cn/s/blog_14552795a0102vylp.html
然后参考古月的博客安装OPENNI
然后运行高博的程序,在一起做RGB-Dslam中第5步的时候,用了
主要就是这里应该匹配起来
然后目前在两个地方都卡住了,等等吧,顺便自己赶紧学一些关于ROS 的命令、
、
VMware 扩容记录:
http://blog.youkuaiyun.com/openrd/article/details/51405884
参考这个人的博客,又详细又好
最后扩容成功,截个图
2016/11/13
[Linux达人养成计划]:
查询目录中的内容
- pwd 显示当前的家目录 ll 命令也 是 ls -l 命令的别名
- clear 清除终端
解释:
linux能够识别的文件类型有7种
- 表示文件;d表示目录;l表示软链接
还有块设备文件,字符设备文件,套接字文件和管道文件(他们都是系统额特殊文件,一般不用普通用户进行操作)
-rw-r–r–
r 代表读 w代表写 x代表执行
- 第一位:- 表示文件类型:(- 表示文件;d表示目录;l表示软链接)
- 第2-4为一组(每3位为一组)表示超级用户 ,rw-:对文件拥有读,写的权限
- 第5-6为一组 表示一个 所属组用户,r–:表示所属组用户对文件有只读的权限
- 第7-9为一组 表示其他人,r–:表示其他人对文件有只读权限
这里的第一框的数字表示引用计数
第二个框表示这个文件的所有人
第三个框表示所属组
第四个框表示的字节(也可以用 ls -lh) h表示人性化显示
第五个框,表示这个问题件最后一期修改时间
最后一个框是文件名
在linux 当中 .开头的文件是隐藏文件
查看文件的 ID 号
目录处理命令
建立目录
mkdir
用mkdir -p 来创建多级目录
切换目录
cd ~ 进入当前用户的家目录 也可以用 cd 直接回到家目录
cd - 进入上次目录
cd ..进入上级目录
cd . 进入当前目录
Ctrl + L 清屏
cd ../usr/local/src 前面这个两个点点,表示的相对路径
没有.. 表示的绝对路径
在 linux 中 按Tab键进行补全 cd / 然后按2下Tab键
查询当前所在的位置
pwd
删除空白目录
rmdir (只能删除空白目录)
删除文件
rm -rf [文件名]
删了可能就什么都没有了,一定要小心
复制文件
复制文件用cp
直接输入cp 时复制一个文件啊
剪切命令,以及改名命令
mv 原始文件 目标文件的目录
linux 是一个严谨的操作系统,你不应该在随便在那个目录下随便做练习只可以在home 和tmp 目录中操作
链接命令
这个软链接和硬链接我是没有听懂,如果遇到的问题的话,再来听吧
文件搜索命令
文件搜素命令-locate 命令
特点:搜索快
用法:locate 文件名
但是这个数据库是一天一更新,我们可以使用updatedb来让这个数据库进行更新
linux 是不区分扩展名的
///这个第4章暂时就不听了,因为用到文件说明命令机会也比较少
帮助命令
在linux中认为,man是无所不能的
这样可以快速的检索出你需要的选项
查看命令的帮助级别:
查看man -f ls 的命令级别:
其他帮助命令
shell 是linux的命令解释器
linux压缩命令
1、linux的压缩种类:
解压缩:
用.gz文件的特点:如果用压缩完原来的文件会消失
然后在那个已经生成 .tar 文件进行 .zip 压缩 就可以生成 .tar.gz 文件,同样在进行解压的时候先去解压.zip文件,然后再对 .tar 文件近些解压缩 就可以还原出原文件
当然也可以直接压缩:
关机命令
挂载命令
U盘的使用必须要挂载
挂载命令的格式:
chmod 赋予执行权限
查看当前的命令权限:
在linux中解挂光盘,按光盘的弹出键是没有任何反应的
光盘用完之后一定要进行卸载命令
挂载u盘
LInux达人养成计划2
VI编辑器
VI Visual Interface 可视化接口 相当于windows 中的记事本
VIM是对VI 编辑器的升级
VIM可以按U来撤销
//vim abc 来创建一个vim 编辑器
这个界面上是命令窗口,只有输入 i 才可以对文件进行编辑。
然后写完以后按esc 进行退出
然后输入 :wq 然后按回车 对文件进行保存并且退出
再使用cat abc 命令可以查看这个文件
连续按两下dd 就是删除行
退出文件用命命令:
:q !
vim + abc 相当于打开文件以后,吧文件定位在最后一行
vim +3 abc 相当于打开文件以后,吧文件定位在第3行
vim +/boy abc 相当于打开文件,会把定位在abc文件中,boy这个单词第一次出现的地方 然后按字母n可以在这个文件中boy 出现的位置来回切换
vim aa bb 可以一次性创建aa bb 两个文件,然后
```

如果想要切换到bb 这个文件的话,在底面输入
: n 或者 输入 :prev 表示切换到后一个文件
: N 表示切换到前一个文件
: ls 列出当前编辑器中打开的所有文件

: 15 表示将将光标快速的定位到第15行
/ xxx 就是搜索 xxx的所在位置
?xxx 就是从光标位置向前搜索,找到第一个xxx 的位置
命令模式下的常用命令
h 光标左移动
j 光标下移
k 光标上移
i 光标右移
“`
vim 指令图:
linux C 语言编程基本原理和实践
更新一个命令用:sudo apt-get update
安装vim sudo apt-get install vim
显示版本问题:cc -v 可以显示出gcc 编译器的版本
gcc编译器只能编写C文件,不能编写Cpp 文件
然后执行a.out 相当于 .exe 文件
在vm 输入 ;sp 【头文件或者.cpp 文件】可以用来产生
先按ESC进入命令格式
就跳转到下面的那个对话框
:set nu 可以打开行号
在vim 中如何剪贴代码
现将光标移到函数哪一行,然后按 [行号] + dd
然后是ctrl + w + 向上箭头
将光标移动到上面,然后然后 在命令行按p 进行粘贴
:wqa 把所有的文件都保存和退出
这里意思是:编译gcc max.c 和hello.c 这两个文件,然后-o 表示输出文件的名称叫做:mian.out
把一部分已经做好的文件编译成静态库,那么可以加快编译速度
正常情况下,我们是可以用cat命令查看源代码
rm *.o 将所有的 .o 文件进行删除
使用make工具进行编译
寻找一些依赖项
这里的argv 是初始值是1
用&&来连接两条命令,如果第一条命令成功的话(并且第一条命令的返回值必须是0 的时候才能执行后面一条语句),直接执行第二条命令
用echo $? 来验证输出的命令是不是成功,如果成功的话,返回值是0
如果输出视其他数字,说明执行的程序失败了
修改了返回值之后:
拷贝文件
Linux的标准输入流、输出流、错误流
/*
用fprintf来代替printf
用fsacnf来代替scanf
输入流 stdin
输出流 stdout
错误流 stderr
fscanf(stdin,”%d”,&a);相当于scanf 将键盘里面的文件输入到这个里面
fprintf(stdout,”this is input %d”,a)//表示向文件里面写入数据,这里stdout表示向stdout文件中写
入数据,相当于一个printf函数
*/
linux 通道 就是管道
输出流的重定向
输入流的重定向
标准输入流,和标准输出流可以混用
| 表示管道
就是将前面的输出流给了后面的输入流
grep ab 可以查看文本文件中所有的ab
也即是将前面的命令不输出到终端,而是输出到grep当中
将前一个命令的输出流作为第二个命令的输入流溜进去
在linux下:ps -e 用于查看进程
远程登录linux系统用ssh协议来弄
想要在进程中,查看linux的ssh协议,就可以:
linux C 语言指针和内存
用户通过GDB来查看linux内存的管理情况
gdb的使用
用-g生成的版本的 .out 文件是支持调试的
gdb 处理的 ./main2.out文件
在光标处 输入 L 表达出程序
然后按回车,继续输出
break 12 表示在第12行打断点
start 输入后准备单步调试,默认的在main程序的第一行打断点
p a中,p表示printf,打印 ;a 表示 变量名
输入 n 表示单步调试
$1 无意义
想要进入change函数里面的话,然后按s
bt 显示堆栈
f 1 跳转堆栈
输入: q
为什么32位最大能够使用4G的内存
32位系统的地址总线就是32位,寻址空间也是32位的
32位是指的什么:就是CPU给内存的编号只能编导32个二进制位
地址总线有多少根,那么编号最多就只能有多少个
64位的话,最多
变量名称又叫做地址的别名,叫做内存
最先分配的栈的地址最大,栈是先进后出,栈是一个杯子
注意:这里是在linux操作系统中,在window系统只不一定代码段地址越往后越大;栈是越往后就越小。
函数指针(*function)(int a, int b)
函数指针是用来做回调函数的
在gdb当中,用s来进入某一个函数,用 f 来返回到主函数,一般返回主函数是 f 1,或者 f 0
数组和指针运算
代码幽灵,就内存没有被适当释放。
一般在c/c++中,char是八位二进制位,所以是占一个字节
java中的编码是unicode16的,所以一个char是16位二进制位,所以占两个字节。
int有时候占4个字节(在Win32),有时候占2个字节(在DOS)
这和操作系统的位数有关,一个int的大小是操作系统的一个字长
TC是16位系统程序,所以int是16bit业就是两个字节
在32位linux和32位Windows下,都是4个字节,也就是目前最常用的VC和gcc结果。
linux C语言结构体
由 .c文件生成 .i 文件 叫做预处理
.i 文件生成 .s文件 叫做编译
.s 文件生成 .o 文件叫做汇编
.o文件生成可执行文件 叫做链接
-E说明只生成 .i 和 .c
在vim的命令窗口中输入$ 可以直接跳到代码的底端
预处理所做的第一件事情:就是展开了头文件
这是宏定义 #define R 10
直接将宏定义R 改成10
宏认为他是一个字符串
举例说明:
宏函数
也就是说 .i 文件能够消除宏定义。
宏定义只是单纯的字符替换。
typedef 是一个关键字,他的作用是给一个变量类型起别名
#define 可以不以分号为结尾
typedef 必须要以分号为结尾
我们在使用的时候,为了方便,会直接给这个结构体起一个别名 叫:stu_t
然后在调用的时候,直接就可以用了
值得注意的一点是:typedef 他是有作用域的
定义结构体的方法1:
定义结构体的方法2:
在这个地方相当于定义了一个全局变量就weapon_1
定义结构体的方法3:
结构体的应用
%s 是输入,或者输出字符串
%c 是输入,或者输出单个字符
结构体数组,就是这个数组中的每个数据类型都是结构体类型。
结构体数组
结构体指针
linux的公用体(联合体)
关键字union,作用是让某一个变量共享同一段内存地址
也就是将a,b,c成员同一段内存地址,同一时刻只能一个成员,在初始化的时候只能由一个常量。公用体所占内存长度是所有数据成员最长的数据长度。
用%p来打印地址
linux C 动态数据结构-静态链表
静态数据结构:整型、浮点型、数组 则是由计算机分配固定的内存
链表是能够进行动态的数据存储
链表需要一个头指针的变量
数组里面的地址是连续的。链表里面的地址不一定是连续的。如果我们想要访问下一个数据,必须知道上一个数据。
定义了3个武器,a,b,c和一个头指针
赋值完之后,将这个三个武器赋值成一个链表。
head=&a, 将这个head指针指向a的地址
a.next 里面一个指针指向下一个节点 a.next=&b
这个时候就已经把这个链表构建完成
现在我们要把这个链表打印出来
定义一个指针p
让p指向这个地址
打印之后让p指向下一个地址
动态链表
malloc函数是用来分配内存块的函数
sizeof用来判断数据类型的长度
我想要创建一个create()函数,这个函数的类型是
位运算
位是指二进制数中的一位,数是0,或者 1 0表示false 1表示true
C语言中的位运算符:
1、& 按位与
2、| 按位或
3、^ 按位异或
4、~ 按位取反
5、<< 左移
6、>>右移
1、按位与(双目运算符)
为什么是32位
因为int 是4个字节
将他们相 & 产生了最下面一行。
按位与 & 的应用就是:1、迅速清零,让0与该数进行 & 运算 2、保留一个数据的指定位,让这个数与1进行 & 。3、判断奇偶性
int d=a&1;
如果得到d是1就说明a是奇数,如果d是0说明a是偶数。
2、按位或(双目运算符)
主要应用就是让a|0xFF那么这样就可以让低8位的数字都变成1.
3、按位异或(双目运算符)
相异为1,相同为0
应用:位置翻转 a=a^0xFF
数值交换
按位取反(单目运算符)
左移运算和右移运算符
<<将数据对应的二进制值左移若干位
左移的规则就是高位丢弃,低位补零
左移动n位置,就是将他的值乘以2^n次方
左移最常用的功能就是实现2倍值运算
函数的递归调用
就是指在调用函数的过程中,调用了这个函数本身
下载Ubuntu各个版本的网址:
http://releases.ubuntu.com/
在终端输入Python可以进入Python的开发环境
然后 ctrl + d 可以退出Python环境
将会删除当前目录下所有以a打头的字符
用这条命令来压缩
重定向>输出重定向符号
用户权限,在主目录下是有写权限的
这条命令是给文件添加写权限的
change mode改变文件模式
linux中用ps来查看进程
如何来结束一个进程:kill <进程的PID>
后台执行:firefox &
linux同时运行着7个工作台
ctrl + alt +f1 可以到一个控制台
ctrl + alt +f7 可以
ctrl + d 用来关闭终端窗口
grep .txt用来将所有的 .txt 文件高亮进行显示
linux下的网络操作:
ssh远程操作与数据传输
ssh 是网络上两台计算机之间互联的一种协议
买服务器会给一个ip,他们会给我们一个域名
rsync 将本地的文件夹同步到服务器上,或者让服务器下载到本地
创建符号链接 ln -s XXXX
deb (de bin 包)
apt-cache search(搜索需要安装的包名)
Shell 命令行编程
脚本和命令
命令就是语句,语句就是命令
将一个命令放到命令行中去执行,就是一条命令
但是放到一个脚本中去执行,就可以说是一条语句
脚本语句对命令是十分敏感的。也就是说Python是一种脚本语言
给一个程序赋予可执行权限,就是chmod +x
同样,如果想要给一个程序赋予写的权限,chmod +w
.sh 就是一种sh脚本文件,然后可以在这个命令行当中echo 某个东西
用Python写个脚本
常用的linux命令
tar -zcvf /home/xahot.tar.gz /xahot
tar -zcvf 打包后生成的文件名全路径 要打包的目录
例子:把/xahot文件夹打包后生成一个/home/xahot.tar.gz的文件。
zip 压缩方法:
压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归
zip [参数] [打包后的文件名] [打包的目录路径]
解压 unzip xahot.zip 不解释
然后如何通过终端命令行,将文件拷贝到U盘当中
sudo su
fdisk -l
mkdir /mnt/MYUSB
mount /dec/sdb4 /mnt/MYUSB
cp 文件 /mnt/MYUSB
为了吧终端弄的好看一些,然后就安装了terminator
sudo apt-get install terminator
然后在设置里面,将改成color green 。就完事了。
本文档介绍了Ubuntu系统中的常用快捷键与终端命令,包括文件操作、目录管理等,并详细记录了SLAM系统安装过程中的注意事项及常见问题解决办法。
1096

被折叠的 条评论
为什么被折叠?



