BASH是Linux中默认使用的一种默认的命令行界面Shell ,是最常用的Shell中的一种,Shell的意思是壳,在Linux系统中作为用户与系统打交道的重要组成部分。
Shell的作用是什么呢?比如我们要让声卡发出声音是怎样实现的呢?首先用户需要操作应用程序播放音乐发出声音,于是应用程序向内核发出相应的指令,内核接收到指令后再驱动硬件发出声音。在这个过程中,Shell就是负责将我们输入的指令传给内核让内核驱动硬件的工具。用户是不能直接和内核打交道的,Shell就相当于一个媒介负责用户与内核之间的沟通。
狭义的Shell其实指的是进行命令行方面输入的软件,广义的Shell则指的是包括图形界面软件等能够操作内核进行工作的工具。
为什么我们要学习Shell呢?为什么我们不用操作更为方便的图形界面进行操作完成工作呢?
1、因为Linux是开源的,各个版本的Linux界面标准不尽相同,通过界面要进行系统较为复杂的操作是相当有难度的,比如进行系统升级等操作
2、界面在Linux上仅仅作为一个软件使用,但是会消耗系统大量的宝贵资源,而且命令执行的速度远不如命令行来得快捷,工作效率自然要低得多。
3、在实际运用中大部分操作Linux是远程进行的,可以想象如果通过图形界面的操作自然比不上命令行,服务响应和传输速度上面有很大的差别。
4.Shell是一套完整的系统运维管理工具,通过对Shell的不断深入学习,可以让你更加亲近Linux系统的工作方式与原理,进行系统运维的时候更加的得心应手。
Shell的基本操作:
1、普通用户与超级用户的区别:除了一个$号与#的符号不同外,最大的区别是权力的分配,root用户在系统上是无所不能的,但也意味着不小心的操作可能会让系统崩溃,而普通用户进行一些对系统有影响的操作是就会进行限制,甚至常规的操作也会被限制得更为严格,比如说密码的修改。
2、ls操作命令:查看当前文件,
后面加上参数-a,可以查看隐藏文件,也就是文件名第一个字符为点的文件,也可以自己创建,Linux中各种文件格式者是以文件存储的,而且不像Windows有严格的后辍约定
后面加-al,以列表方式显示所有当前目录的详细信息,包括文件的是否为目录、权限信息、所属的用户及所属的组、文件大小及日期信息。
3、exit为退出当前操作模式,在命令行是登出的意思,在图形界面的命令行可以关闭该窗口
4、hostname 查看主机名,也就是你当前操作的主机名称。
5.、uname 主要用于显示当前操作系统名称,一般用于查看主机信息状态。
-a 显示 -m、-n、 -r、 -s 和-v 标志指定的所有信息。不能与 -x 或 -SName 标志连用。如果-x 标志和 -a 标志一起指定,-x 标志会覆盖它。
-F 显示由十六进制字符构成的系统标识字符串。此标识字符串对特定系统上的所有分区都是相同的。
-f 除分区号还用于此字符串的计算之外,与F 标志类似。产生的标识字符串对特定系统上的每个分区都是唯一的。
-l 显示 LAN 网络号码。
-L 显示 LPAR 号码和LPAR 名称。如果 LPAR 不存在,“-1”显示为LPAR 号码,NULL 为 LPAR 名称
-m 显示硬件运行系统的机器 ID 号。
注:
-m 标志不能为 LPAR 环境中的分区生成唯一的机器标识。
-M 显示系统型号名称。如果型号名称属性不存在,显示空字符串
-n 显示节点名称。可能是用以标识系统且为UUCP 通信网络所知的名称。
-p 显示系统处理器的体系结构。
-r 显示操作系统的发行版号。
-s 显示系统名。标志缺省为开。
-S Name 设置节点名。可以是系统 UUCP 通信网络名。
-T Name 设置系统名。可以是系统 UUCP 通信网络名。
-u 显示系统 ID 号码。如果这一属性未被定义,输出与 uname -m显示的输出一致。
-v 显示操作系统版本。
-x 显示 -a 标志指定的信息和 -l 标志指定的 LAN 网络号。
6、在要执行的命令后要加&号,可实现应用程序的后台运行
7、Tab键可以自动补全命令或者当前目录下的文件,边按两次Tab键可以实现系统所有命令的显示,但是无法自动补全参数
8、可以通过上下键浏览曾经执行过的命令,或者也可以通过history命令查看所胡曾经执行的命令,还可以通过!符号找出已经进行的操作,比如!!查看上一个命令,!加数据或字符可以重复历史记录对应序号或以该字符开头的命令。
可以通过Ctrl+r在历史记录中搜索命令,能过esc键加上’.’点号使用上一个命令的参数
9、Bash Shell支持命令通配符
* 匹配零个或多个
?匹配任意一个字符
[0-9]匹配一个数字范围
[abc]匹配列表里任何数字
[^abc]匹配列表以外的字符
10、id 用户获取当前用户的信息
11、修改当前用户的密码 passwduser 回车后才有要求输入密码,普通用户有严格密码设置要求,管理员是没有的要求的。
12、Ctrl+Z暂停当前应用程序 Ctrl+C中止,Ctrl+D退出
13、jobs查看后台运行作业,bg 改变后台作业状态 fg将后台程序调到前台
14、su – 有后面字符表示在全新的终端切换到root用户
Su表示在原终端进行切换
Sudo用于普通用户需要管理员权限进行命令执行,但是要管理员密码
第一次学习的时候只记了个大概,现在又学到了很多东西,温故而知新啊,呵呵