一、前言
目前可以在Linux系统上运行的shell有许多种:sh、bash、cshell、tcsh、zsh……但是对一台具体的系统来说,未必包括上面列的所有这些shell,很可能包括其中两三个。
那么我们如何查询系统中已经安装有哪些shell可供我们使用的呢?
二、查询系统中已安装可以使用的shell的方法
(一)/etc/shells文件
在Linux系统中,/etc目录是一个非常重要的目录,它包含了系统的配置文件和相关的配置信息。其中有一个名为shells的文件,这个文件记录了你当前Linux系统中所支持的shell信息,我们可以查看这个文件来了解系统所支持的shell。
需要注意的是,系统可能还有其他shell在别的路径下。
(二)查看/etc/shells文件内容的方法
查看/etc/shells文件内容的方法有很多,这里先介绍其中两个方法。
1.使用cat命令
Linux中的cat命令是“ concatenate ”的缩写,作为Linux / Unix等操作系统中最常用的命令之一,该 命令允许我们查看文件内容,创建单个或多个文件,连接文件以及在终端或文件中重定向输出。
当我们用cat命令来查看文件内容时,其功能类似DOS命令type。
实例:
user @myhost: ~>cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
可见当前系统中可用的shell有sh、dash、bash和rbash。
2.使用cp命令和/dev/stdout
Linux中的 cp 命令用于复制文件或目录,可以指定保留链接、文件属性、时间戳等选项。相当于DOS的copy或xcopy。
/dev/stdout是Linux中的标准输出,一般是电脑屏幕,在DOS中对应的则是con。
实例:
user @myhost: ~>cp /etc/shells /dev/stdout
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
我们使用cp命令将/etc/shells文件内容复制到/dev/stdout,同样可以看到/etc/shells文件的内容。