shell、shell脚本、shell命令

什么是shell、shell脚本?

  • Shell(Linux内核的“外壳”)

    1. 是运行在终端中的文本互动程序,是用户使用Linux的桥梁
    2. shell程序有多种,如sh、bash、ksh、rsh、csh等。
    3. 其中最常用的shell是bash,bash也是大多数Linux发行版默认的shell程序
      在这里插入图片描述
  • Shell脚本

    1. 交给shell来执行的脚本程序,进而调用Linux内核
  • shell脚本的类型

    1. 不同的shell脚本本质上是解释器不同,最常用的是bash,更早之前是sh
    2. shell脚本文件中的第一行一般标明了脚本的解释器路径。如:
      • #!/bin/bash
      • #!/bin/sh
      • #!/usr/bin/python
      • #!/bin/awk -f
    3. #!是一个特殊的标记,用以说明该文件为可执行文件,在脚本文件中,除第一行之外,其他以 # 开头的均为注释
    4. 通过 cat/etc/shells 可以查看系统可使用的shell脚本类型
  • shell脚本的执行方式:

    1. bash或sh【脚本的相对或绝对路径】
    2. source【脚本的相对或绝对路径】,常用于更改/etc/profile中的环境变量后,运行该文件使其生效
    3. ./shell.sh(相对或绝对路径)该方法与 2 是一样的
    4. shell脚本在执行时,shell程序会寻找指定的解释器来执行,如果在执行时未指定解释器(如source、. 等),则会首先使用shell脚本第一行指定的解释器来执行。

什么是shell命令?

  • 用来运行shell程序进而调用Linux内核的命令,分为内建命令与外部命令

  • 内部命令:

    1. 内部命令指的是集成在shell程序里面的命令,一般都是轻量级的命令。只要shell程序被执行(大多数Linux发行版在登录时就会自动运行bash shell,此时内部命令即被加载到内存中),内部命令就自动载入内存,用户可以直接使用,比如cd命令等
  • 外部命令:

    1. 外部命令是一个独立的外部可执行程序,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,通常保存在磁盘中,当需要时才将其加载到内存。通常外部命令的实体并不包含在Shell中,但是其命令执行过程是由Shell程序控制的。当外部命令被调用时,Shell 创建子进程来执行该命令。Shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin……等等
  • 可通过 type 区分内、外部命令

    type echo
    # echo is a shell builtin
    
    type -a echo 	# 同时给出该命令的类型和存放路径
    # echo is a shell builtin
    # echo is /bin/echo
    

【注意】内部命令由shell程序直接执行,外部命令和shell脚本均由shell程序的子进程执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值