Bash学习笔记(1)-----bash初步及介绍
Bash学习笔记(1)简介:Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell。 shell是一个命令解释器,是介于操作系统内核与用户之间的一个绝缘层。准确地说,它也是能力很强的计算机语言,被称为解释性语言或脚本语言。它可以通过将系统调用、公共程序、工具和编译过的二进制程序”粘合“在一起来建立应用,这是大多数脚本语言的共同特征,所以有时候脚本语言又叫做“胶水语言” 事实上,所有的UNIX命令和工具再加上公共程序,对于shell脚本来说,都是可调用的。Shell脚本对于管理系统任务和其它的重复工作的例程来说,表现的非常好,根本不需要那些华而不实的成熟紧凑的编译型程序语言。 Hello world!# hello.sh
#!/bin/bash
echo Hello World
Linux 系统根据 “#!” 及该字串后面的信息确定该文件的类型,可以通过 在 BASH 中 第一行的 “#!” 及后面的 重定向的使用比如我们想要保存刚刚的hello world为一个文本,那么该怎么办呢?
#!/bin/bash
echo "Hello World" > my.txt
使用脚本清除/var/log下的log文件首先我们看一看 cat /var/log/wtmp 以上这两个文件中记录了系统的一些信息,现在我们需要写一个脚本把里面的东西清空,但是保留文件 $ vim cleanlogs.sh 说明:
#!/bin/bash
# 初始化一个变量
LOG_DIR=/var/log
cd $LOG_DIR
cat /dev/null > wtmp
echo "Logs cleaned up."
exit
运行脚本前,先看看 /var/log/ 下文件内是否有内容。运行此脚本后,文件的内容将被清除。 执行
思考练习1. 遇到权限不够的提示,为什么,如何解决?权限不够加sudo啊,可是你会发现
一样会提示权限不够,为什么呢?因为sudo只能让cat命令以sudo的权限执行,而对于
让整个命令都具有sudo的权限执行 2. 为什么cleanlogs.sh可以将log文件清除?因为 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |