linux中有哪些常见的默认shell?(etc/passwd中的默认shell常见的有哪几种?)

完整介绍及shell的含义(点这里

1、常见默认shell

在Linux中,用户的默认shell是在/etc/passwd文件中的第七个字段中指定的。不同的shell有不同的用途和行为。以下是几种常见的默认shell以及它们的作用:

/bin/bash

  • 许多Linux系统将 /bin/sh 实际上链接到 /bin/bash,因此当系统使用默认shell时,它使用的是Bash。

/usr/sbin/nologin

  • nologin shell实际上是一个用于禁止用户登录的占位符。当用户尝试登录时,系统将显示一个消息并禁止登录。通常用于系统账户或服务账户,以确保它们不能通过登录获取shell访问权限。

/bin/false

  • false是一个返回失败状态的命令。当用户尝试登录时,它将立即退出,因此用户无法成功登录。与nologin 类似,通常用于系统账户或服务账户,以防止非必要的登录。

 /bin/sh

  • 这通常是一个符号链接,指向系统上安装的默认shell。在一些系统中可能是bash,在一些较小的系统中可能是dash(Debian Almquist Shell)等。

/bin/zsh

  • Zsh是一种强化的shell,提供了许多有用的功能,类似于bash。有些用户选择将其作为他们的默认shell。

/usr/bin/fish

  • Fish是一种用户友好的shell,具有语法高亮、自动建议和其他交互式功能。

2、不同shell的区别

不同的shell在功能、语法和用途上可能存在一些差异,但一般而言,它们在权限方面没有本质的区别。在Linux和Unix系统中,shell通常只是用户与系统进行交互的一种方式,并不决定用户的权限。

主要的区别在于用户体验、交互性和脚本编程方面。以下是一些不同的shell以及它们的特点:

  1. Bash (/bin/bash):

    • Bash是一种功能强大的shell,支持交互式使用和脚本编程。它是大多数Linux系统的默认shell。
    • 具有丰富的命令历史、命令补全、条件测试、循环结构、函数、别名等功能。
  2. Zsh (/bin/zsh):

    • Zsh是一种强化的shell,提供高级的交互功能,如语法高亮、自动建议等。用户友好,适用于交互式使用。
    • 具有类似于Bash的功能,但还添加了一些额外的特性。
  3. Fish (/usr/bin/fish):

    • Fish是一种用户友好的shell,具有简单且易于记忆的语法。适合新手用户。
    • 提供自动建议、语法高亮、易读的语法等特性。
  4. Dash (/bin/dash):

    • Dash是一种轻量级的POSIX兼容shell,通常用于系统启动脚本的解释器。
    • 相对于Bash来说,它更轻量,适用于一些资源有限的环境。

在Linux系统中,用户的权限主要由用户和用户组的设置,以及文件和目录的权限控制(如chmod命令)决定。不同的shell并不直接影响用户的权限,而是提供了不同的用户体验和工具集。系统管理员可以在用户的 /etc/passwd 条目中指定用户的默认shell。

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值