• Linux常用shell种类


      不同的shell具备不同的功能,shell还决定了Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。

    查看自己的服务器支持什么shell

    # cat /etc/shells 
    
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    # chsh -l
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin

    查看当前的shell

    # echo $SHELL
    /bin/bash

    bash
    大多数Linux系统默认使用的shell,bash shell是Bourne shell 的一个免费版本,它是最早的Unix shell,bash还有一个特点,可以通过help命令
    来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。

    csh
    C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,
    已经被/bin/tcsh所取代。

    ksh
    Korn shell 的语法与Bourne shell相同,同时具备了C shell的易用特点。许多安装脚本都使用ksh,ksh 有42条内部命令,与bash相比有一定的限制性。

    看看相应的目录中有无ksh
    # ls /bin/ksh
    
    如果命令安装就成了。
    # yum install ksh

    查看
    # ll /bin/ksh
    lrwxrwxrwx 1 root root 21 May  8 09:26 /bin/ksh -> /etc/alternatives/ksh


    tcsh
    tcsh是csh的增强版,与C shell完全兼容。

    sh
    是一个快捷方式,已经被/bin/bash所取代。

    nologin
    指用户不能登录

    zsh
    目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用
    该shell。

     

    改变shell

    当前用户改变自己的shell(普通用户也可以执行)

    [root@localhost ~]# chsh            #必变当前用户的shell 
    Changing shell for root.
    New shell [/bin/bash]: /bin/csh     #输入新的shell地址
    Shell changed.
    
    [root@localhost ~]# chsh -s /bin/csh #改变当前用户shell,设置为 /bin/csh
    Changing shell for root.
    Shell not changed.

    还有一种方法,需要管理员权限

    # usermod -s /bin/sh xu

     

     

     

     

     

     

  • 相关阅读:
    内存屏障指令
    k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之功能描述
    k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之概述
    Haskell 笔记 ③
    UVA 11754 (暴力+中国剩余定理)
    Haskell 笔记 ②
    Haskell 笔记 ①
    HDU 1072(记忆化BFS)
    POJ 2096 (概率DP)
    HDU 4405 (概率DP)
  • 原文地址:https://www.cnblogs.com/augusite/p/10831539.html
Copyright © 2020-2023  润新知