Ubuntu学习总结

Ubuntu桌面基础介绍               17.10.26

1. 目录结构和文件系统

ubuntu的文件系统也是一个又层次的树形结构,文件系统的最上层是 / ,表示根目录,所有其他文件和目录都位于根目录下,在linux中,一切皆为文件,包括硬盘、分区和拔插介质。跟目录下的常见目录列表:

Ubuntu学习总结_第1张图片

  • /bin -  重要的二进制 (binary) 应用程序,如cd,ls等;    /bin/bash
  • /boot -  启动 (boot) 时用到的核心配置文件;
  • /dev -  设备 (device) 文件;
  • /etc -  存放系统管理所需的配置文件、启动脚本等 (etc)
  • /home -  本地用户主 (home) 目录。主文件夹在home里,一般从home中创建文件夹。
  • /lib -  系统库 (libraries) 文件,存放最基本的动态链接共享库,几乎所有应用程序都要用到该目录下的文件;
  • /lost+found -  在根 (/) 目录下提供一个遗失+查找(lost+found) 系统,该目录平时是空的,当系统遇到非正 常关机,会做一些文件的备份工作;
  • /media -  挂载可移动介质 (media),诸如 CD、数码相机等
  • /mnt -  挂载 (mounted) 文件系统
  • /opt -  提供一个供可选的 (optional) 应用程序安装目录
  • /proc -  特殊的动态目录,用以维护系统信息和状态,包括当前运行中进程 (processes) 信息。
  • /root -  root (root) 用户主文件夹,读作“slash-root”
  • /sbin -  重要的系统二进制 (system binaries) 文件
  • /sys -  系统 (system) 文件
  • /tmp -  临时(temporary)文件
  • /usr -  包含绝大部分所有用户(users)都能访问的应用程序和文件
  • /var -  经常变化的(variable)文件,诸如日志或数据库等
  • 2. 常用命令及快捷键
  • ls   list)查看当前路径下的文件目录,结果以不同颜色,经过排列的文本列出目录下所有文件
  • ll:  列出当前路径的文件目录,包含文件的所有信息(时间,是否可读等)
  • mkdir +文件名称:  Make Directory)在当前目录下创建文件;
  • cd +目录:  Change Directory)切换目录,从当前目录切换成cd后跟的目录;
  • cp +源文件+目标文件目录:  Copy)拷贝源文件到指定目标文件目录;
  • cat + 文件名:显示文件内容
  • rm +文件名称:  Remove)删除指定的文件;
  • mv +源文件+目标文件目录:  Move)移动指定的文件或目录到指定的目录下,相当于执行剪切操作;
  • locate+文件或目录名称:  查找文件或目录;可以使用通配符来匹配一个或多个文件,用“*”匹配所有文件,用匹配单个字符;
  • pwd  print working directory)显示当前所在目录;
  • 常用cd命令:

  cd /    进入根目录

  cd cd ~   进入用户的home目录

  cd ..   进入上一级目录

  cd ../book 进入同一主文件夹的另一文件夹

“.”是指当前目录。  “/”是目录层分隔表示符

“./”也是当前目录,但./后一个程序名,则会运行程序

  1. 使用 cd 命令可以切换目录,

Linux 里面使用 cd + . 表示当前目录,.. 表示上一级目录, - 表示上一次所在目录,通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。

(以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用ls -a 命令查看隐藏文件

  • man +指令: Manual)显示某个命令的说明信息;

manual的缩写,操作说明、手册、指南   如:man ls

  • ifconfig 显示系统的网络;
  • Ctrl+Alt+F1~F6  从桌面模式切换到控制台模式,一共可以启动6个控制台同时工作,对用F1~F6
  • Ctrl+Alt+F7 从控制台切换回桌面模式;

3. 文本编辑器gedit

  • ubuntu中所有的配置和设定都保存在文本文件中,默认的文本编辑工具是gedit,在文件前加上 gedit,表示使用gedit文本编辑器启动其后的文本。例如命令 sudo gedit ~/.bashrc表示使用gedit编辑工具编辑home目录下的.bashrc文件。

打开文件:  gedit + 文件名

4. 软件包管理程序APT

  • ubuntu本身提供了很多应用程序软件可供下载安装,这些软件包可以通过APT实现在Internet上搜索、安装和更新等操作。
  • APTAdvanced Packaging Tool)是Ubuntu中用来管理程序软件包的命令行程序,可以方便的完成对软件的安装、卸载和更新,也可以对ubuntu系统本身进行升级。APT的源文件是 /etc/atp/source.list文件。

常用apt命令

  • 安装软件包:  sudo apt-get install packagename
  • 重新安装软件包:  sudo apt-get install packagename -- reinstall
  • 删除软件包:  sudo apt-get remove packagename
  • 删除软件包和配置文件:  sudo apt-get remove packagename -- purge
  • 获取新的软件包列表:  sudo apt-get update
  • 更新已安装的软件包:  sudo apt-get upgrade
  • 升级系统:  sudo apt-get dist-upgrade
  • 搜索软件包:  sudo apt-cache search packagename
  • 查看软件包的详细信息:  sudo apt-cache show packagename

apt的相关路径

  • /etc/apt/source.list   设置软件包的获取来源
  • /etc/apt/apt.conf    apt配置文件
  • /etc/apt/preferences  版本参数
  • /var/cache/apt/archives/  已下载的软件包的存放目录
  • /var/lib/apt/lists/   存放已下载的软件包的详细信息

有的软件还需安装依赖项,具体怎么安装,需百度,大概是:

    • 安装软件相关依赖项;二、下载软件压缩包,解压unzip opencv.zip

然后编译安装cmake make sudo make install

5.进入管理模式和使用终端:

  1. ubuntu将系统超级管理员权限授予特定用户,默认情况下,这个权限分配给在ubuntu系统中第一个创建的账户,这个账户可以通过使用sudo 应用程序来执行管理任务,使用方法是在执行的命令前添加上 sudo

键入sudo su后输入密码可进入root模式,即‘$’变‘#’。(root模式) 密码:AMOV

  • 2. 启动终端快捷键: Ctrl+Alt+T ;关闭终端:输入exit
  • 3.查看历史命令行:history n

6.Linux 文件的基本操作

  • 1.新建  
  • 新建空白文件  touch+文件名称

使用 touch 命令创建空白文件,关于 touch 命令,其主要是来更改已有文件的时间戳的,但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件。例子:touch test

  • 新建目录  mkdir+文件名称

使用 mkdirmake directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性。例子:mkdir mydir

使用 -p 参数,创建子目录,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在有时候安装软件,配置安装路径时非常有用):mkdir -p father/son/grandson

        mkdir –p 目录A/目录B

touch是创建文件,mkdir是创建文件夹也可以说是创建目录

  • 2.复制
  • 复制文件 cp

使用cpcopy)命令复制一个文件或目录到指定目录。例子:cp test father/son/grandson

  • 复制目录

要成功复制目录需要加上-r或者-R参数。例子:cp -r father family

  • 3.删除
  • 删除文件 rm+文件名称

使用rmremove files or directories)命令,删除一个文件或目录;例子:rm test

有时候你会遇到想要删除一些为只读权限的文件,直接使用rm删除会显示一个提示,就需要用上参数 -f

例如:rm -f test     -f   强制删除)

  • 删除目录

跟复制目录一样,要删除一个目录,也需要加上-r-R参数。例子:rm -r family-r 删文件夹)

  • 4.移动文件与文件重命名

使用mv(move or rename files)命令,移动文件(剪切)。

格式:mv 源目录文件 目的目录。例子:mv file1 Documents

  • 重命名文件

格式:mv 旧的文件名 新的文件名

例子:mv file1 myfile

  • 5.查看文件
  • 使用cat,tacnl命令查看文件。

7. 1快捷键

  • Tab ---------补全命令,补全目录,补全命令参数;
  • Ctrl+c ------强行终止当前程序;
  • Ctrl+d ------键盘输入结束或退出终端;
  • Ctrl+s ------暂定当前程序,暂停后按下任意键恢复运行;
  • Ctrl+z ------将当前程序放到后台运行,恢复到前台为命令fg
  • Ctrl+a ------将光标移至输入行头,相当于Home键;
  • Ctrl+e ------将光标移至输入行末,相当于End键;
  • Ctrl+k ------删除从光标所在位置到行末;
  • Alt+Backspace ------向前删除一个单词;
  • Shift+PgUp ------将终端显示向上滚动;
  • Shift+PgDn ------将终端显示向下滚动。

7.2最常用的帮助命令

  • man [数字] 命令      查看手册  
  • 命令 --help              查看帮助
  • ls                         查看当前目录
  • find 关键词              查询内容

8.使用VIM

  • 打开终端,键盘输入vimtutor进行学习。(VIM不是IDE,是一个命令,用于文本编辑)
  • 进入vim编辑器(从命令行提示符,终端),请输入∶vim + 文件名 + <回车>;也是打开文件。
  • 常用命令:

Esc +

:q!   丢弃所有的修改并退出;不保存退出;

:wq   将缓冲区内的资料写入磁盘中,保存并离开vim
:set   环境变量的当前值;
:set nu   设定资料的行号;
:set ai   自动内缩。

d$  从当前光标删除至当前行末尾;

dd   删除整行,请输入。

       insert  进入编辑模式

       set nu 设置行号

9.Hello SLAM

  1. 编译1:

首先在/home中创建slamboook文件夹,对应章节/ch2;

注:在主文件夹里创建(复制粘贴)不需要进入root模式,在/home中进行操作必须进入root模式。

  1. 使用vim/gedit输入并保存helloSLAM.cpp文件。(一定要输入正确!!!
  2. 编译:g++  helloSLAM.cpp(正常是没有任何输出。)

      若没有安装g++,键入 sudo apt-get install g++安装。

  1. g++编译成功会产生一个a.out文件。(%号省略前面的文件夹)

输入   ./a.out 会输出Hello SLAM!

  1. 更改生成的文件名

g++ helloSLAM.cpp   -0() hello

             输入运行:./hello

  1. 编译2:使用cmake(确保输入正确

 

在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:

1、编写 CmakeLists.txt。

2、执行命令“cmake PATH”或者“ccmake PATH”生成 Makefile ( PATH 是 CMakeLists.txt 所在的目录 )。

3、使用 make 命令进行编译。

 

1. slambook/ch2中新建(vim)一个CMakeLists.txt文件,按模板输入,确保输入正确。

2. ch2下调用cmake进行工程分析:键入  cmake  .(生成一些中间文件和MakeFile。)

3. 编译工程:键入  make  (输出一个编译进度,产生可执行程序helloSLAM。)

4. 执行程序:键入 ./helloSLAM  (输出 Hello SLAM!

5.处理中间文件:

mkdir build  (创建buildbuild文件夹在ch2文件夹里面)

cd build

cmake ..      (对上一层文件夹(代码所在文件夹)进行编译)

make         build文件外,ch2里不可有其他文件,处于未编译过,即 2.cpp1.txt文件

6.添加一个可执行程序  语法:add_executable(程序名 源代码文件)

7.添加一个库:add_library(hello libHelloSLAM.cpp)

8.共享库:add_library(hello_shared SHARED libHelloSLAM.cpp)

9.链接:target_link_libraries(useHello hello_shared)

10.调用库:头文件(.h+库文件(.a

注:断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。

调试方法:

1)设置断点:在程序代码编辑框(能打代码的地方)外双击,就成功设置了一断点(可以看到有一点在那里)。

2)开始调试按F5,程序运行到断点之后,按F10就会执行当前程序行。

 

完整的CMakeLists.txt

Ubuntu学习总结_第2张图片

Hello SLAM!

Ubuntu学习总结_第3张图片

Hello SLAM 2017

Ubuntu学习总结_第4张图片

使用库 Ubuntu学习总结_第5张图片

 

Open CV的安装和编译

 

下载opencv-3.1.0.zip的压缩包。将它解压到任意目录下,我们发现 OpenCV 亦是一个 cmake 工程。事实上 OpenCV 的依赖项很多,缺少某些编译项会影响它的部分功能(不过我们也不会用到所有功能)。OpenCV 会在 cmake 阶段检查依赖项是否会安装,并调整自己的功能。在安装之后,OpenCV默认存储到你的/usr/local 目录下。

Ubuntu学习总结_第6张图片

 

 

 

文件结构

Ubuntu学习总结_第7张图片

你可能感兴趣的:(Ubuntu学习总结)