【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。

可以说,shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度。

注意:单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Linux 基础。

Shell有两种执行命令的方式:

  • 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
  • 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。

Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。

Shell初学者请注意,在平常应用中,建议不要用 root 帐号运行 Shell 。作为普通用户,不管您有意还是无意,都无法破坏系统;但如果是 root,那就不同了,只要敲几个字母,就可能导致灾难性后果。

 

时间: 2024-12-17 03:26:23

【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式的相关文章

Shell简介:什么是Shell,Shell命令的两种执行方式

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支.它虽然不是Unix/Linux系统内核的一部分,它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序

Shell三种执行方式(简单参数说明)

Shell三种执行方式   (非原创,忘记了是谁的博客叻) 1: . 文件名 1.source命令用法:   source FileName    作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限"     注:该命令通常用命令"."来替代.     如:source bash_profile   . bash_profile两者等效.     source(或点)命令通常用于重新执行刚修改的初始化文档.    

Django搭建简易博客教程(01)-Django简介

a-terminal: 写作目的 喜欢一个学习观点以教促学, 一直以来, 学习的时候经常会发现, 某个方法某个问题自己已经明白了, 但是在教给别人的时候确说不清楚, 所以慢慢的学会了以教促学这种方法, 在教给别人知识的同时也能够提升自己对语言, 对框架的理解. 希望达到的目标: 希望能写出一个系列文章, 我也不知道到底能写多少 能够让认真阅读这个系列的文章的人, 能在读完之后做出一个简单的博客 希望能够加深自己对Django的理解 Django简介 Django是Python中目前风靡的Web

Shell脚本的三种执行方式

Shell脚本的执行方式可以有以下几种: 方式一:  ./script.sh # 利用小数点来执行 方式二:  sh script.sh 或 bash script.sh # 利用bash(sh)来执行脚本 前面两种方式其实都是一样的:都是在当前父进程下的子进程中执行,子进程完成后,子进程中的各项变量或操作将会结束而不会传回到父进程中.举例来说: 可以看到,执行后再看脚本中两个变量,在父进程中不起作用! 备注: 如果在script2.sh文件里面执行script1.sh的脚本,那么就是执行.  

Activiti基础教程--01(简介、代码生成Activiti的25张表、Activiti配置文件activiti.cfg.xml生成25张表、在Eclipse上安装Activiti插件)

一.简介 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现. 创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来. Activiti是一个独立运作和经营的开源项目品牌,并将独立于Alfresco开

[C#教程01]C# 简介

C# 简介 C# 是一个现代的.通用的.面向对象的编程语言,它是由微软(Microsoft)开发的,由 Ecma 和 ISO 核准认可的. C# 是由 Anders Hejlsberg 和他的团队在 .Net 框架开发期间开发的. C# 是专为公共语言基础结构(CLI)设计的.CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言. 下面列出了 C# 成为一种广泛应用的专业语言的原因: 现代的.通.. C# 是一个现代的.通用的.面向对象的编程语言,它是由微软(

linux shell中不显示路径了,显示为-bash-4.1#的两种解决办法

出现这个问题的原因是因为没有配置.bash_profile的问题,或者是我们不小心清空或删除了.bash_profile文件. 办法一:修改 ~/.bash_profile文件 步骤如下: vim ~/.bash_profile (不用管.bash_profile这个文件有几个,自己新建一个也是可以的) 在最后加上 export PS1='[\[email protected]\h \W]\$' 然后执行 source ~/.bash_profile 这样shell就可以显示路径了. 方法二:拷

用Python和NetCore、Shell分别开发一个Ubuntu版的定时提醒(附NetCore跨平台的两种发布方式)

Python3 与 C# 基础语法对比:https://www.cnblogs.com/dotnetcrazy/p/9102030.html 平时经常用定时提醒来提高工作效率,到了Linux....蒙圈了,以前C#写的不能跨平台啊,于是就有了这篇文章~(有些人喜欢用番茄工作法,这个算是个福利了) 跳转到Python:https://www.cnblogs.com/dotnetcrazy/p/9111200.html#python 先NetCore吧:(old code:me) 核心代码:Proc

shell 自动交互式处理命令的两种方法实践

1:use echo -e example: echo -e "n\np\n1\n\n+100M\nn\np\n2\n\n+1024M\nw\n"|fdisk /dev/vdb \n代表回车 [[email protected] ~]# fdisk -l /dev/vdb Disk /dev/vdb: 8589 MB, 8589934592 bytes16 heads, 63 sectors/track, 16644 cylindersUnits = cylinders of 1008