一、shell种类

  • sh(Bourne shell):第一个流行的shell由Steven Bourne发展出来的
  • csh(C shell):由伯克利大学的Bill Joy设计依附于BSD版的UNIX系统中的shell,这个语言有点类似C语言,所以简称csh
  • tcsh:整合了csh,提供了更多的功能
  • bash:当前Linux版本的shell。这个shell是Bourne shell的增强版本,也是基于GNU的架构下的发展
  • 商业上用的K shell,还有TCSH等

二、Linux下shell种类(/etc/shells文件)

  • /etc/shells文件:
    • 功能:这个文件记录了你当前Linux系统中所支持的shell版本(只是其中的一部分,还有其他shell在别的路径下)
    • 作用:系统上合法的shell都要写入到这个文件中。当系统进行某些服务时就能够依据这个文件的记录来进行操作
  • 查看:下面以我的centos为例,可以看到当前系统支持4种类型的shell(只是系统中其中一部分)

三、系统不同用户的默认shell(/etc/passwd文件)

  • /etc/passwd文件:不同的用户登录系统时,系统就会给我们一个默认shell来进行工作,那这个不同使用者默认的shell分别是什么哪?这些记录都在/etc/passwd文件中
  • 查看:以我的centos系统为例
    • 前面的红框框代表:不同用户/系统等。最后面的红框框代表:该用户/系统使用的shell版本
    • 例如可以看到root用户使用bash,bin使用nologin

四、Bash shell的功能

  • 概念:bash是Linux默认的shell,主要兼容与sh

功能①:历史命令

  • ~/.bash_history文件:bash记录了你曾经使用过的命令,不同的用户使用过的历史命令也不同,这些历史命令都记录在自己家目录下的.bash_history文件中
  • ~/.bash_history记录的是你上一次登录系统所执行过的命令,而至于这一次所执行过的命令都被缓冲在内存中,当你系统关机/重启后才会更新到~/.bash_history文件中

功能②:命令与文件补齐功能(tab键)

  • Linux系统下tab键补齐功能十分好用
  • 若安装了bash-completion软件,则在某些命令后面使用Tab按键时,可以进行选项与参数补齐的功能

功能③:命令别名设置功能(alias)

  • alias命令:这个命令可以给命令取别名

功能④:任务管理、前台、后台控制

  • 任务管理的用途广泛,可以将人物丢到后台运行
  • 任务前、后台的控制可以让任务进行的更为顺利

功能⑤:程序化脚本(shell scripts)

  • 从前DOS年代需要将一堆命令写在一起来形成批处理文件(编程语言书写)
  • 而在Linux系统中,可以通过shell提供的环境变量以及相关命令来设计shell脚本,就能够实现相应的功能

功能⑥:通配符*

  • Linux使用*通配符,使用方便

  • 我是小董,V公众点击"笔记白嫖"解锁更多【Linux入门基础】资料内容。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐