博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
认识bash 这个Shell
阅读量:4184 次
发布时间:2019-05-26

本文共 1081 字,大约阅读时间需要 3 分钟。

Shell :将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误的工作。
Shell 本身是一个用C语言编写的程序,用户的大部分工作都是通过Shell来完成的。
Shell的功能只是提供用户操作系统的一个接口。

狭义的Shell指的是命令行方面的软件,包括linux默认的bash.广义的Shell则包括图形界面的软件,因为图形界面其实也能够操作各种应用程序来调用内核工作。

可以说Shell使用的熟练程度反应了用户对Unix/Linux使用的熟练程度。
Shell 初学者注意:在平常应用中,建议不要用root账号运行Shell。作为普通用户都无法破坏系统;但如果是root,只要敲几个字母,就可能导致灾难性的后果。
Shell有两种执行命令的方式:
   1.交互式(命令行界面的Shell):解释执行用户的命令,用户输入一条,Shell就解释一条。
   2.批处理:用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲。
注意:Shell脚本与编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译。
Shell是一种脚本语言,就必须有解释器来执行这些脚本。Linux上的脚本解释器有 bash,ksh,csh,zsh等。bash的内部命令共有40个。
   ???为什么要使用bash作为默认的Shell呢???
命令记忆能力(history):默认的命令记忆功能可以到达1000个,记录在主文件内的 .bash_history中;
命令与文件补全功能(Tab);
命令别名设置功能(alias);
作业控制,前台,后台控制;
通配符(*,?);
包含了自身的帮助功能;
可通过方向键快速查找和修改命令。
bash 已经“内置”了很多命令,例如 cd ,那我们怎么知道这个命令是来自外部命令(指的是其他非bash所提供的命令)或是内置在bash当中的呢?  
答案:使用type 命令
语法:type [-tpa] name
参数:
type:不加任何参数时,type会显示name是外部命令还是bash 内置命令
-t  :type会以下面这些字眼显示出它的意义:
file   :表示为外部命令
alias  :表示该命令为命令别名所设置的名称
builtin:表示该命令为bash内置的命令功能。
-p  :如果后面接的name为外部命令时,才会显示完整文件名。
-a  :会由PATH变量定义的路径中,将所有含name 的命令都列出来,包括alias
范例:
你可能感兴趣的文章
自制编译器:词法单元解析
查看>>
LeetCode 21 Merge Two Sorted Lists
查看>>
LeetCode Palindrom Number
查看>>
LeeCode 88. Merge Sorted Array两种解法
查看>>
《UNIX环境高级编程》---2 UNIX标准及实现
查看>>
LeetCode24 Swap Nodes in Pairs 25. Reverse Nodes in k-Group详解
查看>>
《UNIX环境高级编程》---3.文件I/O
查看>>
LeetCode 234. Palindrome Linked List判断链表是否回文
查看>>
LeetCode Reverse Linked List I, II详解
查看>>
《UNIX环境高级编程》---4文件和目录
查看>>
LeetCode 147. Insertion Sort List插入排序链表的高效简单解法
查看>>
LeetCode Rotate List简单易懂解法
查看>>
hihocoder 最长回文子串简单解法
查看>>
LeetCode 14. Longest Common Prefix最长公共前缀
查看>>
LeetCode 58. Length of Last Word
查看>>
LeetCode Super Pow详解
查看>>
LeetCode 258. Add Digits两种方法
查看>>
LeetCode 258. Add Digits两种方法
查看>>
《UNIX环境高级编程》--5 标准IO库
查看>>
《UNIX环境高级编程》--6系统数据文件和信息
查看>>