完整教程: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.函数

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

posted @ 2025-08-11 15:04  wzzkaifa  阅读(1)  评论(0)    收藏  举报