Linux Shell脚本系列教程(一):Shell入门

 更新时间:2015年06月02日 14:44:42   投稿:junjie  
这篇文章主要介绍了Linux Shell脚本系列教程(一):Shell入门,本文讲解了Shell简介、Shell基本操作、如何打开Shell终端、Shell脚本的概念、如何运行Shell脚本、Shell脚本的注释等基础知识,需要的朋友可以参考下

一、Shell简介

诸多类Unix操作系统的设计令人惊叹。即便是在数十年后的今天,Unix式的操作系统架构仍是有史以来最佳的设计之一。这种架构最重要的一个特性就是命令行界面或者shell。shell环境使得用户能与操作系统的核心功能进行交互。术语脚本更多涉及的便是这种环境。编写脚本通常使用某种基于解释器的编程语言。shell脚本本质上就是一些文本文件,我们可以将一系列需要执行的命令写入其中,然后通过shell来执行。

在这里我们介绍的是Bash shell(Bourne Again Shell),它是目前大多数GUN/Linux系统默认的shell环境。书中所有的实验都是在Ubuntu14.04 LTS环境下完成的。

二、基本操作

1.打开终端

在ubuntu14.04 LTS系统中,已经默认安装了一个Terminal,我们可以通过多种方法打开终端。这里介绍两种:

方法一:通过系统自带的检索系统,我们可以轻松找到终端(Terminal),单击即可打开。检索系统可以通过快速启动栏右上角的按钮启动。
方法二:为了之后可以方便的打开终端,建议将终端固定在快速启动栏。操作方法为:通过方法一打开终端后,快速启动栏会出现一个终端的图表,在图表上单击鼠标右键,选择“固定在启动栏”即可将终端固定在快速启动栏。

2.终端初始化界面

默认情况下,终端提示符为:username@hostname或者root@hostname#。代表普通用户,#代表root用户。
例如:我在打开终端后,提示符为:wxb@ubuntu:~$。
root是linux系统中权限最高的用户,能力大风险也大,因此不介意使用root用户作为登陆系统的默认用户。

3.切换用户

通常情况下,对于个人版linux操作系统,系统上会存在两个用户,即用户自己以及root用户。对于使用者来说,时有需要切换用户,以执行一些普通用户不能执行的操作,此处提供两种方法切换用户。
方法一:临时切换。顾名思义,这种切换方法仅仅是临时的,当指令执行完成后,就会切换到原来的用户。切换指令为:sudo command, sudo 是super user do 的简写。

方法二:长久切换。顾名思义,使用这种方法切换后,指令执行完成后不会返回普通用户。切换指令为:su,su是switch user的简写,之后会提示输入密码等完成用户切换。

4.Shell脚本

下面这段脚本用于想终端打印 Hello world! 字符串。

复制代码 代码如下:

#!/bin/bash
echo "Hello World!"

shell脚本的起始行通常是 #!/bin/bash,其中/bin/bash是解释器的路径,用于解释执行后续命令。各命令之间以 换行符 或者 分号 间隔。

5.运行脚本

在Ubuntu中,有多中方式可以运行脚本。
方法一: bash test.sh,在这种情况下,脚本文件的首行可以不必是”#!/bin/bash”,因为在这种方法下已经指定了解释器。
方法二: 首先修改脚本文件的权限 chmod a+x test.sh,这条指令主要是赋予脚本文件可执行权限。然后执行文件 ./test.sh即可;或者也可以通过完整路径来执行脚本。

6.脚本注释

在shell脚本中也不例外,我们需要在某些位置提供注释行,似的代码易于理解。#后面的内容为注释内容,不会被解释执行。注意:#是单行注释符。

相关文章

  • Shell中正则表达式及sed和awk常见问题

    Shell中正则表达式及sed和awk常见问题

    本文主要介绍了Shell中正则表达式及sed和awk常见问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • expect中为send语句上加变量的代码

    expect中为send语句上加变量的代码

    expect中为send语句上加变量,感兴趣的朋友可以看看
    2013-02-02
  • Shell中case...in分支语句的应用

    Shell中case...in分支语句的应用

    shell作为一种脚本编程语言,同样包含循环、分支等其他程序控制结构,从而轻松完成更加复杂、强大的功能,本文主要介绍了Shell中case...in分支语句的应用,感兴趣的可以了解一下
    2023-08-08
  • bash 循环中变量作用范围的问题分析

    bash 循环中变量作用范围的问题分析

    大家在bash编写中,经常需要用到循环,但循环中变量作用范围的问题有些朋友不是很懂,这里简单分享下,方便需要的朋友
    2013-01-01
  • 实例详解Linxu中df命令

    实例详解Linxu中df命令

    df 即“可用磁盘”disk free,用于显示文件系统的磁盘使用情况,本文通过一些例子给大家讲解linux df命令,感兴趣的朋友一起学习吧
    2015-11-11
  • shell子进程多任务实现进程高并发

    shell子进程多任务实现进程高并发

    本文主要介绍了shell子进程多任务实现进程高并发,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 利用Shell 脚本解决DDOS攻击问题

    利用Shell 脚本解决DDOS攻击问题

    这篇文章主要介绍了利用Shell 脚本解决DDOS攻击问题的相关资料,需要的朋友可以参考下
    2017-06-06
  • 详解Linux常用的四种压缩命令

    详解Linux常用的四种压缩命令

    这篇文章主要详细介绍了Linux常用的四种压缩命令,tar命令,gzip命令,rar命令和zip命令,并通过代码示例给大家讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-03-03
  • linux下开启php的sockets扩展支持实例

    linux下开启php的sockets扩展支持实例

    下面小编就为大家带来一篇linux下开启php的sockets扩展支持实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • linux压缩常用命令小结

    linux压缩常用命令小结

    这篇文章主要介绍了linux压缩常用命令知识,包括压缩解压缩方面的内容,本文给大家介绍的非常详细,需要的朋友参考下吧
    2017-03-03

最新评论