Linux之Shell基础入门

这篇具有很好参考价值的文章主要介绍了Linux之Shell基础入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是shell

什么是shell?
Shell(外壳) 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言又是一种程序设计语言
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

什么是脚本?
脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑)。
常见的脚本:JavaScript(JS,前端),VBScript, ASP,JSP,PHP(后端),SQL(数据库操作语言),Perl,Shell,python,Ruby,JavaFX,Lua等。

为什么要学习和使用shell?
Shell属于内置的脚本
程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)
语法简单,代码写起来比较轻松,简单易学

常见的shell种类?
在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是**/bin/bash**,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。

  • csh

C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。

  • ksh

Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。许多安装脚本都使用 ksh ,ksh有42条内部命令,与bash相比有一定的限制性。

  • tcsh

tcsh是csh的增强版,与 C shell 完全兼容。

  • sh

是一个快捷方式,已经被/bin/bash所取代。

  • nologin

指用户不能登录

  • zsh

目前Linux里最庞大的一种shell:zsh。它有84个内部命令,使用起来也比较复杂。一般情况下,不会使用该shell。

  • bash

大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。

shell入门案例

编写规范:

  • 代码规范:
    • #!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器]
    • Shell相关指令
  • 文件命名规范:
    • 文件名.sh .sh是linux下bash shell 的默认后缀

使用流程:

  1. 创建.sh文件 touch/vim命令
  2. 编写shell代码
  3. 执行shell脚本 脚本必须得有执行权限,权限相关可以看我这篇:

案例1:创建test.sh,实现第一个shell脚本程序,输出hello world.
输出命令:#echo 123
注意:输出的内容如果包含字母和符号(不包含变量),则需要用引号包括起来。如果是纯数字可以包也可以不包。

#!/bin/bash
echo 'hello world'
[root@localhost aaa]# chmod +x test.sh
[root@localhost aaa]# ll
total 4
-rwxr-xr-x. 1 root root 31 Jul 20 14:24 test.sh
[root@localhost aaa]# ./test.sh
hello world

注意,这里在运行时一定要写成./test.sh,而不是test.sh,运行其它二进制的程序也一样,直接写test.sh,Linux 系统会去 PATH(环境变量) 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。

案例2:使用root用户帐号创建并执行test2.sh,实现创建一个shelltest用户,并在其家目录中新建文件try.html。

#!/bin/bash
useradd shelltest
touch /home/shelltest/try.html

脚本执行的另外一个方式:/bin/bash 脚本的路径

[root@localhost aaa]# chmod +x test2.sh
[root@localhost aaa]# /bin/bash test2.sh

Shell脚本分为简单的写法(简单命令的堆积)和复杂写法(程序的设计)。

本文内容到此结束了,
如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
如有错误❌疑问💬欢迎各位指出。
主页:共饮一杯无的博客汇总👨‍💻

保持热爱,奔赴下一场山海。🏃🏃🏃文章来源地址https://www.toymoban.com/news/detail-540902.html

到了这里,关于Linux之Shell基础入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • shell脚本——服务器巡检(自动化运维)

     目的   自动 获取集群内 多个主机 的内存、磁盘、cpu等信息 生成日志  准备    VMware虚拟主机IP在同一个网段(互相能ping通)             虚拟主机都有公钥免登录            修改主机IP  vi/etc/sysconfig/netwoek-scripts/ifcfg-ens160            设置主机名 hostnamectl set-ho

    2024年02月15日
    浏览(52)
  • Linux本地部署1Panel服务器运维管理面板并实现公网访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月04日
    浏览(92)
  • Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月04日
    浏览(75)
  • 【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本

    业务场景:该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 连上服务器后,在任意位置都可以执行: crontab -e 如果没有进入 编辑cron任务模式 根据提示查看我们的服务器上是否未安装crontab没有则

    2024年02月14日
    浏览(59)
  • [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

    本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于docker的,想法很先进。官方还提供了视频的使用教程,本期为大家按照本专栏的基本内容进行多方面的测评。

    2024年02月07日
    浏览(89)
  • Java利用JSCH库远程连接Linux服务器以及操作多条Shell命令

    为了实现 DHCP 服务器的 IP 存储、回收和查询机制,我们需要将服务器中 LXD 容器的网卡 IP 查询出来,并且存储到服务器中的 Mysql 中。所以,下面介绍如何通过 Java 远程连接 Linux 服务器以及操作多条 Shell 命令。 创建 Maven 项目,导入依赖 jsch 实现远程连接,往后我们只需要调

    2024年02月13日
    浏览(50)
  • 华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    本章节内容,我们主要介绍华为云耀服务器L实例,从云服务的优势讲起,然后讲解华为云耀服务器L实例资源面板如何操作,如何使用宝塔运维服务,如何使用运维工具可视化安装nginx,最后部署一个自研的H5的小游戏(6岁的小朋友玩的很开心😁)。 前端的同学如果想把自己

    2024年02月07日
    浏览(56)
  • Linux服务器常见运维性能测试(3)CPU测试super_pi、sysbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月02日
    浏览(52)
  • Linux运维之shell基础

    基本语法: 注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格 ②if 后要有空格 例如,现在写一个if.sh脚本文件 基本语法: 注意事项: (1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。 (2)双分号“;;”表示命令序列结束,相当于

    2024年02月02日
    浏览(56)
  • Linux之实现Apache服务器监控、数据库定时备份及通过使用Shell脚本发送邮件

    目录  一、Apache服务器监控 为什么要用到服务监控? 实现Apache服务器监控 二、数据库备份 为什么要用到数据库备份? 实现数据库备份 三、Shell脚本发送邮件 为什么要用使用Shell脚本发送邮件? 实现Shell脚本发送邮件 在Linux中监控Apache服务器是非常重要的,原因如下: 保证

    2024年04月15日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包