来源:自学PHP网 时间:2015-04-14 11:12 作者: 阅读:次
[导读] 初步认识和学习BASH和shell简单的说:bash包括:变量的设置与使用bash操作环境的构建数据流重定向功能管道命令bash中的命令行对主机维护和管理有不可缺少的帮助1.1认识bash这个shell管理...
初步认识和学习BASH和shell
简单的说:bash包括:
变量的设置与使用
bash操作环境的构建
数据流重定向功能
管道命令
bash中的命令行对主机维护和管理有不可缺少的帮助
1.1认识bash这个shell
管理计算机硬件的其实是操作系统的内核kernel,内核被保护,所以一般的用户只能
通过shell(壳)来和内核通信。
我们要想让计算机做一件事情,就必须要通过“Shell”将我们输入的命令与内核通信,
好让内核可以控制硬件来正确无误的工作。真正在控制硬件工作的是CPU进程,内存
管理、磁盘输出输入等工作。硬件是实体的工作者,包括硬盘:显示卡网络卡CPU等。
操作系统的本质就是:一组软件
shell的功能:提供用户操作系统的一个接口,要使用shell需要用其他的软件来调用,其实
我们使用的每个命令行都是一个独立的应用程序。也就是说:只要能够操作应用程序的接口
都能够称为shell。
狭义的shell指的是命令行方面的软件。
广义的shell包括图形界面的软件。
Unix中:Shell的分类:
Bourne SHell(sh)
Sun里面的默认的C Shell
商业中常用到K Shell TCSH
请问问度娘或谷哥RHEL和CentOS用的是哪个?
至于Linux:他的shell就是Bourne Again SHell,小名叫bash。这个Shell是Bourne Shell
的增强版本。
CentOS中可以用的shell:/etc/sehlls(本人已经找到)
/bin/sh 被/bin/bash所代替
/bin/bash Linux默认的shell
/bin/ksh Kornshell 由AT&T Bell lab.发展出来的,兼容于bash
/bin/tcsh (整合C Shell,提供更多的功能)
/bin/csh (已经被/bin/tcsh所替代)
/bin/zsh (基于ksh发展出来的,功能强大的shell),没有
使用/etc/shell文件的原因:因为系统服务器在运行过程中,回去检查用户能够使用的shells
,而这个shell的查询就是借助/etc/shells这个文件,shell什么时候开始工作呢?
比如登陆的时候,shell记录在/etc/password中,每行的最后一个数据就是默认的shell
Linux默认使用/bin/bash 这个shell。
shell的功能:
命令记忆功能(history)
命令与文件补全功能
命令别名的设置功能(alias) 很有用的哦!
eg:将lm设置成ls -al
alias lm='ls -al'
要设置直接打开一个路径:
alias cdd='cd /home/angle/real'
记住有一些非bash规定的命令行输入其实是通过这种方法设定的,并且每个用户下面
都需要设置一遍如果你想用这个指令的话。原因很简单,因为每个用户拥有自己单独
的bash。
作业控制、前台、后台控制(job control.foreground,background)(Chapter 17)
程序脚本(shell script)(Chapter 13)
通配符 (Wildcard)
eg:想要知道/usr/bin下面有多少以X开头的文件用:
ls -l /usr/bin/X*
bash shell 的内置命令:type
利用type命令判断每个命令是否为bash内置命令
eg:type -a ls
type cd
命令的执行:
eg:
cp /var/spool/mail/root /etc/crontab \
> /etc/fstab /root
这个命令的用途是将三个文件复制到/root这个目录下,因为太长用\ENTER来将[ENTER]
这个按键“转义开来”,让ENTER不在具有“开始执行的功能”,好让命令可以继续在下
一行输入。
特别注意:[ENTER]按键要紧跟反斜杠\,如果顺利转义的话就会出现>的符号,说明可以
继续输入命令,>是系统自动出现的,不需要手动输入。
小结:当我们顺利在终端机(tty)上登陆时,Linux就会依据/etc/password文件的设置给我们一个
shell(默认为bash),然后我们就可以依据上面的命令执行方式来操作shell,之后我们
可以通过man这个在线查询命令的使用方式与参数说明。
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com