linux默认的shell
❶ 什么是默认登录shell
就是说 这个shell是可以用于用户登录使用的,比如x0dx0a /bin/bash ,/bin/sh ,/bin/csh ??x0dx0a一般linux默认的用户shell都是bash ,也就是说你可以登录进去散森敲命令。x0dx0ax0dx0a非登陆shell ,经典的 /bin/nologin 就是一个非登陆shell,也就是说如果一个用户默认的shell是它的话,这个用户即使登录进Linux也不无法使用Linux。x0dx0a=================x0dx0ashell是用户和计算机交流的中介,“登录shell”保证用户和计算机交流,“非登陆shell”无法让用户与计算机交流。x0dx0a==================x0dx0ax0dx0a关于用户的默认登录shell是在 /etc/passwd 文件中记录的。x0dx0a“非登陆”shell 有它特定的用途唤森,比如一个用Linux搭建一个ftp服务器,并且创建了很多的ftp用户,那么就可以将这些用户的默认shell改为nologin,这冲链亩样一来,这些虽然是Linux上的用户可是却无法登录进Linux主机,只能登录ftp服务器了。保证了安全性。
❷ Linux系统的主要shell的名字和它们各自默认的提示符是什么
Linux系统的主要 shell 有以下几种:
BASH (Bourne-Again SHell) 默认提示档高符:$
SH (Bourne SHell) 默认提示符:燃衫$
CSH (C SHell) 默认提示行段尺符:%
TCSH (Tenex C SHell) 默认提示符:%
KSH (Korn SHell) 默认提示符:$
其中,BASH 是最常用的 shell。
❸ Linux可用的Shell有哪些
同Linux本身一样,Shell也有多种不同的版本。
目前主要有下列版本的Shell:
Bourne Shell:是贝尔实验室开蔽巧滚发的。
BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。
Korn Shell:是宏余对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
Z Shell:Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,宽弯同时又增加了自己独有的特性。
❹ linux shell有哪些 类型
2.4脚本语言的种类
2.4.1 Shell脚本语言的种类
Shell脚本语言是弱类型语言(无需定义变量的类型就可使用),在Unix/Linux中主要有两大类Shell,一类是Bourne shell,另一类是C shell。
1. Bourne shell
Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again Shell(bash)三种类型。
Bourne shell (sh)由AT&T的Steve Bourne开发,是标准的UNIX Shell,很多UNIX系统都配有sh。
Korn shell (ksh)由David Korn开发,是Bourne shell(sh)的超集合,并且添加了csh引入的新功能,是目前很多UNIX系统标准配置的Shell,在这些系统上的/bin/sh往往是指向/bin/ksh的符号链接。
Bourne Again Shell即bash由GNU项目组开发,主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,bash从csh和ksh借鉴了很多功能,是各种Linux发行版默认配置的Shell,在Linux系统上的/bin/sh往往是指向/bin/bash的符号链接。虽然如此,bash和sh还是有很多的不同,一方面,bash扩展了一些命令和参数,另一方面,bash并不完全和sh兼容,它们有些行为并不一致,但大多数企业运维的情况下区别不大,特殊场景可以使用bash替代sh。
2. C shell
C shell又包括csh、tcsh两种类型。
csh由Berkeley大学开发,随BSD UNIX发布,它的流程控制语句很像C语言,支持很多Bourne Shell所不支持的功能,例如:作业控制、别名、系统算术、命令历史、命令行编辑等。
tcsh是csh的增强版,加入了命令补全等功能,在FreeBSD、Mac OS X等系统上替代了csh。
以上介绍的这些Shell中,较为通用的是标准的Bourne shell (sh)和C shell (csh)。其中Bourne shell (sh)已经被Bourne Again shell (bash) 取代。
可通过以下命令查看CentOS7系统的Shell支持情况。
[root@oldboy ~]# cat /etc/shells
/bin/sh #<==这是Linux里常用的Shell,指向/bin/bash。
/bin/bash #<==这是Linux里常用的Shell,也是默认使用的Shell。
/usr/bin/sh
/usr/bin/bash
Linux系统中的主流Shell是bash,bash是由Bourne Shell(sh)发展而来的,但bash还包含了csh和ksh的特色,但大多数脚本都可以不加修改地在sh上运行,如果你使用sh后发现结果和预期有差异,那么可以尝试使用bash替代sh。
内容来源:《跟老男孩学linux运维:Shell高级编程实战》第02章_Shell脚本初步入门
❺ 什么是Linux的登录shell与非登录shell
Linux的登录shell与非登录shell的含义及区别:
1、含义:登录shell,指的是当用户登录系统时所取的那个shell,登录shell属于交互式shell。
登录shell将查找4个不同的启动文件来处理其中的命令,用户登录后,在终端上输入命令,shell立即执行用户提交的命令,当用户退出后,shell也终止了。
非交互式:即shell与用户不存在交互,而是以shellscript的方式执行的,shell读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,shell也就终止了。
2、完整度不同:如果启动了一个bash shell而没有登入系统(如在CLI提示符中键入bash),则启动了一个交互式非登录shell。
交互式非登录shell执行/bashrc文件中的命令,在每次执行shell脚本时,都会重新读取这个文件,所以是最完整的。
3、使用情况不同:登录shell的初始化文件(比如.bash_profile)通常会运行这个文件。这样,登录shell和非登录shell都可以使用.bashrc中的命令。
4、登陆方式不同:登录 shell 需要用户名、密码登录后进入的 shell,或者通过--login选项生成的 shell 。
非登录 shell 是指不需要输入用户名和密码即可打开的 shell,比如输入命令bash或者sh就能进入一个全新的非登录 shell,在 Gnome 或 KDE 中打开一个 “terminal” 窗口,也是一个非登录 shell。
5、数值不同:
查看$0的值,登录shell返回-bash,而非登录shell返回的是bash。
需要注意的是:执行exit命令,退出的shell可以是登录或者非登录shell;执行logout命令,则只能退出登录shell,不能退出非登录shell。
(5)linux默认的shell扩展阅读:
登陆shell通常指的是:
1、用户通过输入用户名/密码(或证书认证)后启动的shell;
2、通过带有-l|--login参数的bash命令启动的shell。
例如,系统启动、远程登录、使用su-切换用户、通过bash--login命令启动bash等。
而其他情况启动的shell基本上就都是“非登陆shell”了。
例如,从图形界面启动终端、使用su切换用户、通过bash命令启动bash等。
❻ Linux操作系统默认的shell程序是什么
LINUX默认的CLI(command line interface)为BASH,默认的GUI(graphical user interface)为GNOME.
❼ linux常用的shell有哪些
最常用的当然是bash这个shell了,不需要多说,因为大部分Linux发行版都默认是这个shell;还有C shell用户也很多,因为它的语法和C语言有点像;还有一个ash,念做A Shell,在智能路由器系统OpenWrt、LEDE上作为默认shell,话说玩路由器Linux系统OpenWrt的也不少啊,好多硬件论坛上都知道这个系统,所以ash也算是常用的Linux shell吧。
❽ linux中shell分多少种,都有什么区别
Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,常见的脚本解释器有:
bash:是Linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。
sh: 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。
另外还有:ash、 csh、 ksh等。
(8)linux默认的shell扩展阅读:
常见的编程语言分为两类:一个是编译型语言,如:c/c++/java等,它们远行前全部一起要经过编译器的编译。另一个解释型语言,执行时,需要使用解释器一行一行地转换为代码,如:awk, perl, python与shell等。
Shell 经过了POSIX的标准化,所以它是可以在不同的linux系统上进行移植。
关于注释的问题: 在shell中使用#进行注释,注意,sh里面没有多行注释,只能每一行加一个#号;
❾ linux中centos6.6版本的默认登录shell是
linux中centos6.6版本的默认登录shell是/bin/bash。s。shell在Linux系统中是用户和系统交互的接口,即外壳的意思,用户输入的命令由shell接受,并将其发送到内核进行执行。shell在Linux中类似于java中的jvm,也就是命令解释器,对用户输入的命令进行解释御拍,将解释后的命令发送到内核。shell的使用,在用户打开仿真终租拆明端或者用其他链接软件登录后,就自动进入一个默认的shell程序,用户可以看到shell的提示符。centos默认使用的shell程序是bash,在Linux中一般都提供多种shell程序,用户通过命令chsh-l可以查看系统提供的shell程弊告序。