嵌入式学习day23-shell命令

linux软件编程学习大纲:

1.IO操作文件

2.多任务编程

3.网络编程

4.数据库编程

5.硬件设备管理


学习目标:

1.学习接口调用(第一层)

2.软件操作流程和思想(第二层)

3.软件设计思想和流程架构(第三层)


Linux系统概述:

        世界上第一款操作系统:unix

        操作系统为了屏蔽底层不同的硬件平台,为上层提供统一的接口

        GNU:GNU's Not Unix 开源 GitHub GPL协议

        林纳斯 Linux重写了unix操作系统,类Unix操作系统

        Linux应用场景:服务器、嵌入式

        GNU:Linux、Apache、Mysql、Python、LAMP

Linux系统简介:

        常见的Linux系统:Ubuntu、Deblan、Redhat、CentOS等

        Linux操作系统是操作系统的核心、也称为内核,内核的主要功能为:

                内存管理

                多任务管理

                文件系统管理

        shell是操作系统的外壳,主要作用为:

                保护Linux内核,防止用户直接操作内核导致的异常问题

                命令解释器的作用,用户可以通过命令给到shell,并转换为对应的内核代码实现功能

shell命令的执行流程:

shell命令

        基本的shell命令:

                ls(查看文件) 

                cd(进入目录)

                touch(创建文件)

                rm(删除文件)

                makdir(创建文件夹)

                rmdir(删除文件夹)

                cp(拷贝文件)

                mv(移动文件)

        文件查看命令:

                cat:查看文件中的内容

                head:查看文件开头内容

                tail:查看文件末尾内容

        通配符:

                多用来搭配shell命令使用,操作多个文件

                *:匹配任意长度、任意字符的文件名

ls file*.txt

                ?:匹配一位长度、任意字符的文件名

ls file_??.txt

                []:匹配一维长度,指定字符的文件名

        文件查找命令:

                find:

        查找文件

find . -name 文件名 

        查找包含某个字符串的文件

                whereis:查找二进制可执行程序

whereis valgrind

        管道:

                将前面命令的输出作为后续命令的输入

        重定向:

                将原本输出在终端的内容定向到文件中

                        覆盖重定向(将原来内容覆盖掉)

                        追加重定向(再远内容末尾添加新内容)   

    

        常见命令

                echo:在终端显示内容

                grep:查找包含字符串对应的行并显示

                练习:使用一条shell命令,实现找到在stdio.h的后200行中找到和extern相关的内容,写入文件record.txt文件中

        压缩和解压命令

                .tar.gz

                        压缩

                        解压

                .tar.bz2

                        压缩

                        解压

        用户管理命令:
                useradd:新建用户

                userdel:删除用户

                passwd:修改密码

                su:切换用户

                chmod:修改文件权限

                chown:修改文件的所属用户

                chgrp:修改文件所属组

shell脚本

        编程语言分类:

                编译型语言:

                        先编译再运行;

                        有丰富的数据类型、擅长计算;

                        执行效率高;

                        开发效率低;

                        C、C++、C#、Java;

                解释型语言:

                        边翻译边执行;

                        擅长对系统管理;

                        执行效率低;

                        开发效率高;

                        shell、Python、JavaScript;

        shell脚本编程:

                脚本的本质就是一系列shell命令的集合

                编程步骤:

                        ①编写脚本文件

vim filename.sh

                        ②使用chmod命令为脚本加上执行权限

chmod +x filename.sh

                        ③运行脚本

./filename.sh

                指定脚本对应的运行shell

#!/bin/bash

        shell脚本的输入和输出

                输入

                输出 

        shell脚本中的引号

                单引号:原封不动打印引号中的内容

                双引号:将双引号中的变量替换成对应的值打印 

   

                倒引号:将引号中的内容当作命令来处理

        shell中的变量

                环境变量:shell自带的一些变量,在程序运行时已经存在了 

                位置变量:

                自定义变量:

        分支结构

                if分支:

                     基本结构:

                     表达式可以由test 命令实现

                      test可以通过[]来替代

                case分支 :

                        基本结构:

        循环结构:

                while循环:

                        基本形式

                until:

                        基本形式

                for:

                        基本形式

        数组

                基本形式

        函数

                基本形式

                        

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值