Ubuntu使用

<-- B盘:Ubuntu使用教程 -->
1.VMware软件安装<virtualbox||VMware>
    VMware Workstation 10.15
2.虚拟主机创建
    (硬件分配:根据电脑实际情况,一般5:5分;硬盘最好独立的分区300G以上)
    1.创建新的虚拟机->典型->稍后安装操作系统->(客户机操作系统:Linux,版本:Ubuntu64位)
        ->(虚拟机名称:默认Ubuntu 64位,位置:自设定)->(磁盘大小:100G,存储为单个文件)
        ->(硬件配置:网络:桥接模式)->关闭->完成
    2.Ubuntu安装(Ubuntu-16.04.5):双击CD/DVD(SATA)->使用ISO映像文件
        ->选择ubuntu镜像路径->确定
        ->单击启动客户机->自动安装Ubuntu系统
    3.系统基本设置
        语言:简体中文 ->install Ubuntu ->(不用选择更新和安装第三方软件)->(选中安装Ubuntu并清掉磁盘)
        ->现在安装->选择我的地址(时区)—>(设置账户密码)
        <中英文切换:Ctrl+空格>
        ->安装完成后将镜像路径更改为从物理位置启动(CD路径取消)
    4.VMware Tools安装(它可以实现主机与虚拟机文件共享)
        ->点击虚拟机->安装VM Tools->将下载的文件复制到桌面->(提取到此处)<解压>
        ->打开终端->(sudo su)->(cd 桌面)<进入桌面目录> ->(ls)<查看目录下的文件> ->(cd 文件名)<进入文件目录>
        ->(sudo ./安装包)<./文件名, 是执行这个文件> ->一直回车
    5.外观设置:
        ->设置分辨率(4:3 1024x768) ->设置电源(从不挂起) ->网络(保证和自己电脑在同一个网段,IPV4设置为手动固定IP)
        ->软件与更新(选择下载源为中国的服务器) ->更新(设置为从不)
    6.虚拟机连接USB设备
        1.插上USB设备后,VMware会提示连接到哪儿,选择连接到虚拟机,即可连接到我们的Ubuntu,
        在VMware右下角点击磁盘断开连接即可断开该磁盘,它会自动切换到windows下
3.Shell命令

    常用的命令:
    1.ls        目录信息查看    (ls -a)(ls -l)(ls -al)(ls -f)(ls -i)(ls -n)
    2.cd        目录切换        (cd /home/.. <前面的/代表根目录>)(cd / <回到根目录>)(cd || cd ~ || cd  /home/jc <什么都不带回到当前用户目录下>)
    3.pwd        当前目录显示    ()
    4.uname        系统信息查看    (uname -a)()
    5.clear        清理屏幕        ()
    6.cat         显示文件内容    (cat etc/profile <必须是文件>)
    7.sudo        切换用户身份    (sudo apt-get install mplayer)
    8.cp        文件拷贝        (cp a.c p.c)
    9.su        切换用户        (sudo su root <切换到root用户下>)(su jc <切换到普通用户不用加sudo>)
    10.mv        移动文件        (mv a.c b.c)
    11.mkdir    创建文件夹        (mkdir test)
    12.touch    创建文件        (touch a.c)
    13.rm        删除文件        (rm xxx -rf <-rf也可删除目录>)
    14.rmdir    目录删除        (rm xxx -rf)
    15.ifconfig    显示网络配置信息    (ifconfig -a || ifconfig)(eth0 up 启用)(eth0 down 关闭)(eth0 reload 重启)(eth0 hw ether 00:AA:BB:CC:DD:EE 修改MAC地址)(eth0:ws arp 启停arp)(eth0 mtu 1500 设置最大传输单元)(sudo ifconfig ens33 192.168.43.200 修改ip地址)(--help 查看命令类型)
    16.reboot    重启命令
    17.poweroff    关机命令
    18.man         系统帮助        (man printf <用来查看系统函数方法>)
    19.sync        数据同步写入磁盘    (将修改文件时,保存在缓存的数据同步到磁盘)
    20.find        查找文件        (find -name a.c <按文件名查找文件>)
    21.grep        查找内容        (grep -nr "内容" / <查找目录下包含内容的文件名以及内容行数>) <CTRL + C 打断命令>
    22.du        文件夹大小查看    (du test/)(du /lib -sh)(-)
    23.df        磁盘空间查看
    24.gedit    打开某个文件    (gedit a.c <类似记事本>)
    25.ps        当前的系统进程查看    ( <类似任务管理器>)
    26.top        进程实时运行状态查看
    27.file        文件类型查看    (file a.c)
    特定功能命令:
    1.在Ubuntu常用软件安装
        安装方式分类(1.APP Store 2.Sudo apt-get install 3.deb软件包 4.自己下载源码编译安装)
        1.sudo apt-get install git <git软件安装>
            如果无法安装,先强制关掉其它任务的冲突(sudo rm /var/cache/apt/archives/lock)(sudo rm /var/lib/dpkg/lock)
            如果还是无法安装,先重启,再安装
        2.sudo apt-get install mplayer
        3.dpkg命令去安装.deb软件包(类似windows下的.exe文件) <例:网易云Linux版客户端安装>(sudo dpkg -i 包名)
        4.自己下载源码编译安装 <例:tree安装,树形显示文件>(百度tree源码,第一条打开下载文件,再Linux下载文件夹下)
            解压 ->进入到包目录<tree-1.8.0/> ->执行make命令 ->执行 sudo make install ->安装完成 <测试是否安装成功,tree --help>
4.Ubuntu文件系统结构
    /bin        可执行文件
    /boot        内核和启动文件
    /dev        设备驱动文件    <这个文件在硬件驱动开发时经常用到>
    /etc         存放系统配置文件,比如账户密码,各种服务起始地址
    /home        用户主文件夹
    /lib        存放库文件
    /media        放置可插拔设备,比如SD卡,U盘        <查看U盘内容时需到这儿>
    /mnt        挂载点,在此处挂在额外的设备
    /opt        可选的文件和程序存放目录,给第三方软件放置的目录
    /root        root用户目录,即系统管理员目录
    /sbin        一般时系统开机过程中所需的命令
    /srv        服务相关目录,比如网络服务
    /sys        记录内核信息,虚拟文件系统
    /tmp        临时目录
    /var         存放一些变化的文件,比如日志文件
    /usr        UNIX Software Resource,存放与系统用户有关的文件
    /proc        虚拟文件系统,数据放置到内存中,存放系统运行信息
5.磁盘管理
    1.查看磁盘外设(cd /dev) ->(ls sd* <sdb表示U盘 sdb1表示U盘的第一个分区>) <磁盘默认挂载到media下>
    2.查看文件大小(du -h --max-depth=1 <1级目录>)
    3.磁盘挂载(sudo mount /dev/sdb1 /media/jc/udisk/)(sudo mount -o iocharset=utf8 /dev/sdb1 /media/jc/udisk <有中文时使用>)
    4.磁盘卸载(sudo umount /media/jc/.../ -f)<1.将磁盘解锁2.退出对磁盘的占用>
    5.磁盘分区(sudo fdisk -l <查看分区>)(sudo fdisk /dev/sdb <分区><扇区计算:1GB=1024*1024*1024B=/512=2097152扇区+2048初始位置=2099200扇区>)
    5.分区文件格式(sudo mkfs -t vfat /dev/sdb1)
6.压缩和解压缩
    <tar和tar.gzip是Ubuntu最常用的两种压缩格式>
    1.gzip         (gzip a.c)(gzip -d a.c.gz)(gzip -r gztest <将目录里面的文件都压缩>)
    2.bzip2        (bzip2 -z a.c)(bzip2 -d a.c.bz2)
    3.tar<打包压缩工具>    
        [-f]    使用归档文件
        [-c]    创建新归档,创建压缩文件
        [-x]    从图档中解出文件,解压缩
        [-j]    使用bzip2压缩格式
        [-z]    使用gzip压缩格式
        [-v]    打印出命令执行过程
        1.对.tar.bz2进行压缩和解压缩
        (tar -vxjf xxx.tar.bz2 <解压缩>)(tar -vcjf xxx.tar.bz2 descxxx <压缩>)
        2.对.tar.gz进行压缩和解压缩
        (tar -vxzf xxx.tar.gz <解压缩>)(tar -vczf xxx.tar.gz descxxx <压缩>)
    4.rar格式    (sudo apt-get install rar)(rar x xxx.rar <解压缩>)(rar a xxx.rar descxxx <压缩>)
    5.zip格式    (zip -rv xxx.zip xxx <压缩>)(unzip test.zip <解压缩>)
7.用户和用户组
    <三种用户:初次创建的用户,ROOT用户,普通用户;>
    <Linux用户记录在/etc/passwd这个文件内,密码记录在/etc/shadow这个文件内>
    <UID和GID,一个用户可以加入多个组><用户和用户组的意义:管理文件访问权限>
    <用户组信息存储在/etc/group文件中>
    安装用户用户组图形界面(sudo apt-get install gnome-system-tools)
    (sudo adduser jc01 <添加用户>)(sudo finger jc01 <查找用户,先安装sudo apt-get install finger>)
    (sudo passwd jc01 <修改密码>)(sudo deluser jc01 <删除用户>)
    (sudo addgroup jc_g01 <添加组>)(group jc_g01 <显示组内用户>)(sudo delgroup jc_g01 <删除组>)
8.Linux连接文件
    <符号连接<软连接>和硬连接<通过inode连接>>
    <对于硬连接: 只有删除文件和文件的所有连接后,才算真的删除;改变其中任何文件或连接,其它的都会改变>
    (ln hello hello1 <创建硬连接,不可跨文件系统>)(ll -i hello* <查看文件的连接节点>)
    (ln -s /home/jc/hello hello2 <符号连接相当于快捷方式,创建时文件必须是绝对路径;>)    {如果是相对路径,cp -d hello2 test/ 文件会失效 <-d是保持文件自有属性>}
9.vim编辑器
    <自带一个vi编辑器,vim需要先安装,sudo apt-get install vim>
    <三种模式:指令模式(一般模式),编辑模式,命令行模式(底行模式)>
    (vim my.txt <用vim编辑器打开文件>)
    [a]        在当前光标的后面进入编辑模式
    [A]        当前光标行尾
    [i]        在当前光标的前面进入编辑模式
    [I]        当前光标行首
    [o]        光标行下方新建行
    [O]        光标行上方新建行
    [s]        删除光标所在字符
    [r]        替换光标处字符
    [Esc]    退出编辑模式,光标可以在文本内容上移动
    
    [x]        保存当前文档并退出
    [q]        退出
    [w]        保存文档
    [q!]    退出不保存
    
    [dd]    删除光标所在行
    [u]        撤销,恢复上一步
    [.]        重复前一个操作
    [yy]    复制光标所在行
    [nyy]    复制光标所在行并附带下n行
    [p和P]    复制到光标下一行 和 复制到光标上一行; <它是将复制好的内容粘贴出来>
10.在Linux下,写一个简单的C程序
    1.设置vim编辑器
    (设置TAB键为4个空格,vim默认TAB是8个空格)(打开 /etc/vim/vimrc, 在最后加上 set ts=4)
    (显示行号)(打开 /etc/vim/vimrc, 在最后加上 set nu)
    2.创建1个.c文件,并用vim打开并编写代码
    3.使用gcc编译(gcc a.c -o a)
    4.执行这个执行文件(./a)
    <gcc选项    -c 只编译不链接执行文件,-o 输出可执行文件,-g 添加调试信息,-O 优化编译,-O2 更优化编译>    
11.Makefile
    <make工具使用gcc来自动完成编译工作,对于c文件较多的工程,只编译修改的文件,避免重复编译>
    <使用Makefile文件,描述了整个工程的编译连接规则,依赖关系>
    1.vim Makefile
    2.编写依赖关系
        main:a.o b.o c.o
            gcc -o main a.o b.o c.o
        a.o: a.c
            gcc -c a.c
        b.o: b.c
            gcc -c b.c
        c.o: c.c
            gcc -c c.c
            
        clean:
            rm *.o
            rm main
    3.执行make工具的命令 <make会检查文件是否更新,仅编译修改过的文件>
        (make <默认是执行文件Makefile>)
        (make clean <清除文件>)
    4.Makefile基本语法
        1.规则格式
            目标...:依赖文件集合...
                命令1
                命令2
                ......
        2.命令列表中的每条命令必须以TAB键开始,不是空格;终极目标放在第一行
        3.变量 <$(变量名) 引入变量>
            objects = main.o input.o calcu.objects
            main:  $(object)
                gcc -o main $(object)
        4.赋值符
            [=]        取 变量的最后变更值
            [:=]    取 当前的变量值,后续给变量赋值不受影响
            [?=]    取 如果前面赋值,取前面赋的值;如果前面没有赋值,取当前赋值
            [+=]    取 追加值;    <object = a.c object += b.c 那么object是a.c b.c>
        5.模式规则
            [%]        相对于通配符;在目标和依赖中%代表相同的值<a.o: a.c 为 %.o: %.c>
        6.自动化变量 <让命令获取到和依赖关系中一样的对应文件>
            [$@]    规则中目标的集合
            [$%]    目标是函数库时表示规则中的目标成员名
            [$<]    依赖文件集合中的 第一个文件
            [$?]    所有比目标新的依赖 目标集合
            [$^]    依赖文件集合,会去掉重复的
            [$+]    所有依赖文件集合,同上,但不会去掉重复的
            [$*]    目标模式中%及其之前的部分 <目标test/a.test.c 目标模式a.%.c 那么$*为test/a.test>
        7.伪目标 <不需要生成,没有依赖>
            (clean: <不能有重名的文件><可以声明伪目标的方式避免重名文件的影响 .PHONY:clean>)
        8.条件判断
            (ifeq)(ifneq)(ifdef)(ifndef)
        9.Makefile函数
            []
12.Shell脚本
    <将一系列的Shell命令放在一个文件里进行执行>
    (#!/bin/bash)<扩展名.sh>
    (read name;echo $name)(read -p "tips" age height;echo $age$height <一次读取多个输入>)
    $((a+b))
    (test -e filename && echo "is exist" || echo "no exist")
    ([ "str1" == "str2" ])
    ($0--$n,$@,$# <$1开始是输入的参数>)
    (if 条件;then elif 条件;then else fi)
    (case $a in 
        "a")
            echo "a"
            ;;
        "b")
            echo "b"
            ;;
        *)
            echo "other"
            ;;
    esac
    )
    (while do done)
<-- C盘:ARM(IMXU)裸机片 -->
1.开发环境搭建
    1.开发软件的安装
        1.vsftpd在Linux下安装 <服务器与本地主机之间的文件互传>
            (sudo apt-get install vsftpd)(sudo vi /etc/vsftpd.conf {取消屏蔽 local_enable=YES 和 write_enable=YES})
            (sudo /etc/init.d/vsftpd restart)
        2.Windows下安装FTP客户端
            (filezilla官网下载,有Server和Client,我们下载客户端并安装)
            (连接服务器:选择文件->站点管理->新站点->协议:FTP文件传输->HOST:192.168.43.199,Linux的IP地址 ->端口:不填写 ->账户密码:同Ubuntu ->点击连接)
            (如果有乱码,设置字符集:站点管理 ->字符集 ->强制UTF-8)
        3.Ubuntu下NTF和SSH服务开启
            (安装NTF: sudo apt-get install nfs-kernel-server portmap)(新建一个nfs文件夹 mkdir /home/jc/linux/nfs)
            (sudo vi /etc/exports <在文件末尾添加一行:/home/jc/linux/nfs *(rw,sync,no_root_squash) >)
            (重启服务:sudo /etc/init.d/nfs-kernel-server restart)
            (安装SSH服务: sudo apt-get install openssh-server)
        4.CH340驱动安装:
            (连接开发板,开发板上电后,点击CH340安装文件)
        5.SecureCRT安装:<类似串口调试助手>
        6.PUTTY安装:    <也类似串口调试助手,免费的>
    2.交叉编译器的安装
        <gcc是Ubuntu自带的编译器,它是针对X86架构的;开发板是ARM架构的,GCC交叉编译器在X86架构运行,编译ARM架构的代码,即编译出的执行文件在ARM芯片上运行>
        (mkdir /home/jc/linux/tool <以后工具相关的文件都放这儿>)
        (用filezilla将交叉编译器压缩包发送到tool目录)
        (将交叉编译器包移动到 /usr/local/arm下)(解压: sudo tar -vxf xxx.tar.xz)
        (添加环境变量: sudo vi /etc/profile)
        (在文件最后添加路径: export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin)<reboot才生效>
        (查看GCC配置是否成功: arm-linux-gnueabihf-gcc -v)
    3.VS Code在Ubuntu下安装
        (进入安装包所在目录: sudo dpkg -i code_1.32.3-1552686978_amd64.deb)
        (将图标放到桌面: /usr/share/applications/vscode路径下右键点击复制到,选择目标为桌面)
        安装插件:
            [C/C++]                    必须的
            [C/C++ Snippers]        C/C++重用代码块
            [C/C++ Advanced Lint]    C/C++静态检测
            [Code Runner]            代码运行器
            [Include AutoComplete]    自动头文件包含
            [Rainbow Brackets]        彩虹花括号,有助于阅读代码
            [One Dark Pro]            VSCode主题
            [GBKtoUTF8]                将GBK转为UTF8
            [ARM]                    即支持ARM汇编语法高亮显示
            [Chinese(Simplified)]    中文环境
            [vscode-icons]            VSCode图标插件,主要是资源管理器下各个文件
            [compareit]                比较插件,可以用于比较两个文件的差异
            [DeviceTree]            设备树语法插件<这个ARM经常用到>
        设置中文显示:
            (CTRL + Shift + P打开搜索框)->(输入config)->(选择Configure Display Language)(在locale.json中修改 "locale":"zh-cn")
        为工程添加头文件路径:
            1.创建.vscode目录,然后打开c/c++配置器,会在.vscode下生成c_cpp_properties.json的文件
            2.在"includePath"下添加头文件路径,${workspaceFolder}/bsp/
            (按下ctrl+shift+P,输入C/C++:Ed)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值