Linux(3)---Shell

本文围绕Shell展开,它是实现Linux系统自动化管理的工具。介绍了使用Shell的必备知识,如vi/vim编辑器等,还提及Linux常用命令、网络服务部署排错。阐述了Shell脚本概念,介绍了Shell类型、优势,以及查看方法、脚本规范、环境变量等内容,最后给出面试题示例。

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

Shell 是实现 Linux 系统自动化管理的工具。

必备知识:vi/vim编辑器的熟练使用,SSH 终端 及“.vimrc”的设置需要熟练使用。

                  Linux150个常用命令使用

                  常见Linux网络服务部署及排错:例如:crond,nfs,rsync,inotify,lanmp,sersync,ssh等

    Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统。操作系统处理完再通过shell返回给用户。相当于中间人

    Shell脚本:当Linux命令或语句不在命令行下执行(严格来说,命令行也是一个Shell),而是通过一个程序文件执行时,该程序就被称为Shell脚本或Shell程序。用户可以在Shell脚本中敲入一系列命令或语句组合。(类似于windows 下的 。bat  批处理文件)

 

清除 var/log/  message 的所有日志文件

LOG_DIR=/var/log #定义一个变量LOG_DIR为 /var/log
ROOT_UID=0 #$UID为0的时候,用户才具有root用户的权限,要使用root用户才可以运行起来
if[ "$UID" -ne "$ROOT_UID"]   #  $UID -ne(不等于)0
then
	echo "Must be root to run this script."
	exit 1      #退出
fi
cd $LOG_DIR || {       #cd成功 ,要不然就执行后面的
	echo "can not to necessary directory." > $2
	exit 1
}
cat /dev/null > message && "Logs clean Up."  #第一个执行成功才会执行第二个
exit 0
# 退出之前返回0表示成功,返回1表示失败

在 UNIX LINUX 主要有两大类shell

     Bourne shell

     C Shell

Shell 的优势在于处理操作系统底层的业务,因为有大量的系统命令为它做支撑,2000 多个命令都是shell编程的有力支撑,特别是 grep , awk , sed等

 

主要是 shell 是 bash

查看shell的方法 : echo &SHELL

           输出 :    /bin/bash

 

脚本第一行:

一个规范的shell脚本第一行会指出哪个程序(编辑器)来执行脚本中的内容

#!/bin/bash
或
#!/bin/sh <== 255 个字符以内

    其中开头的“#!”又称为幻数,在执行bash脚本的时候,内核会根据 "#!" 后的解释器来确定该由哪个程序解析脚本中的内容。注意,这一行必须在每个脚本顶端的第一行

#!/bin/bash   #写在第二行就成了注释了

     

系统的环境变量:

#!/bin/bash
echo $USER           # USER就是系统的环境变量

所以我们定义变量的时候不要定义和系统变量一样,一样有可能被覆盖

     当 Shell 以文件的方式运行时,它会先查找环境变量 ENV , 该变量指定了一个环境文件

在  /etc/profile  中有环境变量

我们可以定义   : export AAA=1   (这样就类似于上段代码的 USER 一样了)

 

sh      脚本 可以不用执行权限

path/ 脚本  (全路径执行)    ./脚本    (需要有执行权限)

 

 

面试题:

1.已知如下命令的返回结果,请问 echo $user 的结果为()

    [ xxx]cat test.sh

    user= ''zhangsan"

   [xxx] sh test.sh

   [xxx] echo $user

结果是null  (因用 sh 命令执行脚本,执行完之后变量就消失了)

                    用  .  test.sh  来执行脚本,echo $user root 

 

脚本最好不使用中文注释:防止本机或换系统环境后中文乱码

最好一次写完

if 条件
  then 
     内容
fi

for

for
 do
     for
       do

     done
done

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值