专栏首页黑白天Linux常用shell种类

Linux常用shell种类

定义:

1.shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。shell既是一种命令语言,又是一种程序设计语言。 2.shell是指一种应用程序,这个程序提供一个界面,用户可以通过这个界面访问操作系统。

脚本:

shell脚本是一种为shell编写的脚本程序。我们通常所说的shell都是指shell脚本,但是shell和shell script是两个不同的概念。

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

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相比有一定的限制性。

tcsh

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

sh

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

nologin

指用户不能登录

zsh

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

改变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

本文分享自微信公众号 - 黑白天(li0981jing)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SSRF详细利用方式及getshell

    在存在ssrf处访问http://10.1.1.200(本机服务地址) 查看kali机器服务器日志信息:

    cn0sec
  • 浅谈个人对一个高性能红队建设的一些想法

    本人有幸参加了一些线下的攻防演练,比较熟悉攻防对抗的流程和手法,和很多师傅们在线下也有过深入学习交流,同时也产生了一些自己的想法。

    cn0sec
  • 文件包含漏洞原理利用方式及修复

    文件包含定义: 服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。这意味着您可以创建供所...

    cn0sec
  • Linux中执行shell脚本的4种方法总结

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    于小勇
  • 《笨办法学Python》 第0课手记

    本博客是学习Python的记录手册,本人计算机在读,有C语言的基础,运行环境为 windows 10家庭中文版(64位),使用Windows PowerShel...

    Steve Wang
  • Shell特殊变量和命令行参数详解

    ? 1.shell变量基础 shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义。 所以若要进行数学运算,必须...

    小小科
  • Linux下修改环境变量

    首先来看修改环境变量的位置,我们可以在那些地方修改环境变量? 1. /etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一...

    卡尔曼和玻尔兹曼谁曼
  • 一统江湖的大前端(4)shell.js——穿上马甲我照样认识你

    码农界存在着无数条鄙视链,linux使用者对windows的鄙视便是其中之一,cli使用者对GUI用户的嘲讽也是如此,在这样一个讲究逼格的时代,如果你的桌面上没...

    大史不说话
  • 最近的几个技术问题总结和答疑(四) (r8笔记第94天)

    今天行程还是比较匆忙,刚回到家,打开微信就收到了几个问题,有不少是和迁移相关的,我选出几个,还有几个需要好好考虑一下。 问题1: 我们的多个业务系统都是Orac...

    jeanron100
  • 如何将简单的Shell转换成为完全交互式的TTY

    作为一名渗透测试人员,最令人激动的莫过于netcat为我们反弹回了一个shell连接,以及通过id命令查看到一个令人满意的用户权限。但凡事总有意外,由于我们获取...

    FB客服

扫码关注云+社区

领取腾讯云代金券