嵌入式学习第一篇——linux基础

1.VMWare Workstation: 在当前操作系统中虚拟一个新的操作系统

嵌入式学习第一篇——linux基础_第1张图片


2.教学环境镜像文件: Linux系统(Ubuntu)镜像文件
    UbuntuRedhatDebianCentOSFreeBSD Linux操作系统(以Linux为内核的操作系统)

嵌入式学习第一篇——linux基础_第2张图片


3.Ubuntu常见操作:
    1.挂起:让操作系统暂停
    2.关闭: 先挂起,再关闭虚拟机
    3.重启:Ubuntu系统中点击"Power Off",再将虚拟机关闭,再重新启动虚拟机和Ubuntu系统
    4.全屏: ctrl + alt + 回车
    5.窗口: 设置窗口大小,选择"查看" -> "立即适应客户机"
    6.打开终端:ctrl + alt + t
                         ctrl + shift + t
    7.终端字体调整:
                         ctrl + shift + '+'
                         ctrl + '-'

嵌入式学习第一篇——linux基础_第3张图片


4. linux@linux-virtual-machine:~$ 
    linux:当前登录的用户
    linux-virtual-machine:当前主机名
    ~:当前所在的目录

    用户:
        两类:
            1.普通用户:权限会受限制
                可以有多个,也可以一个没有,名字没有限制
            2.超级用户:权限不受限制
                有且只有一个,名字为 root 


5. Linux基本命令:
    1. ls 
       查看当前目录下所有文件

       蓝色:目录文件(存放文件)
       白色:普通文件(存放内容)

        ls -a 
        查看当前目录下所有文件(包括隐藏文件)

        隐藏文件:文件名以.开头为隐藏文件

        .  :当前文件夹
        .. :当前目录的上一级目录

嵌入式学习第一篇——linux基础_第4张图片

        ls -l 
        查看当前目录下文件的详细信息

嵌入式学习第一篇——linux基础_第5张图片

        drwxr-xr-x:
        文件类型:
            b :块设备文件          驱动
            c :字符设备文件        驱动
            d :目录文件
            - :普通文件
            l :链接文件
            s :套接字文件          网络
            p :管道文件            进程

        rwx:
            r:拥有读权限
            w:拥有写权限
            x:拥有执行权限

        第一组rwx: 创建文件的用户对文件是否拥有读写执行权限
        第二组rwx: 创建文件的用户同组用户对文件是否拥有读写执行权限
        第三组rwx: 其余人对文件是否拥有读写执行权限


    2. mkdir 
        在当前目录下创建一个新的目录文件

        示例:
            mkdir dir

        文件名字:
            1.由数字、字母、下划线构成
            2.文件名不要加空格
            3.Linux不根据后缀名区分文件类型,但最好加上后缀保证移植性 
            4.文件名区分大小写


    3. rmdir 
       删除指定的目录文件(空的)

       示例:
            rmdir dir 


    4. touch 
       创建普通文件

       示例:
            touch filename.c 


    5. rm 
       删除普通文件
       删除目录文件加 -rf选项 

        示例:
            rm filename.c 
            rm -rf dirname 


6. Linux系统目录结构:
    最顶层目录: 
        根目录  /
        根目录下存放系统相关的文件
            bin 存放二进制文件
            etc 存放配置文件
            lib 库文件
            root 超级用户的家目录
            var 存放日志文件
            boot 存放启动代码
            dev 存放设备文件
            home 存放普通用户家目录的目录
            mnt 存放挂载文件
            proc 存放进程相关信息的目录

        家目录  ~ (当前登录用户的家目录)
        每个用户均有一个属于自己的家目录

        超级用户: root -> /root 
        普通用户: linux -> /home/linux 
                 zhangsan -> /home/zhangsan


    1. cd 
        进入某个目录

       示例:
        cd ..       进入当前目录的上一级目录
        cd /        进入根目录
        cd ~        进入当前登录用户的家目录

        绝对路径
            当前所在目录不同,登录用户不同,相同路径不会产生不同含义
            /home/linux/Desktop 
        相对路径
            当前所在目录不同,登录用户不同,相同路径产生不同含义

            cd dirname 
            cd ./dirname
            cd ../dirname 
            cd ~/dirname 

嵌入式学习第一篇——linux基础_第6张图片


    2. pwd 
       查看当前所在目录的绝对路径

嵌入式学习第一篇——linux基础_第7张图片


    练习:
        利用前面所学的命令实现:
            1.在桌面下创建3个文件夹test1 test2 test3 
            2.并在test1目录下创建filename1.txt 
            3.并在test2目录下创建filename2.txt 
            4.并在test3目录下创建filename3.txt 

   答案:

        cd ~/Desktop 
        mkdir test1 test2 test3 
        touch test1/filename1.txt test2/filename2.txt test3/filename3.txt 


    3.cp 
        拷贝文件或者目录

        拷贝普通文件:
            cp 源文件路径 目的路径
        拷贝目录文件:
            cp 源目录路径 目的路径 -rf 

        示例:
            cp filename dir 
            cp dir1 dir2 -rf 

嵌入式学习第一篇——linux基础_第8张图片


    4.mv 
        移动文件或者目录
        也可以用来修改文件名

        mv 源文件路径 目的路径
        mv 旧文件名 新文件名

        示例:
            mv srcfilename dstdir 

嵌入式学习第一篇——linux基础_第9张图片


7. C语言开发流程: 
    GNU C  vim gcc 
    LAMP: 
        Linux 
        Apache 
        MySql 
        Python 

    GNU's Not Unix 


    1.vim编辑器
        1.使用vim打开一个文件
            vim filename.c 
        2.点击i键、a键或者o键进入插入模式
            点击i
        3.编写程序
        4.点击ESC退回到底行模式
        5.输入:wq   保存并且退出
                  :w  只保存不退出
                  :q  只退出不保存
                  :q! 不保存强制退出

嵌入式学习第一篇——linux基础_第10张图片

嵌入式学习第一篇——linux基础_第11张图片


    2.gcc编译器
        1.编译filename.c文件
          gcc filename.c 
            编译代码filename.c默认生成a.out

          gcc filename.c -o filename 
            编写代码filename.c指定生成文件filename 

        2.执行程序
            ./a.out 

        3.编译程序时可能会遇到语法错误:
            error: 语法错误,无法生成可执行程序
            warnning: 告警,可以生成可执行程序,但执行可能会出错

        4.逻辑错误

嵌入式学习第一篇——linux基础_第12张图片



作业:
    1.在~/Desktop目录下创建三个文件夹test1 test2 test3 
    2.在test1下创建filename1.txt 
      在test2下创建filename2.txt 
      在test3下创建filename3.txt 
    3.将test1目录下的filename1.txt拷贝到test2目录下
    4.将test2目录下的filename2.txt移动到test3目录下
    5.将test3拷贝到test1目录下
    6.将test1目录修改文件名为filename 
    7.最后将filename文件夹删除

    2.编写一个C语言程序利用printf打印如下图形
         *
        ***
       *****
        ***
         * 

嵌入式学习第一篇——linux基础_第13张图片

嵌入式学习第一篇——linux基础_第14张图片

嵌入式学习第一篇——linux基础_第15张图片

你可能感兴趣的:(学习,c语言,linux,嵌入式硬件)