Linux】学习linux为什么要学习Shell

2021-04-26 16:31发布

3条回答
啦啦啦
2楼 · 2021-04-26 17:02
学习linux为什么要学习Shell:
1、首先我们了解一下shell编程是什么,其实shell编程就是一坨linux命令的集合再加上一些控制语句而已
2、为什么要学习linux下的shell编程,我们平时在做运维工作时总会遇到一些重复的工作,如果我们会shell编程的话就可以将这些重复的工作写成shell脚本来执行,就不需要一条命令一条命令的去输入了,这就跟我们有腿可以走路,为什么还要发明汽车一样,都是为了提高我们的工作效率,减轻工作量,有时候有些工作是要在半夜或者是其他不方便工作的时候完成的,这时我们也可以让计划任务帮我们执行脚本来完成工作
3、shell脚本的一些语法和命令比较特殊和比较严格,与一般的编程语言有所区别,需要多练习才能很好的掌握


嘿呦嘿呦拔萝卜
3楼 · 2021-05-05 14:08

学习shell,主要就是学会linux下各种工具的使用,然后用shell语言把他们联合起来达到一定的目的。

我的网名不再改
4楼 · 2021-11-24 15:21

作为Linux操作系统的来源,UNIX是许多伟大构想和操作系统哲学的源泉,它提供了多种不同的shell程序。在UNIX商业版本中最常见的可能是Korm shell,但还没有许多其它的shell。那为什么要使用shell进行程序设计呢?这么说吧,shell扮演了一个双重角色。虽然它表面上和Windows的命令提示符相似,但是它具备完成相当复杂的程序的强大功能。你不仅可以通过它执行命令、调用Linux工具,还可以自己编写程序。Shell使用解释开型语言,这使得调试工作比较容易进行,因为你可以逐行地执行指令,而且节省了重新编译的时间。然而,这也使得shell不适合用来完成时间紧迫和处理器忙碌的任务。

使用shell进行程序设计的原因之一是,你可以快速、简单地完成编程。同时,即使是在最基本的linux安装中也会提供一个shell。因此,如果你有一简单的构想,则可以通过它检查自己的想法是否可行。Shell也非常适合于编写一些执行相对简单的任务的小工具,因为它们更强调的是易于配置、维护和可移植性,而不是很看重执行的效率。你还可以使用shell对进程进行组织,使命令按照预定顺序在前一阶段命令成功完成的前提下顺序执行。

为什么要学习文字模式的shell

我们常常提到的shell其实是比较狭隘的定议,一般来说,在linux里,所谓的shell,就是指BASH这个文字模式的shell。但是,广义的shell也可以是KDE之类的图形界面控制软件,因为它也可以帮我们与核心进行沟通。不过,在笔者的linux私房菜里,如果没有特别说明,我们的shell指的是比较狭义的,也就是文字模式的shell。

另外,常常听到这样子的一个问题:“我为什么要学习shell?不是己经有很多的工具可以设置主机了吗?我为什么要花这么多时间去学命令?不是以X Window按一按几个按钮就可以搞掂了吗?为什么要这么麻烦?”。的确,X Window以及Web接口的设置工具,例如webmin,它真的可能帮助我们很轻松地设置好主机,甚至是一些很高级的高级。

但是,X Window的界面虽然友好,功能也强大,而Web接口的工具也可以提供友好的服务,但毕竟它是将所有的套件都整合在一起的一个套件而己,并非是一个完整的套件。所以,有时候,比如升级或者使用其他套件管理模块时,设置上就会有问题。

当远程联机时,命令行界面的传输速度一定比较愉,而且,不容易出现相断线或者是信息外流的问题,因此,shell值得一学。而且,它可以让你更深入linux,更解它,而不是只会按一按鼠标而己。多学一点文字模式的东西,会让你与linux更新近。

有些人也很可爱,常会说:“我学这么多干什么?又不常用,也用不到。”有没有听过“书到用时方恨少?”当主机一切安然无样的时候,你当然会觉得好像学这么多的东西一点帮助也没有,万一某天不幸出了问题,怎么办?是直接重新安装,还是先追踪入侵来源后进行漏洞的修补?或者是干脆就关站好了?这当然涉及很多因素的考虑。

此外,如果真有心想要将主机管理好,那么,必需要掌握shell程序的编写。比如机房管理来说,只有10台,这不算多,但如果每台主机者要花上几十分钟来查看其文件及相关信息,工作量就太大了,也太没有效率了。这个时候,如果能够通过shell提供的命令重导向以及管道命令,不用10分钟就能看完所有主机的重要信息了。


回答: 2021-12-02 14:52

在充斥着各种的互联网+的数字时代,Linux运维也越来越趋于自动化方向发展,越来越多的运维工作者奔跑在了自动化运维的路上。目前Linux系统下最流行的运维自动化语言就是shellPython了。

两者之间,shell几乎是IT企业必须使用的运维自动化编程语言,特别是在运维工作中的服务监控、业务快速部署、服务启动停止、数据备份及处理、日制分析等环节里,shell是不可缺的。当然Python也是一门更适合处理复杂的业务逻辑,以及开发复杂的运维软件工具,实现通过web访问等。Shell是一个命令解释器,解释执行用户所输入的命令和程序。一输入命令,就立即回应的交互的对话方式。

Shell应该怎么学呢?

1. 先夯实shell编程的基础

Shell编程的基础知识、运行原理、程程语法、编程习惯、变量知识

2. Shell编程初中级实战知识和技能

变量的多种数值运算、条件测试与比较、if条件判断语句、shell函数等

3. Shell编程初中级实战知识和技能

Case条件语句、while循环和until型循环、for循环和select循环、条件与循环控制及状态返回值、shell数组等

4. 高效shell编程必备知识

Shell脚本开发规范与编码习惯、shell脚本的调试知识和技巧、shell脚本开发环境的配置调整和优化

5. shell的特殊应用

Linux信号及trap命令的企业应用、expect自动化交互式程序的应用、子ShellShell嵌套模式知识应用。

Shell存在操作系统的最外层,负责与用户直接对话,把用户的输入解释给操作系统,并处理各式各样的操作系统的输出结果,然后输出到屏幕返回给用户。输入系统用户名和面并登录到Linux后的所有操作都是由shell解释与执行的。IT界技术本身的更新迭代是比较快的,有了方法、思路,加之以努力,相信朋友们会有不错的发展。


相关问题推荐

  • 回答 7

    使用命令:chmod 744 myflile就可以实现以上的操作。

  • 回答 4

    关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间分析解决这类问题,关...

  • 回答 6
    已采纳

    chmod 命令:chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。1. 文字设定法:chmod [who] [+ | - | =] ...

  • 回答 3
    已采纳

    Linux chattr 命令一般,chattr命令用于更改Linux文件上属性。以下是它的语法:chattr [ -RVf ] [ -v version ] [ mode ] files...下面是man手册对它的描述:chattr 改变一个Linux文件系统上的文件属性。一个通用格式是:+-=[aAcCdDeijsStTu]‘+’选项,将给...

  • 回答 8
    已采纳

    命令格式cat [选项] [文件]...命令功能cat主要有三大功能:一次显示整个文件:cat filename从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.将几个文件合并为一个文件:cat file1 file2 > file命令参数-n 或 --number 对输出的所有行编号,...

  • 回答 3

    shell的执行过程: 首先,脚本是从上至下从左至右执行每一行的语句的。 其次,当执行脚本时会进入一个新的shell,也成为nologin shell,在该shell下执行完成后,再返回执行前的shell。更加详细的讲解请楼主参考鸟哥linux网站中的bash shell章节有图能让您更...

  • 回答 6

    1.服务器一般情况下只有在进行项目部署或者是出现问题的时候才需要进行远程连接操作,在进行连接的时候我们一般都是使用的外部连接软件2.启动软件,点击快速连接,我们要选择连接的协议3.协议选择要然后填写服务器的IP地址和用户名,然后点击连接4.在通过验证...

  • 回答 6

    1.正确的关机流程为:sysnc ? shutdown ? reboot ? halt;2.sync 将数据由内存同步到硬盘中。3.shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:4.shutdown –h 10 ‘This server will shutdown after 10 mins’ ...

  • 回答 12
    已采纳

    一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。主流的Linux发行版:Ubuntu, DebianGNU/Linux ,Fedora,Gento...

  • 回答 8
    已采纳

    1、Linux操作系统使用虚拟文件系统(VFS)向上和用户进程文件访问系统调用接口,向下和具体不同文件系统的实现接口。VFS屏蔽了具体文件的实现细节,向上提供统一的操作接口。通过VFS可以实现任意的文件系统,这些文件系统通过文件访问系统调用都可以访问。所...

  • 回答 7
    已采纳

    linux的基础启动流程1. 加载BIOS的硬件信息,并获取第一个启动设备的代号。2. 读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk等)的启动信息。3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备。4. 核心执行init程序并获...

  • 回答 9
    已采纳

    点击运行或者win+R调出运行窗口,输入regedit打开Windows注册表在注册表找到如下位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config找到AnnounceFlags 双击修改值为5保存1.  在注册表找到如下位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentC...

  • 回答 11
    已采纳

    你可以经常去一些linux的论坛!~那里有许多知识的~你也可以下载一些自学教程!~当然是从入门开始了!~安装和使用的基本命令什么的!~和你学windows开始一样,由浅入深!~http://www.linux8.net/http://www.chinalinuxpub.com/http://linux.chinaitlab.com/Lin...

  • 回答 15
    已采纳

    1、cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:cd /root/Docements # 切换到目录/root/Docementscd ./path          # 切换到当前目录下的path...

  • 回答 7
    已采纳

    目录/bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。/etc存放系统管理和配置文件/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /usr用于存放系统应用程序,比较重要的目录/u...

没有解决我的问题,去提问