一、相关概念介绍 关于shell 命令解释器软件。就打开Linux后你面对的那块黑屏。shell是我们与系统交互的翻译官,里面是一套程序。 我们在shell中输入命令,得到相应数据。比如输入ipa获得网卡信息。这个指令是交给bashshell,它再交给系统,系统再调用内核,最后内核会调动硬件。最后再一层一层反馈出你想要的结果。 你直接输入网卡它不认识。 关于Bash这个Shell 我们来了解一下Linux使用的是哪一个shell?什么,哪一个?难道说shell不就是一个shell吗?哈哈,那可不,在早年的UNIX年代发展者众多,所以shell依据发展者的不同就有许多的版本,例如常听到的Bourneshell(sh)、在sun里面默认的Cshell,商业上常用的Kshell等等。每种Shell各有其特点。Linux使用的这个版本称为【AgainBourneSHell(简称bash)】。这个shell是Bourneshell的增强版本,也是基准于GNU的架构下发展出来的。 shell的简单历史 第一个流行的shell是由StevenBourne发展出来的,为了纪念它所以就称为Bourneshell,或直接简称为sh,而后来另一个广为流传的shell是由伯克利大学的BillJoy设计依附于BSD版的UNIX系统中的shell,这个shell的语法有点类似C语言,所以才得名为Cshell,简称为csh,由于在学术界Sun主机势力相当庞大,而Sun是主要的UNIX分支之一,所以Cshell也是另一个很重要而且流传很广的shell。 那么目前我们的Linux(以CentOS7。x为例)有多少我们可以使用的shells呢?你可以检查etcshells这个文件,至少就有下面这几个可以用的shellsbinsh(已经被binbash所替换)binbash(就是Linux默认的shell)bintcsh(整合CShell,提供更多的功能)bincsh(已经被bintcsh所替换) 虽然各家shell的功能都差不多,但是在某些语法的执行方面则有所不同,因此建议你还是得要选择某一种shell来熟悉一下较佳。Linux默认就是使用bash,所以最初你只要学会bash就非常了不起了。百度百科关于Bash的介绍:Bash,Unixshell的一种,在1987年由布莱恩福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与MacOSXv10。4都将它作为默认shell。 Shell执行方式: 输入命令方式效率低适合少量工作 shellscript(脚本)效率高适合复杂的工作 比如:创建用户〔rootdb04〕useraddandrew如果要创建100个用户,使用shellscriptforninseq100;douseraddandrewnecho用户andrewn已创建成功done 查看当前用的什么Shell〔rootweb01〕echoSHELLbinbash〔rootweb01〕bashversion查看你用的bash版本GNUbash,version4。2。46(2)release(x8664redhatlinuxgnu)Copyright(C)2011FreeSoftwareFoundation,Inc。LicenseGPLv3:GNUGPLversion3orlaterhttp:gnu。orglicensesgpl。htmlTyouarefreetochangeandredistributeit。ThereisNOWARRANTY,totheextentpermittedbylaw。 查看上条命令是否正确echo?0代表正确 二、命令行提示符介绍〔rootlocalhost〕〔〕:这是提示符的分隔符号,没有特殊含义root:当前的登录用户,笔者现在使用的是root用户登录。可以用命令whoami查询:分隔符,没有特殊含义。localhost当前系统的简写主机名(完整主机名是localhost。localdomain):代表用户当前所在的目录,此例中是当前所在的目录是root的家目录。即根下的root文件夹。普通用户的家目录是home:命令提示符,代表超级用户:代表普通用户命令行提示符由PS1环境变量控制 如何修改命令提示行格式颜色等修改主机名:hostnamectlsethostname新的主机名称(如007)(永久生效)配置文件:etchostname查看当前提示符PS1的值:〔rootlocalhost〕echoPS1〔uhW〕暂时修改:〔rootlocalhost〕PS1〔33〔32m〕〔uh(nanyibo)W〕〔33〔0m〕〔rootlocalhost(nanyibo)〕变绿色PS1〔e〔32;40m〕〔〔uhw〕〔e〔0m〕加上时间PS1〔e〔37;40m〕〔〔e〔32;40m〕u〔e〔37;40m〕h〔e〔36;40m〕w〔e〔0m〕〕变颜色PS1〔e〔37;40m〕〔〔e〔32;40m〕u〔e〔37;40m〕〔e〔35;40m〕h〔e〔0m〕〔e〔36;40m〕w〔e〔0m〕〕绿紫青PS1〔e〔37;40m〕〔〔e〔31;40m〕u〔e〔37;40m〕〔e〔33;40m〕h〔e〔0m〕〔e〔34;40m〕w〔e〔0m〕〕红黄蓝永久变色:进。bashrc把上面的写进去〔rootlocalhost〕vim。bashrc PS1的常用参数及含义d:代表日期,格式为weekdaymonthdate,例如:MonAug1H:完整的主机名称h:仅取主机名中的第一个名字:显示时间为24小时格式,如:HH:MM:SST:显示时间为12小时格式A:显示时间为24小时格式:HH:MMu:当前用户的账号名称v:BASH的版本信息w:完整的工作目录名称W:利用basename取得工作目录名称,只显示最后一个目录名:下达的第几个命令:提示字符,如果是root用户,提示符为,普通用户则为颜色3040黑色3141红色3242绿色3343黄色3444蓝色3545紫红色3646青蓝色3747白色 三、Bash的作用和优点 为啥把它做为默认shell?因为它实在太强大了。 history、别名、tab补全 敲命令适合少量工作,效率低 写脚本(Script)适合大量工作,效率高 文件管理增touch删rm改vi查find 权限管理超级管理员root普通用户 用户管理增、删、改、查 磁盘管理查看硬盘空间dfh查看内存freem 网络管理查看网卡ifconfig比ipa整洁ifconfig安装:yuminstallynettools(y是免交互) 查看结果: 〔rootlocalhost〕ifconfig eth0:flags4163UP,BROADCAST,RUNNING,MULTICASTmtu1500 inet10。0。0。250netmask255。255。255。0broadcast10。0。0。255 inet6fe80::152f:f2c7:21b3:412bprefixlen64scopeid0x20 inet6fe80::e1af:89d9:4338:31dfprefixlen64scopeid0x20 ether00:0c:29:7b:c8:4ctxqueuelen1000(Ethernet) RXpackets18104bytes26073080(24。8MiB) RXerrors0dropped0overruns0frame0 TXpackets1702bytes133917(130。7KiB) TXerrors0dropped0overruns0carrier0collisions0 。。。。。。。 软件管理增yuminstally软件名称y是免交互删yumremove 这些系统管理的内容后面会一一讲解。