浅谈Linux下的shell--BASH
创始人
2024-05-31 06:53:47
0
环境:centos7.6,腾讯云服务器
Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹

shell的概念与作用

我们已经学习并知道了操作系统实际上就是一款软件,一款用来管理计算机软硬件资源,为用户提供良好的执行环境的软件。假如该软件能被用户随意操作,就会有可能出现因操作不当而导致整个系统崩溃的情况。因此:操作系统是不能直接与用户沟通的。

但是,计算机的使用一定是离不开操作系统的,基于此情况,就有了在OS上面发展的各种应用程序。用户可以通过应用程序来指挥OS内核,从而让内核完成我们所需要的硬件任务。

shell的作用

  • 举个简单的例子:假如我想要播放音乐,就一定要有声卡,然后我们用户只需要在应用层面点击播放就可以实现让声卡播放声音的目的。实际上,我们点击播放,就是向OS发出指令,从而让OS管理硬件(声卡),完成任务。

  • 我们可以发现,我们使用的应用程序是在最外层的,就好像鸡蛋的外壳一样,因此这个东西也被成为壳程序。而shell的作用就是充当壳程序,OS内核通过shell接收我们用户发出的各项指令,从而完成一系列任务。再简单一点的理解:shell就是Linux下的命令行解释器,我们写的一系列指令并不是直接在OS内核操作,而是通过命令行解释器来指挥OS内核。(当然,对于不合理的指令,OS是有权限拒绝的,这样就保证了OS内核的安全性)。

★简单总结一下:

  • shell就是一种壳程序,避免用户直接与OS内核沟通

  • shell的作用是将我们的指令翻译给OS内核,让内核来进行处理,并把处理的结果反馈给用户。(Windows下的壳程序就是图形化界面)

  • shell的存在使得用户不会直接操作OS,保证了OS的安全性。

  • 简单来说,shell就是Linux下的命令行解释器,我们写指令的地方。

Linux下的shell

bash

我们可以打开文件/etc/shells,可以查看我们Linux下的shell,打开后内容如下:

 /bin/sh    (已经被/bin/bash所替换)                                                                                                           /bin/bash   (Linux默认的shell)/usr/bin/sh  (同/bin/sh)/usr/bin/bash  (同/bin/bash)/bin/tcsh      (整合C shell,提供更多的功能)/bin/csh      (被/bin/tcsh替换)

我们可以发现,Linux默认的shell就是bash,所以我们常说的命令行解释器,其实就指的是bash。当我们登陆时,系统就会自动给我们一个shell来工作,我们可以在文件/etc/passwd中查看用户登陆的shell。

文件中的内容

我们打开后,会发现每一个用户都有自己的shell,这个shell就是bash,当然这也可以说明一点:Linux是一个多人多任务的环境,即每一个用户都有自己对应的bash。即使是在同一个机器登录。

★这里简单总结一下;

  • Linux默认的shell就是bash。

  • 在我们登陆时,系统会自动给我们分配对应的shell—bash,并且每个用户都有自己的bash。即Linux是一个多人多任务的环境。

bash的功能

Linux既然使用bash作为默认shell,那么bash就一定有它的优点吸引住了Linux。我们接下来简单了解一下bash的优点:

一、历史命令

我们为什么可以通过上下键来翻看我们的历史命令,就是因为它是bash的一个功能,而我们既然可以bash上工作,那么理所当然的就可以使用这个功能。-----通过上下键来翻看历史指令。

指令都存放在家目录下的.bash_history中,~表示是当前用户的家目录,我们可以进入里面,用ls -al来查看家目录下的所有文件,打开.bash_history文件,会看到我们上一次登录时的历史指令。(本次登录的指令记录会被缓存到内存中,只有退出登录时才会被记录到该文件中)

演示

二、命令与文件名补全功能(Tab键)

我们在输入一个指令时,假如只知道前面的一部分,后面的给忘记了,就可以按键盘上面的Tab键(可能会按两次),然后屏幕就会显示以我们写的字母开头的所有指令,帮助我们回忆。并且当一个文件名过于长,而我们又懒得一个字母一个字母敲打时,就可以只输入前几个字母,就会实现文件名自动补全。很爽的一个功能。

Tab键演示

三、一些内置命令的使用

我们使用的一些指令,比如alias(给指令起别名)、cd、等指令都是bash内置的指令,只有使用bash工作时,才可以使用这些指令。我们可以通过type -t 指令的命令来查看该指令是否为bash的内置指令。

  1. 显示alias:说明该指令是别的指令的别名

  1. 显示file:说明该指令为外部指令

  1. 显示builtin:说明该指令为bash内置指令

我们也知道,指令实际上就是一个程序,也是一个文件,Linux下一切皆文件,所以我们可以用type -a 指令 的命令来查找指令所在的位置,当然也可以用which来查找。

查找指令所在位置演示

除此之外,还有任务管理、前后台控制、程序化脚本的支持、包括我们用过的通配符的使用(比如*),都是bash所支持的功能,这里就不一一介绍了。后面有时遇到再进行扩展。

由此可见,bash的功能真的很香,怪不得Linux默认的shell是bash。


end.

生活原本沉闷,但跑起来就会有风!🌹

相关内容

热门资讯

绝句 绝句这使我不由地联想到诗人贺知章《咏柳》中的两句诗:“碧玉妆成一树高,万条垂下绿丝绦”。  (十分赞...
新年祝福的诗句 新年祝福的诗句大全  在日常生活或是工作学习中,大家都经常接触到诗句吧,诗句具有精炼、集中,节奏鲜明...
文学作品《叶甫盖尼·奥涅金》...   《叶甫盖尼·奥涅金》(也译作《欧根·奥涅金》)。这本书是普希金最著名的作品,它确立了俄罗斯语言规...
古诗春晓带拼音版全文 古诗春晓带拼音版全文  导语:古诗春晓带拼音版全文,春晓这首小诗,初读似觉平淡无奇,反复读之,便觉诗...
李贺《马诗·其五》鉴赏 李贺《马诗二十三首·其五》鉴赏  原文:  大漠沙如雪, 燕山月似钩。  何当金络脑, 快走踏清秋。...
形容思念到极致的古诗句   导语:思念是一种人们无法控制的情绪,无论是现在还是古人。下面小编将为大家分享形容思念到极致的古诗...
春至,春至白居易,春至的意思... 春至,春至白居易,春至的意思,春至赏析 -白居易的诗 春至 作者:白居易朝代:唐体裁:七律 ...
描写端午节的经典古诗词 又是端午节,一年一度的龙舟节,粽子节,在中国神州大地各处沿袭上演。端午节的古诗词大家还记得吗?以下是...
春水迷天,桃花浪、几番风恶 “春水迷天,桃花浪、几番风恶。”出处 出自 宋代 张元干 的《满江红·自豫章阻风吴城山作》“春水迷天...
中秋节佳句 有关中秋节佳句  中秋节是中华民族的传统节日,从古到今,关于中秋佳节的经典诗句有很多。下面是小编给大...
写清明节的诗句 写关于清明节的诗句(精选80句)  在日常学习、工作或生活中,大家一定没少看到经典的'诗句吧,诗句是...
鼓励自己的经典诗句 鼓励自己的经典诗句  鼓励自己的经典诗句  1、空想会想出很多绝妙的主意,但却办不成任何事情。  2...
友情的诗句 关于友情的诗句精选15篇  在现实生活或工作学习中,大家都听说过或者使用过一些比较经典的诗句吧,诗句...
经典搞笑诗句 经典搞笑诗句  1、《清明》  唐·杜牧  清明时节雨纷纷  孤家寡人欲断魂  借问美女何处有  牧...
《长恨歌·汉皇重色思倾国》翻... 《长恨歌·汉皇重色思倾国》翻译赏析  《长恨歌·汉皇重色思倾国》出自唐诗三百首全集,其作者是唐朝文学...
“春去能忘诗共赋,客来应是酒... 寄刘禹锡戴叔伦谢相园西石径斜,知君习隐暂为家。有时出郭行芳草,长日临池看落花。春去能忘诗共赋,客来应...
晚春唐韩愈的古诗 晚春唐韩愈的古诗  《晚春》是唐代文学家韩愈的诗作,这是一首写暮春景物的七绝,表达了诗人惜春的思想感...
盛开的荷花诗句 盛开的荷花诗句  瞧,在一张张绿色的大玉盘似的荷叶中冒出了一朵朵粉嫩的荷花,是那么的.美丽。  荷风...
咏柳的诗句 咏柳的诗句  篇一:古诗 咏柳  咏柳  贺知章  碧玉妆成一树高,万条垂下绿丝绦。 不知细叶谁裁出...
元宵赏花灯的诗句 元宵赏花灯的诗句(精选16首)  在现实生活或工作学习中,大家一定没少看到经典的.诗句吧,诗句节奏上...