基本Linux命令
一、搭建开发环境
     
     1、安装虚拟机VMware_workstation15
    2、解压Ubuntu12.04镜像(Linux操作系统)
     
     3、飞秋--》局域网下载笔记
     
     4、安装Notepad++
     
 ====================
 二、嵌入式学习课程
    
     1、C语言(基础--》重中之重)
     
     2、Linux基础
     
     3、IO编程--》操作文件的函数接口
4、数据结构--》C语言存储数据的组织算法
5、系统编程--》多线程多进程编程
6、网络编程--》不同主机之间的进程间通信
    7、STM32
     
     8、C++QT
     
     9、驱动开发
=======================
 三、简单的Linux命令
    1、Linux操作系统和window的区别
         
         1》window是以图形界面的形式操作,简单易学,人机交互友好--》适合普通用户,闭源
         
         2》Linux是以命令的形式操作,比较难掌握,比较适合开发人员,免费开源,简单高效
         
     
     2、Linux命令行提示符
     
         
         gec@ubuntu:~$
         
         gec --->当前的用户名
         @   --->无实际意义,只是作为分隔符
         ubuntu --->主机名
         :   --->无实际意义,只是作为分隔符
         ~   --->显示当前所在的路径  ~ 《==》 /home/gec的缩写
         $   --->普通用户
         #   --->管理员用户
         
         
         
         sudo -s -->切换管理员用户
         su gec --->切换成gec用户
         exit -->退出管理员用户
         
     3、Linux目录结构
     
         window -->文件夹
         Linux  -->目录
         参考图片:Linux目录结构.png
    4、简单Linux命令:ls, cd, cat ,pwd, touch, mkdir, mv, cp , rm, gcc
         
         
         -----------
         ls -->查看当前目录里面的所有文件
         
         ls -l -->查看当前目录里面的所有文件的详细信息
         
         
         gec@ubuntu:~$ ls -l
         drwxrwxr-x 2 gec gec 4096 Mar 19  2015 Desktop
         drwxrwxr-x 3 gec gec 4096 May  8  2015 Download
         -rw-r--r-- 1 gec gec 8445 Jun 27  2013 examples.desktop
     
         参考图片:ls-l的解析.png
         
         
         --------
         cd -->切换当前的工作路径(进入目录)
     
         cd  目录名
         cd  /  -->进入根目录
         cd  .. -->返回上一级目录,  ..表示上一级目录
         cd  .  -->进入当前目录,    . 表示当前目录
         cd  ~  -->进入当前用户目录(家目录)  ~ <==>/home/gec
         cd     -->进入当前用户目录(家目录)
         cd  /home/gec -->进入当前用户目录(家目录)
         cd  -        返回上一次所在的路径
        路径:找到当前所在位置经过的目录,/只有写在路径的最左边才有效,表示根目录;写在路径的中间表示分隔符,无实际意义
             绝对路径:从根目录开始写的路径  例如:/home/gec,/home/gec/Desktop
             相对路径:不是从根目录开始写的路径 例如:Desktop,./Desktop,    ../Desktop
         cd  Desktop            进入当前目录的Desktop这个目录里面
         cd  ./Desktop        进入当前目录的Desktop这个目录里面
         cd  Desktop/        进入当前目录的Desktop这个目录里面
         cd  /Desktop        进入根目录里面的Desktop这个目录
         cd  /Desktop/        进入根目录里面的Desktop这个目录
         cd  /home/gec/Desktop  进入根目录里面的home这个目录里面的gec目录里面的Desktop目录
         cd  /home/gec/Desktop/ 进入根目录里面的home这个目录里面的gec目录里面的Desktop目录
         cd  ../Desktop        进入上一级目录的Desktop这个目录里面
        --------
         touch --->新建普通文件
         
         touch 文件名
         
         --------
         mkdir --->创建目录文件
         
         mkdir 目录名
         
         --------
         gedit --->编辑普通文件
         
         gedit 普通文件名
         
         -------
         vi --->编辑普通文件
             
             vi 普通文件名
             
         输入:    i, 表示进入编辑模式
         按esc, 输入: :wq,表示保存再退出
         按esc, 输入: :q!,表示强制退出,不保存
         按esc, 输入:  :q,没有编辑的情况下可以直接退出
             
         --------
         cat --->输出文件内容
         
         cat 普通文件名
         cat 普通文件名  -n -->并把行号输出
        -------
         pwd --->输出当前工作路径
        -------
         cp --->复制普通文件或目录文件
         
         cp  被复制的文件名  路径          --》复制普通文件
         
         cp  被目录的文件名  路径  -r     --》复制目录文件
         
         
         ------
         mv --->移动文件
         
         mv  被复制的文件名  路径          --》移动普通文件
         
         mv  被目录的文件名  路径         --》移动目录文件
         
         ------
         rm -->删除普通文件或目录文件
                 
         rm  被复制的文件名           --》删除普通文件
         
         rm  被目录的文件名   -r     --》删除目录文件
         
         sudo rm /* -rf -->删库跑路,不要去试
------------------------------        
 练习:
    1、创建一个普通文件1.c,往里面输入:hello yue qian,并再查看里面的内容是否输入正确
     2、创建一个目录文件test,先进入里面,再把1.c复制到当前目录里面
         cp  ../1.c  .
         cp  /home/gec/1.c  .
         cp  /home/gec/1.c  /home/gec/test
         
     3、在test里面,创建一个目录test1,再把它剪切到上一级目录
             mkdir test1
             mv test1 ..
    4、编辑一个代码,打印输入:1~10
         用while或for
         gec@ubuntu:~$ cat num.c
         #include <stdio.h>
        int main(int argc, const char **argv)
         {
             int i=1;
             while(i<11)
             {
                 
                 printf("%d\n", i);
                 i++;
             }
             return 0;
         }
     5、编辑一个代码,打印输出26个小写字母
 ===========================
 四、编辑-编译-运行程序
    1、编辑代码
         vi hello.c
         输入内容:
         #include <stdio.h>
        int main(int argc, const char**argv)
         {
             printf("hello world\n");
            return 0;  //--》结束程序
         }
    2、编译代码:
         编译hello.c生成输出可执行文件hello(可执行文件、二进制文件、程序)
         gcc hello.c -o hello
    3、执行
         ./hello
=========================
 五、设置共享文件夹
1、虚拟机---》设置---》选项---》共享文件夹
 ---》总是启用---》添加---》下一步---》浏览---》找你要设置的文件夹---》最后一定要点击确定
2、进入共享目录-->直到找到文件才可以编译
    cd /mnt/hgfs
     
=========================
 六、小技巧
1、通过方向键查找输过的命令
2、TAB补齐命令或文件名
    3、使用鼠标滚轮,命令复制黏贴
     
 =========================
 七、C语言编程规范
     1、花括号要对齐
     
     2、写代码要缩进TAB(四或八个空格)
         
         整体往后缩进(选中后按TAB)
         整体往前缩进(选中后按shift+TAB)
         
         同个逻辑的代码,都要往后缩进
3、代码要写注释 %30~%40
--------------------
 1、今晚就看华为编程规范和练习所有Linux命令
 2、查一下:内存单位换算
    1TB
     GB
     MB
     KB
     Byte
     bit
 1TB == 1024GB == 1024*1024MB == 1024*1024*1024KB == 1024*1024*1024*1024Byte ==  1024*1024*1024*1024*8 bit
         
         1Byte == 8bit (二进制)
