Linux软件编程:shell

        学习接口调用-->软件操作流程和思想-->软件设计思想和流程架构

1.IO操作文件

2.多任务编程

3.网络编程

4.数据库编程

一、Linux系统概述

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

        2.操作系统存在意义:为了屏蔽底层不同的硬件平台,为上层提供统一的接口

        3.GNU:开源组织,GPL协议

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

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

        6.GNU:Linux、Apache,Mysql,Python,LAMP

二、Linux系统简介

       1.常见Linux系统:Ubuntu、Debian、Redhat、CentOS等

        2.Linux操作系统是操作系统的核心,也称内核

        3.linux内核的主要功能:内存管理、多任务管理、文件系统管理、多任务间通信、网络管理

三、shell命令

(一)shell的主要作用(shell是操作系统的外壳)

        1.保护linux内核,防止用户直接操作内核导致异常问题

        2.命令解释器的作用(f翻译助理),用户通过命令给shell,并转换为对应的内核代码实现功能

(二)shell命令的执行流程:用户->shell命令->内核->硬件->用户

(三)常用的shell命令

        1.基本shell命令:ls、cd、touch、rm、mkdir、rmdir、cp、mv

        2.文件查看命令

                2.1cat(cat+文件名):查看文件中内容

                2.2head(head+文件名):查看文件开头内容

                        head -n行数 文件名:查看前n行

                2.3tail(tail+文件名):查看文件末尾内容

                        tail -n行数 文件名:查看后n行

        3.文件查找命令

                3.1find(find .-name 文件名):在当前目录下查找文件

                3.2查找包含某个字符串的文件:find . type f -print0 | xargs -0 grep -1 "字符串"

                3.3whereis(whereis valgrind):查找二进制可执行文件

        4.通配符

                4.1 *:(ls file*.txt)匹配任意长度、任意字符的文件名

                4.2 ?:(ls file_??.txt)匹配一位长度、任意字符的文件名

                4.3 []:(ls file_[1-5].txt或者ls file_[^3].txt或者ls file_[1,3,5].txt)匹配一位长度、指定字符的文件名

        5.常见命令

                5.1echo(echo "hello"):在终端显示

                5.2grep(grep "字符串" 文件名):查找包含字符串对应的行并显示

        6.管道:将前面命令的输入作为后续命令的输入

                6.1./a.out | grep "字符串"

                6.2ls file* | grep ".sh"

        7.重定向:将原本要输出在终端的内容定向到文件中

                7.1覆盖重定向(>):原来被覆盖

                7.2追加重定向(>>):在原来基础上加上

        8.压缩和解压命令

                8.1tar.gz格式

                     压缩:tar -zcvf 文件名.tar.gz 目录名/*

                     解压:tar -zxvf 文件名.tar.gz

                8.2tar.bz2格式

                        压缩:tar -jcvf 文件名.tar.bz2 目录名/*

                        解压:tar -jcvf 文件名.tar.bz2 

        9.用户管理命令

                9.1useradd(sudo useradd 用户名):新建用户

                9.2userdel(sudo userdel 用户名):删除用户

                9.3passwd(修改密码):sudo passwd 用户名

                9.4su(切换用户):su 用户名                  exit 退出当前用户

                9.5chmod(修改文件权限):

                        

                9.6chown(修改文件的所属用户):sudo chown 用户名 文件名

                9.7chgrp(修改文件的所属组):chgrp 组名 文件名

四、shell脚本

(一)编程语言分类

        1.编译型语言

                1.1先编译在运行

                1.2有丰富的数据类型,擅长计算

                1.3执行效率高

                1.4开发效率低

                1.5C、C++、C#、java

        2.解释性语言

                2.1边编译边执行

                2.2擅长对系统维护管理

                2.3执行效率高

                2.4开发效率低

                2.5shell、python、javascript

(二)shell脚本编程(本质:一系列shell命令的集合)

        1.编写步骤

                1.1编写脚本文件:vim filename .sh

                1.2使用chmod命令为脚本加上执行权限:chmod 0777+x filename.sh

                1.3运行脚本:./filename.sh

        2.指定脚本对应的运行shell:#!bin/bash

        3.shell脚本的输入和输出

                3.1输入(read filename):  从终端接收输入放入filename变量中      

                3.2输出(echo $filename):将变量filename中的内容打印在屏幕上

        4.shell脚本中的引导

                4.1单引号(echo'$filename'):原封不动打印里面内容

                4.2双引号(echo"$filename"):将里面的变量换成对应的值打印

                4.3倒引号(echo`seq 10`):将里面内容当命令来处理

        5.shell中的变量

                5.1环境变量(HOME、PWD、PATH):shell自带的一些变量,在程序运行时已经存在

                5.2位置变量

                5.3自定义变量:value = 0        $value

        6.分支结构

                6.1if分支(test可以用[]代替)

                        ①基本结构

                        ②表达式可以由test命令实现(man test)

                6.2case分支

                  

        7.循环结构

                7.1while

                        while        表达式

                        do

                                语句块

                        done         

                7.2uniti   (判断条件与while相反)

                          while        表达式

                          do

                                语句块

                          done     

                7.3for

                        for     i      in   数据集

                        do

                                语句块

                        done

        8.数组的使用

                

        9.函数

                  ​​​​​​​        ​​​​​​​        ​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值