嵌入式第十一天

linux  
ubuntu 
redhat

一、linux系统
1.特点
    linux 多用户 多任务
    多用户:同时又多个用户访问系统
    多任务:某个时刻有多个程序运行
2.终端:用户和linux交互界面
    打开终端:
    (1)双击
    (2)右键-终端(新终端)
    (3)ctrl+alt+t 
    关闭终端:ctrl+shift+q 
 
3.ls  list缩写 列出某个目录(文件夹)下所有的文件
    白色:普通文件  a.c 
    蓝色:目录 
    绿色:可执行文件
    红褐色:压缩文件

4.cd 进入一个目录
    ~ 工作目录(每个用户都有一个自己的目录 叫工作目录)

    linux@ubuntu:~$ cd Desktop  //进入Desktop目录
    linux@ubuntu:~/Desktop$ ls

    linux@ubuntu:~/Desktop$ cd   //进入工作目录
    linux@ubuntu:~$ 

    linux@ubuntu:~$ cd Desktop
    linux@ubuntu:~/Desktop$ cd ~   //进入工作目录
    linux@ubuntu:~$ 

    cd ..  //进入上一级目录
    linux@ubuntu:~$ cd ..
    linux@ubuntu:/home$ 

    cd 小练习:
    cd Desktop 
    cd 

    cd /
    cd bin

    cd ..

    cd ~ 
    ls 

5.linux 一切皆文件
    linux@ubuntu:/$ nautilus /  图形化查看某个目录

    目录结构 
    / 根目录 
    home linux系统上各个普通用户的家目录(主目录) 子目录以该用户命名
    root root用户的家目录(主目录)
    bin  二进制文件 所有用户都可以执行(常用命令文件 )
    sbin root用户所使用命令文件
    etc 配置文件
    dev 设备文件
    lib 库文件 
    mnt  挂载服务   
    media 为光盘 u盘等提供默认挂载目录
    opt  某些第三方应用程序安装软件目录
    proc 系统相关信息 
    boot linux引导装载程序文件
    var 该目录及其子目录存放经常变化的数据 例如:日志 数据库文件 
    usr 存放不经常改变的数据、应用程序 例如:帮助手册 壁纸
    tmp 临时文件

6.路径 
    绝对路径:以根为起点路径 是完整的路径名称  
    linux@ubuntu:/$ cd /home/linux
    linux@ubuntu:~$ cd /home
    linux@ubuntu:/home$ 

    相对路径:相对于当前目录下 
    linux@ubuntu:/home$ cd linux
    linux@ubuntu:~$ 

    相对路径: 
        cd .. //上一级目录
        cd . //表示当前目录
         linux@ubuntu:/home$ cd ./linux  //./可以省略
         
        cd -  返回上一次位置 并打印出绝对路径
        linux@ubuntu:~$ cd /home
        linux@ubuntu:/home$ cd /bin
        linux@ubuntu:/bin$ cd -
        /home


7.
    pwd 我在哪 显示当前位置的绝对路径
8.~ 用户工作目录  它的绝对路径 /home/linux 
    cd ~  -->cd /home/linux

9.快捷键:
  上下键 调出历史命令
  cd Tab+Doc  补齐文件名
  ifc+Tab     补齐命令
  ctrl+shift+t  打开标签
  ctrl+shift+w  关闭标签
  
 练习:
    (1)切换到/usr/share/man目录
    (2)切换到/usr目录
    (3)切换到/usr/share/doc
    (4)切回/usr目录 
    (5)切回到用户的工作目录

    linux@ubuntu:~$ cd /usr/share/man
    linux@ubuntu:/usr/share/man$ cd ../..
    linux@ubuntu:/usr$ cd ./share/doc
    linux@ubuntu:/usr/share/doc$ cd -
    /usr
    linux@ubuntu:/usr$ cd /home/linux
    linux@ubuntu:~$ 
     
10.帮助查看(查看命名帮助文件 查看函数帮助文件) 
1.命令
    man ls //查看ls帮助信息 q退出
    info ls //
    ls --help

2.查看函数 
    man 1 命令
    man 2 系统调用函数
    man 3 库函数 
    linux@ubuntu:~$ man 1 sleep
    linux@ubuntu:~$ man 3 sleep
3.touch   创建文件(文本文件)
    linux@ubuntu:~$ touch ./hahaha.c
    linux@ubuntu:~$ touch /home/hi
    touch: 无法创建"/home/hi": 权限不够
    注意:普通用户只能在工作目录下创建文件

4.mv  move 移动或者 移动并重命名
    (1)移动 mv 源文件 目标路径    
     linux@ubuntu:~$ mv hahaha.c Desktop/
    linux@ubuntu:~$ ls

    (2)移动并重命名   mv 源文件 目标文件名
    linux@ubuntu:~$ touch heihei
    linux@ubuntu:~$ ls
    linux@ubuntu:~$ mv heihei Desktop/houhou
    linux@ubuntu:~$ cd Desktop/
5.mkdir make directory 创建目录 
    linux@ubuntu:~$ mkdir xiaoming
    linux@ubuntu:~$ ls

    linux@ubuntu:~$ mkdir -p a/b/c/d/e  //创建多级目录
    
    练习: 
    在用户的工作目录下创建smile目录
    在smile中创建文件file.txt 
    将file.txt重命名为heihei.txt 
    将heihei.txt 移动到Desktop下
    回到工作目录

    linux@ubuntu:~$ mkdir smile
    linux@ubuntu:~$ touch ./smile/heihei.txt
    linux@ubuntu:~$ mv smile/heihei.txt smile/file.txt
    linux@ubuntu:~$ cd smile/
    linux@ubuntu:~/smile$ ls
    file.txt
    linux@ubuntu:~/smile$ mv file.txt /home/linux/Desktop
    
6.cp copy缩写 
(1)拷贝  cp 源文件 目的
    linux@ubuntu:~$ cp a.c smile
    linux@ubuntu:~$ cd smile/
    linux@ubuntu:~/smile$ ls
    a.c
    linux@ubuntu:~/smile$ 

(2)拷贝并重命名  cp 源文件 目的文件
linux@ubuntu:~$ cp a.c smile/b.c

7.rm remove删除一个文件
    linux@ubuntu:~$ rm a.c
    linux@ubuntu:~$ ls
 rm -r 删除目录
    linux@ubuntu:~$ rm -r smile
    linux@ubuntu:~$ ls

 rm -rf //强制删除

练习:
    创建目录/home/linux/source 
    在source下创建source1-source5共5个文件
    拷贝source1到/home/linux 
    拷贝source2到/home/linux并重命名为newsource2
    将source3重命名为s3 
    删除source4 
    删除source 

    linux@ubuntu:~$ mkdir /home/linux/source
    linux@ubuntu:~$ touch /home/linux/source/source{1,2,3,4,5} //同时创建5个文件
    linux@ubuntu:~$ ls /home/linux/source
    source1  source2  source3  source4  source5

    linux@ubuntu:~$ cp /home/linux/source/source1 /home/linux
    linux@ubuntu:~$ ls /home/linux  //ls 目录 显示目录下的文件
    linux@ubuntu:~$ cp /home/linux/source/source2 /home/linux/newsource2
    linux@ubuntu:~$ ls
    linux@ubuntu:~$ mv /home/linux/source/source3 /home/linux/source/s3
    linux@ubuntu:~$ rm /home/linux/source/source4
    linux@ubuntu:~$ rm -r source

8.文件查看
(1)cat 一般查看短小文件
    linux@ubuntu:~$ cat good.c
    linux@ubuntu:~$ cat -n good.c  //cat -n 查看文件时显示行号
 (2)more 可以实现分页查看
     enter 向下翻一行
     space 向下翻一页
     q 退出
     
     more stdio.h 
 
 
 (3)less 可以实现分页 支持向下向上翻 支持搜索
     上下键分别上下翻一行
     pageup 向上翻一页
     pagedown 向下翻一页 
     
     less stdio.h  //查看stdio.h 
     搜索:
     /关键字  N/n 跳到关键字  按q退出
     
(4)head 查看文件开头部分 默认前10行
    linux@ubuntu:~$ head /etc/passwd
    linux@ubuntu:~$ head -2 /etc/passwd  //查看前两行  head -行数  查看前几行
    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
     
(5)tail 查看文件的末尾部分     默认后10行 
    linux@ubuntu:~$ tail /etc/passwd
    linux@ubuntu:~$ tail -1 /etc/passwd  

9.linux文本编辑器
    gedit 可视化文本编辑器
    emacs
    vi linux默认安装编辑器
vi 编辑器有三种模式:命令行模式 插入模式 末行模式 
 (1)命令行模式:控制屏幕光标移动 删除 进入其他两种模式
    命令行模式进入插入模式:
     a 在光标的下一个位置插入 
     i 在光标的前一个位置插入 
     o 在光标所在行的下一行 新建一行插入
     I 在光标所在行的行首插入
     O 在光标所在行的上一行 新建一行插入
     A  在光标所在行的行尾插入
 
 
     Home 快速跳到行首
     End  快速跳到行尾
     gg 跳到首行
     G 跳到最后一行
     5gg 跳到第5行
     
     yy 复制 
     3yy 从光标所在行开始复制3行
     yG  复制从光标所在行到最后一行
     p 粘贴到光标下一行
     
     dd 剪切 删除 
     dG 剪切或删除从光标所在行到最后一行
     3dd 剪切或删除3行
     
     x 删除光标所在位置的字符
     X 删除光标前边的字符
     
     u 撤销 
     
  插入模式:切到其他两种模式 
  进入命令行模式:ESC--->进入末行模式:shift+;
  
 末行模式: 
 set nonu
 vsp a.c 分屏显示
 w  
 q 
 wq 
 w!
 q!
 wq!
 
 搜索:
 /关键字  n/N 跳到下一个关键字
 
 替换:
 s/arr/brr 用brr替换arr 替换光标所在行第一个匹配到的
 s/arr/brr/g 用brr替换arr 替换光标所在行所有匹配到的
 15,20s/good/haha/g  用haha替换good 替换15到20行所有匹配到的
 15,$s/apple/banana/g  用banana替换apple 替换15行到文件结尾所有匹配到的
 
 %s/banana/apple/g  全篇替换
 
 练习:
 (1)复制/usr/include/stdio.h 到/home/linux 
 cp /usr/include/stdio.h /home/linux 
 (2)复制文件从第5行开始的4行内容 将其粘贴到最后一行
  5gg-4yy-G-p 
 (3)删除文件的第16行
 16gg-dd 
 (4)删除文件的前10行
 gg-10dd
 (5)将剩余文件的第5行剪切到第10行下面
 5gg-dd-10gg-p 
 (6)将剩余文件的第5行到第8行的全部s替换为SS
 shift+; 
 5,8s/s/SS/g 
 (7)复制文件的全部内容将其粘贴到文件的最后一行下面
 gg-yG-G-p 
 (8)保存退出
 wq 
 
 
二、
1.ls续 
(1)ls 目录 显示目录内容
(2)ls -a  all 所有文件 包括隐藏文件
    .开头的文件 是隐藏文件     
(3)ls -l  显示文件详细信息
    linux@ubuntu:~$ ls -l hello.c
    -rw-rw-r--  1  linux        linux     248         6月 12 18:46    hello.c
    文件属性       文件所有者   所属组    文件大小    文件创建的时间  文件名

    -                
    文件类型        

    d 目录文件
    - 普通文件 
    l 链接文件
    c 字符设备文件
    b 块设备文件
    s 套接字文件
    p 管道文件

     rw-rw-r--    文件操作权限


    rw-     rw-      r--
    所有者  所属组    其他用户
    r 读
    w 写
    x 执行
    - 没有对应权限

    第一个 rw- 表示文件所有者对文件的访问权限 只能读写
    第二个 rw-  表示文件所属组对文件的访问权限 只能读写 
    第三个 r-- 表示其他用户对文件的访问权限 只读

(4)chmod 修改文件的访问权限
    u 表示所有者
    g 表示所属组
    o 表示其他用户
    a 代表u+g+o 
    + 表示添加权限
    - 表示去掉权限
    linux@ubuntu:~$ ls -l hello.c
    -rw-rw-r-- 1 linux linux 254  7月 28 00:49 hello.c

    linux@ubuntu:~$ chmod u+x hello.c
    linux@ubuntu:~$ ls -l hello.c
    -rwxrw-r-- 1 linux linux 254  7月 28 00:49 hello.c

    linux@ubuntu:~$ chmod u-x hello.c
    linux@ubuntu:~$ ls -l hello.c
    -rw-rw-r-- 1 linux linux 254  7月 28 00:49 hello.c

    linux@ubuntu:~$ chmod g-r hello.c
    linux@ubuntu:~$ ls -l hello.c
    -rw--w-r-- 1 linux linux 254  7月 28 00:49 hello.c

    linux@ubuntu:~$ chmod o+wx hello.c
    linux@ubuntu:~$ ls -l hello.c
    -rw--w-rwx 1 linux linux 254  7月 28 00:49 hello.c

    linux@ubuntu:~$ chmod a+x hello.c
    linux@ubuntu:~$ ls -l hello.c

三、用户管理 
1.linux有两种类型用户
  超级用户 -管理员 --root 拥有所有的权限(删除 安装 )
  普通用户(不可以安装软件 不可以关机 不可以在除了工作目录外的任何目录创建文件)    
2.查看当前登录的用户
 whoami 

3.如何切换到管理员
(1)默认管理员没开通 如何开通?
    linux@ubuntu:~$ sudo passwd root  //修改root用户密码
    [sudo] password for linux: 
    输入新的 UNIX 密码: 
    重新输入新的 UNIX 密码: 
(2)su 用户名  切换用户
     linux@ubuntu:~$ su root
    密码: 
    root@ubuntu:/home/linux# cd ~
    root@ubuntu:~# pwd
    /root
    root@ubuntu:~# 

4.root@ubuntu:~#  当前登录的用户+@+计算机名+:+所在路径+ # 表示超级用户 $普通用户  

5.切回账号:
   su 用户名 
   exit 
   
6.sudo  表示临时使用管理员权限 在执行某个命令时 使用管理员权限
    linux@ubuntu:~$ sudo touch /heihei
    [sudo] password for linux: 
    linux@ubuntu:~$ ls /
    
作业1:
定义关于仓库结构体
 包含成员:仓库号 环境信息(温度 湿度 光照) 货物信息(货物类型 货物编号)    

作业2:多个仓库

作业3:打印9*9乘法表
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
。。。。。

选择题-填空-编程
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值