linux shell命令行及脚本编程实例详解
Shell是指操作系统提供给用户的一个界面,用户可以通过该界面来调用系统的命令和程序。Linux中提供了多种Shell,在大部分的Linux系统中默认使用的是bash(Bourne-Again SHell)。
Shell命令行是用户与Shell进行交互的主要方式。用户通过Shell命令行输入命令,Shell则会执行并返回输出结果。
Shell脚本是一种编写Shell命令的文本文件,其扩展名为.sh。脚本文件中包含了一系列的Shell命令和程序,可以完成一定的自动化工作。
以下是一些常见的Shell命令:
ls
列出当前目录下的文件和文件夹cd
切换目录mkdir
创建目录rm
删除文件或目录cat
查看文件内容echo
输出字符串Shell变量是用于存储数据的一种方法,可以使用var=value
的方式进行赋值,例如:
name="John"
echo $name 输出John
Shell条件语句可以根据某个条件执行不同的命令或程序。例如:
if [ $name == "John" ]
then
echo "Hello John"
else
echo "Who are you?"
fi
Shell循环语句可以多次执行某个命令或程序。例如:
for i in $(seq 1 10)
do
echo $i
done
Shell函数是一段可以重复使用的代码,定义和调用函数的方式如下:
function myfunc() {
echo "Hello World"
}
myfunc
下列为一个简单的Shell脚本,用于统计当前目录下所有文件的行数:
!/bin/bash
for file in $(ls)
do
if [ -f $file ]
then
lines=$(wc -l "$file" | awk '{print $1}')
echo "$file has $lines lines"
fi
done
该脚本首先循环列出当前目录下的所有文件,判断是否为文件并使用wc -l
命令统计文件行数并输出。终的输出结果如下:
file1 has 10 lines
file2 has 20 lines
file3 has 30 lines
...
需要注意的是,该脚本只能统计文本文件的行数,若有其他类型的文件则会无法处理。