认识bash这个shell

我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作
bash是我们Linux默认的shell

用户界面(Shell,application)--------核心(Kernel)-------硬件(Hardware)
?
操作系统其实是一组软件,由于这组软件在控制整个硬件与管理系统的活动监测,如果这组软件被用户随便操作,若用户应用不当,将会使得整个系统崩溃。

因为操作系统管理的是整个硬件功能,所以当然不能够被随便被一些没有管理能力的终端用户随意使用。
但是我们总是需要让用户操作系统的,所以就有了在操作系统上发展的应用程序。

软件=程序+文档=数据结构+算法+文档

shell的功能只是提供用户操作系统的一个接口。
像cmake,man,chown这些命令都是独立安装的应用程序,但是我们可以通过shell(就是命令行模式)来操作这些应用程序,让这些应用程序调用内核来运行所需的工作。

只要能够操作应用程序的接口都可以称为shell
狭义的shell时命令方面的软件如bash,广义的shell包括图形界面的软件

为什么要学习shell?
1.X Window与Web界面工具一样,界面虽然亲善,功能虽然强大,但毕竟它是将所有利用到的软件集成在一起的一组应用程序而已,并非一个完整的套件,所以某些时候当你升级或者使用其它套件管理模块时,就会造成设置的困扰。而且不同的distribution设计的X Window界面也不同,造成学习的困扰。而几乎所有distributions使用的bash都是一样的。
2.远程管理,命令行界面比较快:Linux管理经常需要远程联机,联机时命令行传输速度一定比较快。而且,较不容易出现断线或者时信息外流的问题。
3.是Linux的任督二脉,书到用时方恨少:如果真的有心想要将你的主机管理好,那么良好的shell程序编写时一定需要的 。

shell有很多种,如Bournce SHell(sh),Sun默认的C SHell、商业常用的K SHell, 还有TCSH等
一般是“Bournce Again Shell”(bash),时sh的增强班,也是基于GUN的架构下发展出来的

要查看Linux主机上有多上shell,可以查看/etc/shells文件

/bin/sh已经被/bin/bash替代

为什么我们系统上合法的shell要写入/etc/shells这个文件?
因为系统的某些服务在运行过程中,会去检查用户能够使用的shells,而这些shell的查询就是借助/etc/shells这个文件

用户什么时候可以取得shell来工作呢?还有用户默认会使用哪种shell?
查看/etc/passwd就知道了,在用户登录时取得默认的shell
一些奇怪的shell,以后再看

bash时GUN计划中重要的工具软件之一
bash的主要优点:
1.命令记忆能力(history)
    默认记忆功能一般有1000个,记录在/home/用户名/.bash_history(没有home目录的用户怎么办)
    .bash_history记录的是前一次登录以前所执行的命令,这次登录所执行的命令被暂时存在临时内存中,当成功注销系统后,该命令记忆才会记录再.bash_history中
2.命令与文件补全功能:tab功能
3.命令别名设置功能(alias)
4.作业控制、前台后台控制(job control,foreground,background)
    可以随时将工作丢到后台执行,不怕不小心ctrl+c终端进程。ctrl+z
    也使得可以在单一登录的环境中达到多任务的目的
5.程序脚本(shell script)
    shell scripts可以将平时管理系统常需要执行的连续命令写成一个文件,该文件并且可以通过交互的方式进行主机的检车工作
6.通配符
    帮助用户查询和命令执行,加快用户操作 如ls -l /usr/bin/X*

如果shell命令比较长,可以"\[Enter]"换行执行

时间: 2024-08-04 20:03:42

认识bash这个shell的相关文章

linux的bash和shell关系

shell通俗理解:把用户输入的命令翻译给操作系统. shell 是一个交互性命令解释器.shell独立于操作系统,这种设计让用户可以灵活选择适合自己的shell.shell让你在命令行键入命令,经过shell解释后传送给操作系统(内核)执行.     shell是一个命令处理器(command processor)——是一个读入并解释你输入的命令的程序.除了是一个命令中断器以外,shell还是一个程序设计语言.你可以编写shell可以解 释的程序(被称为源程序),这些源程序可以包含shell程

修改shell 将当前shell(默认是bash B SHELL )改为csh C SHELL

在修改当前shell时,用命令: usermod -s  /bin/csh   home home 为 你所想要改变的用户地址     此处home 为家目录,一般自己创建的用户都会在家目录下生成用户名,亦可单独指定,如/home/idcdpi 当然修改shell亦可配置   /etc/passwd 如下: # vi /etc/passwd修改 /bin/bash 为 /bin/csh 将永久改变所有用户的shell  为C shell -----------------------------

Linux系统Bash(Shell)基础知识(4)

今天给大家总结一下关于bash的颜色,配置文件,变量,数组和相关shell脚本编程的基本概念: 一.bash的颜色显示规则 吧是的颜色显示,说白了就是Ascll码对于颜色的调用设置,而在于颜色代码当中,字符串个功能实现如下: \033:表示ctrl键: [:控制字符和颜色代码之间的间隔字符: 0m:关闭颜色属性: 1m:加粗显示文本字符: 4m:为文本字符加下划线标识: 5m:使文本字符闪烁: 7m:将背景色和前景色调换,白变黑,黑变白: 8m:隐藏字符,将文本字符的背景色和前景色设置为相同颜色

bash与shell

shell 一.概念 shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器),将接收用户的命令,解析后调用对应的应用程序. 二.类别 1.图形界面shell(Graphical User Interface Shell 即 GUI shell) 例如:Windows Explorer(微软的windows系列操作系列),GNOME(Linux)等 2.命令行式shell(Command Line Interface Shell 即 CLI shell) 例如:bash/

Linux系统Bash(Shell)基础知识(3)

在shell脚本编程中算术运算无疑是十分重要的: bash中执行整数算数运算的命令是let,其语法格式为: let arg... arg为单独的算术表达式如+,-,*,/,%,^等所构成的完整的算术表达式: 其中^为平方运算,如2^3表示2的三次方: let命令可以使用如下方式替代: ((算术表达式)) 例如 [[email protected] wjq]# let "a=2*3" [[email protected] wjq]# echo $a 6 [[email protected

Linux系统Bash(Shell)基础知识(1)

上篇博文为大家介绍了关于shell程序设计的的一些特性,即命令别名,命令历史,快捷键,命令补全,命令行展开,命令执行结果,转义字符,通配符,IO重定向,管道等操作:这次继续给大家介绍关于shell程序设计的另一大特性--变量: shell程序中采用变量存放字符串,shell变量比C语言中的变量简单得多,没有众多存储类及类型的限制,也不需要预先定义,然后才能赋值,可以在使用时"边定义,边赋值". shell有三类变量,环境变量,临时变量以及本地变量,环境变量是永久形变量,不会随着shel

1.认识bash这个shell

计算机与内核.外壳的关系: 首先,管理整个计算机硬件的其实是操作系统的内核(kernel),这个内核是需要保护的,所以我们一般的用户就只能通过shell(外壳)来跟内核通信,以让内核达到我们所想要的工作. 什么是shell? 操作系统其实是一组软件,由于这组软件在控制整个硬件与管理系统的活动监测,如果这组软件能够被用户随意操作,若用户应用不当,将会使得整个系统奔溃,但是我们总是要让用户操作系统的,所以就有了在操作系统上面发展的应用程序,用户可以通过这些应用程序来指挥内核,让内核完成所需要的硬件任

08 bash特性--shell脚本编程入门

shell脚本编程入门 编程语言介绍 变量 变量:就是给计算机内存中的一段空间命令,命令的这个空间就叫做变量,而再给这个空间放入值的过程,我们就叫做给变量赋值: bash下的变量的内部数据类型:(这是数据在内存中存放的格式,默认情况下,shell程序下一班都不会去申明数据类型,所以,我们的bash程序默认数据为字符类型) 字符型(string) 数值:整型(int).浮点型 布尔类型:真假 同时,脚本一般在执行的时候都会自动启动一个子shell进程,命令行中的启动的脚本会继承当前shell环境变

golang 环境bash 以及shell

standard_init_linux.go:178: exec user process caused "no such file or directory" 2018年04月21日 21:50:10 往前的娘娘 阅读数:1010 标签: docker异常启动容器镜像 更多 个人分类: Docker 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37355951/article/details/80034010 1.Docke