Linux 的使用基础---Shell程序设计

简介:   Shell是Linux系统中的一个重要的层次,它是用户与系统交互作用的界面.Shell除了作为命令解释程序以外,还是一种高级程序设计语言。利用Shell程序设计语言可以编写出功能很强、但代码简单的程序。

  Shell是Linux系统中的一个重要的层次,它是用户与系统交互作用的界面.Shell除了作为命令解释程序以外,还是一种高级程序设计语言。利用Shell程序设计语言可以编写出功能很强、但代码简单的程序。 在linux系统的编程使用过程中,必须熟练掌握这些规则,才能越快越握的把我时间,编写出高效的程序。

一,shell概述

1.Shell的特点和主要版本

2.Shell程序示例(shell程序也可存放在文件上)

3.Shell过程的建立和执行(称作Shell文件或者Shell脚本(Shell script))

  建立shell 过程的步骤同建立普通文本过程相同,利用编辑器(vi或者gedit)进行程序录入和编辑加工。执行Shell过程的方式主要有以下3种。

  (1)输入定向到Shell过程

  (2)以过程名作为参数

  (3)将Shell过程改为可执行文件

二,Shell变量{环境变量  和     临时变量(在shell过程中又分为用户定义的变量和位置参数)}

1.用户定义的变量(一般形式为:变量名=字符串)例如:变量名=字符串

2.输入/输出命令

(1)read命令(可以利用read命令由标准输入读取数据,然后赋给指定的变量。其一般格式是  read 变量1[变量2…])

(2)echo命令(在前面例子中已使用过echo命令,它将其后的参数在标准输出上输出。各参数间以空格隔开,以换行符终止。)

三,Shell中的特殊字符

1.通配符(通配符用于模式匹配,如文件名匹配、路径名搜索、字符串查找等。 )

2.引号

  (1)双引号(由双引号括起来的字符,除$、倒引号和反斜线(\)仍保留其特殊功能外,其余字符通常作为普通字符对待。)

  (2)单引号(由单引号括起来的字符都作为普通字符出现。 )

3.输入输出重定向符(执行一个Shell命令时通常会自动打开3个标准文件,这就是:标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准出错输出文                                 件(stderr),这两个文件都对应终端的屏幕。)

  

(1)输入重定向符(输入重定向符“<”的作用是把命令(或可执行程序)的标准输入重新定向到指定文件)

(2)输出重定向符(输出重定向符“>”的作用是把命令(或可执行程序)的标准输出重定向到指定文件。这样,该命令的输出就不在屏幕上显示,而是写入指定文件中。)

4.注释、管道线和后台命令

(1)注释(以#开头的表示注释)

(2)管道线(在Linux系统中管道线是由竖杠(|)隔开的若干个命令组成的序列)

    在管道线中,每个命令运行时都有一个独立的进程。前一个命令的输出正是下一个命令的输入。而管道线中有一类命令也称作“过滤器”,过滤器首先读取输入,然后将输入  以某种简单方式进行变换(相当于过滤),再将处理结果输出,例如grep、tail、sort和wc等命令就称为过滤器。

  一个管道线中可以包括多条命令,例如,

      ls | grep m?.c | wc –l

  打印出当前目录文件名是以m打头、后随一个字符的所有C文件的数目。

(3)后台命令(通常,在主提示符之后输入的命令都立即得到执行。在执行过程中,用户和系统可以发生交互作用—用户输入数据,系统进行处理,并输出运行结果。这种工作方    式就是前台方式。但是有些程序的运行要花费较长时间,如调用C编译对C程序进行编译。如果想在编译的同时做别的事情,那么就输入命令

        $cc m1.c&       即在一条命令的最后输入“&”符号,Shell就在后台启动该程序,并且马上显示主提示符,提醒输入新的命令。)

 

 

 

相关文章
|
6月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
591 9
|
6月前
|
算法 Linux Shell
Linux实用技能:打包压缩、热键、Shell与权限管理
本文详解Linux打包压缩技巧、常用命令与原理,涵盖.zip与.tgz格式操作、跨系统传文件方法、Shell运行机制及权限管理,助你高效使用Linux系统。
Linux实用技能:打包压缩、热键、Shell与权限管理
|
6月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
596 2
|
8月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
1030 1
|
11月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1444 25
|
10月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
315 4
|
10月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
564 3
|
11月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
261 18
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
1142 32
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
1064 0
Linux 如何更改默认 Shell