搜索
首页运维linux运维shell script到底是什么?怎么使用?

shell script到底是什么?怎么使用?

Jul 18, 2017 pm 06:07 PM
scriptshell什么

       或许﹐许多人都已经听过 shell 或 bash 这些名字﹐但不知道您是否知道它们究竟是什麼东东呢﹖
先回到电脑基础常识上吧﹕所有的电脑都是由硬体和软体构成的﹐硬体就是大家能摸得著看得见的部份﹐例如﹕键盤﹑荧幕﹑CPU﹑记忆体﹑硬碟﹑等等。离开了硬体﹐所谓的电脑是不存在的﹐因为整个系统的输入和输出以及运算都离不开硬体。请问﹕如果没有键盤和荧幕您是怎样使用电脑的﹖但是﹐您透过键盤进行的输入﹐以及从荧幕看到的输出﹐真正发挥功能的﹐是软体的功劳。而直接负责和这些硬体进行沟通的软体﹐就是所谓的核心(kernel)﹐kernel 必须能够接管键盤的输入﹐然後交由 CPU 进行处理﹐最後将执行结果输出到荧幕上。当然﹐除了键盤和荧幕外﹐所有的硬体都必须获得 kernel 的支援才能使用。
那麼﹐kernel 又如何知道我们键盤输入的东西是什麼呢﹖那就是我们这里介绍的 shell 所负责的事情了。因为电脑本身所处理的数据﹐都是二进位的机器码﹐和我们人类习惯使用的语言很不一样。比方说﹐输入 pwd 命令﹐我们知道这是 print working directory 的意思(非常简单的人类语音)﹐但作为 kernel 来说﹐它并不知道 pwd 是什麼﹐kernel 只会看机器码﹐这时候﹐shell 就会帮我们将 pwd 翻译为 kernel 能理解的程式码。所以﹐我们在使用电脑的时候﹐基本上就是和 shell 打交道﹐而不是直接和 kernel 沟通﹐更不是直接控制硬体。

Windwos下利用批处理程序bat开发的备份网站及数据库的脚本 

@echo off
set date=%date:~0,4%-%date: ~5,2%-%date:~8,2%
mysqldump -uroot -ppassword -A -B > D:\back\"%date%".sql
rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql
del D:\bak\*.sql
rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\PHPnow\htdocs

清除/var/log/message 系统日志文件命令脚本

# 使用root身份运行这个脚本
# 清除日志版本,版本:v1
cd /var/log
cat /dev/null > messages
echo "Logs cleaned up."

 问题:

  1. 不是root执行权限执行不了

  2. 没有流程控制判断是否存在文件

LOG_DIR=/var/log
# $UID为0的时候,用户才具有root用户的权限
ROOT_UID=0

# 使用root用户来运行
if [ "$UID" -ne "$ROOT_UID" ]
then
  echo "Must be root to run this script."    
  exit 1
fi
cd $LOG_dir || {
  echo "Can't change to necesary directory." >&2
  exit 1
}
cat /dev/null > messages
echo "Logs cleaned up."
exit 0
# 推出之前返回0表示成功,返回1表示失败

以上是shell script到底是什么?怎么使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Linux的心脏:5个核心组件Linux的心脏:5个核心组件Apr 13, 2025 am 12:15 AM

Linux的5个核心组件分别是内核、Shell、文件系统、系统库和系统工具。1.内核管理硬件资源并为应用程序提供服务。2.Shell作为用户与系统的接口,解释并执行命令。3.文件系统负责数据的存储和组织。4.系统库提供预编译函数供应用程序调用。5.系统工具用于系统管理和维护。这些组件协同工作,赋予Linux强大的功能和灵活性。

如何检查Debian OpenSSL配置如何检查Debian OpenSSL配置Apr 12, 2025 pm 11:57 PM

本文介绍几种检查Debian系统OpenSSL配置的方法,助您快速掌握系统安全状态。一、确认OpenSSL版本首先,验证OpenSSL是否已安装及版本信息。在终端输入以下命令:opensslversion若未安装,系统将提示错误。二、查看配置文件OpenSSL主配置文件通常位于/etc/ssl/openssl.cnf。您可以使用文本编辑器(例如nano)查看:sudonano/etc/ssl/openssl.cnf此文件包含密钥、证书路径及加密算法等重要配置信息。三、利用ope

Debian上Hadoop开发环境如何搭建Debian上Hadoop开发环境如何搭建Apr 12, 2025 pm 11:54 PM

本指南详细介绍如何在Debian系统上搭建Hadoop开发环境。一、安装Java开发套件(JDK)首先,安装OpenJDK:sudoaptupdatesudoaptinstallopenjdk-11-jdk-y配置JAVA_HOME环境变量:sudonano/etc/environment在文件末尾添加(根据实际JDK版本调整路径):JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"保存并退出,然后执行:source/etc

Debian上Hadoop资源管理怎么做Debian上Hadoop资源管理怎么做Apr 12, 2025 pm 11:51 PM

在Debian系统上有效管理Hadoop资源,需要遵循以下步骤:Hadoop部署:首先,在Debian系统上完成Hadoop的安装与配置。这包括下载Hadoop发行包、解压、设置环境变量等必要操作。集群配置:安装完成后,对Hadoop集群进行配置,涵盖HDFS(Hadoop分布式文件系统)和YARN(YetAnotherResourceNegotiator)的设置。需要修改核心配置文件,例如:core-site.xml、hdfs-site.xml、mapred-site.x

Debian Tomcat日志安全设置有哪些Debian Tomcat日志安全设置有哪些Apr 12, 2025 pm 11:48 PM

提升DebianTomcat日志安全性,需关注以下关键策略:一、权限控制与文件管理:日志文件权限:默认日志文件权限(640)限制了访问,建议修改catalina.sh脚本中的UMASK值(例如,从0027改为0022),或在log4j2配置文件中直接设置filePermissions,以确保合适的读写权限。日志文件位置:Tomcat日志通常位于/opt/tomcat/logs(或类似路径),需定期检查该目录的权限设置。二、日志轮转与格式:日志轮转:配置server.xml

如何解读Tomcat日志中的警告如何解读Tomcat日志中的警告Apr 12, 2025 pm 11:45 PM

Tomcat服务器日志中的警告信息提示潜在问题,可能影响应用性能或稳定性。有效解读这些警告信息需要关注以下几个关键点:警告内容:仔细研读警告信息,明确问题类型、成因及可能的解决方法。警告信息通常会提供详细描述。日志级别:Tomcat日志包含不同级别信息,例如INFO、WARN、ERROR等。“WARN”级别的警告提示非致命性问题,但需要关注。时间戳:记录警告发生的时间,以便追溯问题出现的时间点,分析其与特定事件或操作的关系。上下文信息:查看警告信息前后日志内容,获取

Tomcat日志如何帮助排查内存泄漏Tomcat日志如何帮助排查内存泄漏Apr 12, 2025 pm 11:42 PM

Tomcat日志是诊断内存泄漏问题的关键。通过分析Tomcat日志,您可以深入了解内存使用情况和垃圾回收(GC)行为,从而有效定位和解决内存泄漏。以下是如何利用Tomcat日志排查内存泄漏:1.GC日志分析首先,启用详细的GC日志记录。在Tomcat启动参数中添加以下JVM选项:-XX: PrintGCDetails-XX: PrintGCDateStamps-Xloggc:gc.log这些参数会生成详细的GC日志(gc.log),包含GC类型、回收对象大小和时间等信息。分析gc.log

Debian Apache日志对服务器性能有何影响Debian Apache日志对服务器性能有何影响Apr 12, 2025 pm 11:39 PM

Debian系统下Apache日志对服务器性能的影响是双刃剑,既有积极作用,也有潜在的负面影响。积极方面:问题诊断利器:Apache日志详细记录服务器所有请求和响应,是快速定位故障的宝贵资源。通过分析错误日志,可以轻松识别配置错误、权限问题及其他异常。安全监控哨兵:访问日志能够追踪潜在安全威胁,例如恶意攻击尝试。通过设置日志审计规则,可以有效检测异常活动。性能分析助手:访问日志记录请求频率和资源消耗,帮助分析哪些页面或服务最受欢迎,从而优化资源分配。结合top或htop等

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),