Shell入门到精通

这篇博客详细介绍了Shell的基础知识,包括Shell的作用、为何使用、如何执行以及各种常见命令和操作,如grep、sudo、shell脚本的编写与执行。此外,还讲解了系统变量、自定义变量、条件判断、流程控制、循环结构和函数,以及一些实用的shell工具,如cut、sed和awk,适合初学者和开发者提升Shell技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       在我们日常的开发工作当中,Linux是必不可少的部分,例如  部署项目,日志等等,所以一个优秀的开发者必定有深厚的shell功底。

不管在学习什么技术  我们都应该从四个点出发  W(是什么)W(为什么)H(如何做)W(在那用)

SHELL是什么:

                Shell 是一个应用程序(同时也叫命令行解释器),它连接了用户和 Linux 内核,让用                     户能够更加高效、安全,低成本地使用 Linux 内核,这就是 Shell 的本质

为什么要使用SHELL:   

               1.至少要能够看懂运维 人员写的shell程序

               2.提高我们自己的开发效率                

如何做:

              一般我们能的shell代码会放在 xx.sh文件当中   我们通过sh命令去执行

在那用:

                   1.操作内核   控制硬件

                    2.通过shell  控制应用  例如管理集群

                    3.做自动化

做简单命令篇:

                          1.grep   查询关键字   以行为单位    grep [可选项]   关键字   文件名称

                                       一般使用的时候我们都会加上颜色高亮

                          2.sudo  普通用户执行  管理员才能执行的操作(类似于本次的权限提升)

 SHELL的 解释器:

                       1.析器的类型共计5种:

                                   /bin/sh,/bin/bash, /sbin/nologin, /bin/tcsh, /bin/csh
                       2.最常用的是这两种,系统默认使用的是哪一个的呢?

                                 在bin目录下 执行  echo $SHELL  可以查看使用的  是哪个解析器

 Hello World案例:   

                      1.建一个 sh文件   其中文件的格式:

                                  #!/bin/bash(解析器)

                                  执行代码

                        2.如何执行:

                                    执行的时候可以选择  sh bash  ./等方式,其中sh  bash是拿到文件之后给                                        系统的默认的shell解析器执行,./的方式是  把解析的任务交给了文件里面                                        定义的这个解析器  所以就要求了这个文件必须是可以直接执行的文件(如                                         果文件没有可执行的权限可以使用   chmod 777 文件名 来给文件天界权限)

shell多命令集合:

                            1.在一个 sh文件当中  可以添加多条命令,最后一次性执行

                             案例:例如如在testall.sh文件当中添加以下的案例  

                                            #!/bin/bash
                                            touch test7.sh
                                            echo "#!/bin/bash" > test7.sh
                                             echo "echo Hello World7" > test7.sh
                                             chmod 777 test7.sh
                                             ./test7.sh

                                             输出的结果:Hello World7

 系统变量和自定义变量:

                      系统变量:$HOME,$PWD,$USER,$SHELL

                                        $HOME:当前用户的home

                                        $PWD:当前路径

                                        $USER:当前用户

                                        $SHELL:当前使用的解析器 

                     自定义变量:定义变量,撤销变量,只读变量

                                     1.设置的变量的时候,变量名称和值之间是紧密相连的  中间不能有空格

                                         a=1可以但是 a= 1就不可以,其中在查看值的时候   echo $变量

  &nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值