Shell基础-1:Shell概述

作者: 曹务强 | 来源:发表于2017-12-01 00:12 被阅读18次

在生物信息学分析过程中,我们经常会使用Shell编写一些脚本,以便执行程序化的分析。因此,我们有必要对Linux下的Shell语法进行学习和了解,一方面可读懂别人写的Shell脚本,另一方面也可以自己编写一些脚本,以提高效率。

1.什么是Shell

Shell是一个命令行解释器。它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

简单说,Shell相当于是一个翻译,把我们在计算机上的操作或我们的命令,翻译为计算机可识别的二进制命令,传递给内核,以便调用计算机硬件执行相关的操作;同时,计算机执行完命令后,再通过Shell翻译成自然语言,呈现在我们面前。


image

Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

也就是说,在Shell中我们不仅可以调用系统内置的命令,还可以自己编写程序,实现我们的个性化功能。

2.Shell的分类

  • Bourne Shell:从1979年起Unix就开始使用Bourne Shell,主文件名为sh,现已基本淘汰;

  • C Shell:主要在BSD版的Unix系统中使用,其语法和C语言类似而得名,在Linux中使用不多,但是Linux支持C Shll;

  • Shell的两种只要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh,在Linux中使用较多,其中Bash是Linux中的标准Shell,各发行版的语法基本一致;C家族主要包括:csh、tcsh。

在Linux系统中,我们可以使用echo $SHELL命令查看系统使用的什么Shell:

yjjh@yjjh:~$ echo $SHELL
/bin/bash # Ubuntu使用的Shell是bash

3.Linux支持的Shell

Linux系统支持的Shell类型写在/etc/shell文件中,我们可以打开该文件查看:

# 查看文件
vim /etc/shells
# Linux系统支持的Shell类型
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen

相关文章

  • Shell基础-1:Shell概述

    在生物信息学分析过程中,我们经常会使用Shell编写一些脚本,以便执行程序化的分析。因此,我们有必要对Linux下...

  • 8.Shell编程一:Shell基础

    Shell基础 1.Shell概述 Shell的执行原理:用户输入命令ls,通过Shell将ls转换成二进制传递给...

  • Shell基础

    Shell基础 Shell概述 1、Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux...

  • Shell-编程基础

    1、Shell概述 (1)Shell说明: Shell 就是命令解释器,而shell Script 是利用 she...

  • Linux学习-shell

    1.Shell概述 (1)Shell概念 (2)Shell分类 举例: 2.脚本执行方式 举例1: 举例2: 举例...

  • Shell基础-概述

    可能很多接触计算的小朋友、都或多或少的看到过这个单词,就是Shell,对于我来说,第一次看到这个单词是在学安卓系统...

  • 1_大数据之Shell基础

    1 Shell概述 2 Shell解析器 1️⃣Linux提供的Shell解析器 2️⃣bash和sh的关系 3️...

  • shell基础知识

    Shell 1. Shell脚本基本概述 1.1 什么是shell Shell是一个命令解释器,它在操作系统的最外...

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • [LN_06] Shell基础:Bash基本功能(别名|输出重定

    目录结构 一、Shell概述 1. Shell简介 & 工作原理 引入Shell:在系统终端输入的字符即ASCII...

网友评论

    本文标题:Shell基础-1:Shell概述

    本文链接:https://www.haomeiwen.com/subject/hkfibxtx.html