shell编程要学多久(学习 Shell准没错)
什么是shell?
目前的计算机操作系统都采用了某型形式的用户界面 ,借此指定系统需要操作系统的命令 。但是在很多操作系统中 ,命令行界面是内嵌的,是人与计算机交互的唯一方式 。操作系统的命令行页面就是为了执行您的命令 。
shell是一个程序 ,它的工作就是为了用户执行其他程序 ,即系统中允许用户输入命令的部分 。
shell有很多吗?
shell不过是在Unix上运行的一个程序 ,如果你不喜欢标准shell可以自己编写一个 。因此shell曾经出现过很多的版本 ,如:Bourne shell 简称sh; C shell 简称 csh ,它们两个是最早的shell 。后面又出现了Korn shell 简称ksh和bash shell等 。
那么 ,有这么多版本的shell我该用哪个呢?
bash 提供了 shell 程序员所需要的编程特性和命令行用户喜爱的各种便利 。它一开始打算作为 ksh 的替代品 ,但随着自由软件运动变得愈发重要 ,Linux 越来越流行 ,bash 的风头很快就盖过了 ksh 。
bash 也因此成了我们已知的所有 Linux 发行版以及 macOS(包括早期的 OS X 版本)的默认 shell。bash 既是一门强大的编程语言,也是一种优秀的用户界面 。它让你在获得复杂编程特性的同时 ,能够保持键盘输入的便捷性 。
答案: 学习 bash 准没错
bash shell 简介
bash 是一种shell ,也就是命令解释器。bash的主要目的是让用户可以同计算机操作系统交互,以便完成想做的任务 。这通常涉及运行程序 ,因此 shell 会接受你输入的命令 ,判断要用到的程序,然后执行命令来启动程序 。bash 其实就是一种用于执行命令的语言 ,你输入的命令(如 ls 、cd 、grep 、cat)从某种意义上来说就是 bash 命令。这些命令有些是 bash 内建的 ,有些是独立的程序 。
bash shell 提示符
所有的命令行 shell 都采用某种形式的提示符来告诉用户 shell 已经准备好接受输入了 。提示符的具体形式取决于很多因素 ,其中包括操作系统的类型和版本 、shell 的类型和版本 、发行版以及其他人所做的配置 。
$ :通常表明您是以普通用户身份登陆 ,如下图:
#:通常表明您是root 。root用户是系统的管理员 ,如下图:
~:此符号通常表示所在的目录为主目录 ,如下图:
显示当前位置
pwd 是 print working directory(打印工作目录)的缩写 ,该命令接受两个选项 。-L 显示当前的逻辑路径 ,这也是默认选项 。-P 显示当前的物理路径 ,如果跟随符号链接,结果可能和逻辑路径不同 。
查找并运行命令
bash 会在环境变量 PATH 中保留一个用于查找命令的目录列表 。内建命令 type 会在环境(别名 、关键字 、函数 、内建命令 、
$PATH )中搜索匹配其参数的可执行文件并显示匹配结果的类型和位置 。该命令有多个选项 ,其中值得注意的是-a ,它会打印出所有的匹配结果,而不是只找出第一个匹配。如下图:
which命令与 type 类似 ,但它只搜索 $PATH 。在不同的系统中 ,which 的形式各异,不过一般有 -a 选项 。如下图:
获取文件相关信息
你需要文件的更多相关信息 ,例如类型、属主 、是否可执行 、有多少硬链接 ,以及最后一次访问或更改的时间 ,使用 ls、stat 、file 或 find 命令。
ls 命令只显示文件名 ,-l 选项可以提供每个文件更详细的信息 。如下图:
ls 的选项很多 ,可以查询手册页了解其所支持的选项 ,其中有用的选项包括以下几个 。
-a: 不隐藏以 .(点号)开头的文件。
-A:和 -a 相似 ,但不显示两个常见的目录 . 和 .. ,因为每个目录中都有这两项 。
-r: 逆序排列 。
-R:递归显示子目录 。
-S:按照文件大小排序 。
内建命令与外部命令
用 type 和 which 命令查看指定命令是否存在 ,并确定其是内建命令还是外部命令 。如下图:
顾名思义,内建命令就是内建在 shell 自身中的命令 ,外部命令则是由 shell 运行的外部文件 。外部文件可以是二进制文件 ,也可以是shell 脚本 。理解内外部命令之间的差异很重要 。
当你使用特定 shell 的某个版本时,内建命令总是可用的 ,但外部程序就未必已经安装在系统中了 。 如果你自己的某个程序和内建命令同名 ,结果会让人很困惑,因为内建命令总是会优先执行。可以用 enable 命令来关闭或启用内建命令 ,enable -a 可以列出所有的内建命令及其当前状态 。
内建命令的问题在于你无法使用 -h 或 --help 选项获得使用帮助 。这时候就用得上内建命令 help 了。help 会显示 shell 内建命令的帮助信息 ,如下图:
将bash安装为默认shell
先确定已经安装了 bash 。在命令行中输入 bash --version 。如果获得了版本输出 ,则说明 bash 已经安装好了 ,如下图:
如果没有看到版本号 ,可能是系统路径中缺少了相应的目录。在一些系统中 ,chsh -l 或 cat /etc/shells 可以给出一份可用的shell 清单 。否则 ,可以询问系统管理员 bash 的安装位置 ,或者是否可以安装 bash ,如下图:
如果已经安装了 bash,可以用 chsh -s 命令修改默认 shell ,例如 chsh -s /bin/bash ,如下图:
本文由传智教育博学谷教研团队发布 。
如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信 ,您的支持是我坚持创作的动力 。
转载请注明出处!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!