码迷,mamicode.com
首页 > 其他好文 > 详细

Shell编程基础

时间:2014-06-11 07:24:46      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   com   width   

shell简介

shell是用户和linux内核进行交流的中间层,它提供了用户与内核进行交互操作的一种接口。接受用户输入的命令,并且把命令送入内核去执行。

 

查看当前系统安装的shell

1.查看/etc/shells

bubuko.com,布布扣

2.ll  /bin/*sh

bubuko.com,布布扣

可以看出当前系统中存在的shell只有bash、dash、tcsh三种,csh只是链接到tcsh,sh则是链接到了bash。

 

可以使用echo $SHELL 命令来查看当前正在使用的shell

 

关于nologin

不知道大家有没有注意到用第一种方法查看shell种类比第二种多出了/sbin/nologin。其实nologin并不是一种shell

那nologin到底是什么作用呢?我们知道在linux系统中存在很多用户,这些用户默认情况下是不允许登录系统的,这

类用户我们成为 虚拟用户

 

在/etc/passwd文件中将这些用户的默认shell置为/sbin/nologin就可以禁止用户登入系统。

在/etc/passwd文件中可以找到哪些用户不允许登录系统(如下图)

 

bubuko.com,布布扣

 

当我们偏要切换到上述这些用户(比如apache用户)的时候,系统会给出错误提示

bubuko.com,布布扣

 

其实Linux系统是允许自定义上述的错误提示信息的,我们只需要编辑/etc/nologin.txt文件(不存在的话,就touch一个)

并在里面加入自定义的错误提示就可以了。

 

例如我们可以把错误提示改为:Your current login shell is /sbin/nologin…。

然后在切换到apche用户,请看这时候的错误提示:

bubuko.com,布布扣

 

有这么一种特殊情况,可能系统由于特殊原因需要维护,系统管理员需要暂时禁止所有非root用户的登录。这时候Linux提供了相应的机制。

只需要提供/etc/nologin文件,并在该文件中写入要展示给用户的信息即可。此时,logout出当前用户,用非root用户登录,已经不能登入系统了。

如果系统维护完毕,删除该文件即可。

 

安装其他shell

linux发展到现在,已经有很多shell可以选择。有最基本的sh、增强版的sh->bash、兼容c语法适合shell编程的csh、zsh、ksh等。

用户可以根据自己不同的需求来选择相应的shell。下面以安装ksh为例子介绍其他shell的安装,很简单:

 

执行yum –y install ksh

安装完毕查看当前系统shell

bubuko.com,布布扣

 

设置shell命令别名-alias的使用

1.可以直接在shell(这里是bash)命令提示符下输入:

  alias  别名=原始命令

  通过此种方式设置一个别名:

  alias listall=’ls  -al’

 bubuko.com,布布扣

通过此种方式设置的别名只是对当前shell起作用,重新启动一个shell该别名就会失效。

 

2.在~/.bashrc文件中设置别名

   bubuko.com,布布扣

   重新启动一个shell,上述文件就会被读取,且每次启动新的shell别名都有效,这也是设置个人偏好的最好的地方

 

3.在/etc/bashrc文件中设置别名:

    alias lsr=‘ls –r’

    重新启动一个shell,别名就会生效。

    通过这种方式设置的别名,对所有用户都会生效,重启也不会失效

 

上述三种设置别名的方式涉及几个配置文件,大家可能比较迷惑。从网上(感谢博主)拷贝一张图片,表述的比较清晰

bubuko.com,布布扣

 

待续…

Shell编程基础,布布扣,bubuko.com

Shell编程基础

标签:style   blog   http   color   com   width   

原文地址:http://www.cnblogs.com/sysman/p/3773706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!