shell

Shell的作用是解释执行用户的命令,有两种执行方式。

  • 交互式:用户输入一条命令,Shell就解释执行一条。
  • 批处理:用户写shell脚本,其中有很多条命令,让Shell一次把这些命令执行完。Shell脚本和编程语言很相似,但Shell脚本是解释执行的,不需要编译。

类型

Linux默认的shell都是bash,从/etc/shells文件中可以查询合法的shell。系统有些服务在运行过程中,回去检查用户能够使用的shells。若不想让该用户使用FTP之外的主机资源时,可以给予该用户一些奇怪的shell,如 /usr/sbin/nologin,/bin/false。/etc/passwd文件中可以查询用户的登录shell。

命令

在shell命令行中输入的命令有两种。

  • 内部命令:cd,pwd,echo等。当Shell运行起来时就随Shell加载入内存,当我们在命令行上输入内部命令时,就可以像调用函数一样直接使用,效率非常高。
  • 外部命令:ls,cat,mkdir等。当我们在命令行上输入外部命令时,当前的Shell会fork一个子进程,然后调用exec载入这个命令的可执行文件,比如bin/cat,因此效率上稍微低了点。

快速编辑

脚本

#!是一个特殊标记,说明这是一个可执行的脚本。除了第一行,其他以#开头的都不再生效,为注释。

#!后面是脚本的解释器程序路径。这个程序可以是shell,如#!/bin/bash、#!/bin/sh;或高级程序语言,如#!/usr/bin/python。

执行时,可以直接使用sh执行,或先修改权限再使用./执行。

posted @ 2022-08-02 22:48  煮茶听风雨  阅读(227)  评论(0编辑  收藏  举报