Shell基础-1:Shell概述

在生物信息学分析过程中,我们经常会使用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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,738评论 9 468
  • 一,shell题记 不懂shell的程序员不是好程序员,学习shell是为了自动化,使用自动化可以非常有效的提高工...
    架构师小秘圈阅读 8,746评论 3 70
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,270评论 2 33
  • 概述 首先,咱们来了解一下,什么是Shell。操作系统内核给我们提供了各种接口,同时也提供了各种用户层的库,理论上...
    keysaim阅读 1,468评论 0 0
  • R:不带情绪地描述行为、至少提出一个解释、表达说话者的感受、描述情境的结果和说话者的意图。用这样的方式可以创造较为...
    心声树洞阅读 117评论 0 0