第26章 linux和脚本
linux是一种免费且开源的类unix操作系统,基于unix设计。它由芬兰程序员linus torvalds于1991年首次发布,并得到了全球开发者社区的广泛支持和贡献。linux以其稳定性、安全性、灵活性和高度可定制性而闻名,被广泛应用于各种场景,如服务器、桌面计算机、嵌入式设备和超级计算机等。
以下是一些linux的主要特点:
1 开源:linux是免费且开源的操作系统,用户可以自由获取、修改和分发其源代码。这使得开发者和组织可以自由地定制和优化linux以满足其需求。
2 稳定性:linux以其高稳定性而受到赞誉,可以在长时间运行过程中保持高效和可靠。这使得linux非常适合作为服务器操作系统。
3 安全性:linux具有强大的安全特性,如访问控制、防火墙和内核保护等。这使得linux成为许多安全敏感环境的理想选择,如金融、政府和医疗等。
4 社区支持:linux拥有庞大的开发者社区,提供了丰富的资源和支持。这包括各种论坛、文档、教程和工具,可以帮助用户解决问题和学习linux。
5 可扩展性:linux具有很好的可扩展性,可以轻松支持从低端的单板计算机到高端的超级计算机等各种硬件配置。
6 广泛的应用:linux被广泛应用于各种场景,如web服务器、数据库服务器、虚拟化、云计算、嵌入式系统、高性能计算等。
以下是几个简单的linux代码示例,涵盖了不同的编程领域:
1 在linux终端中输出&34;hello world!&34;:
创建一个名为`hello_worldc`的文件,并添加以下c代码:
```c
include <stdioh>
int main() {
printf(&34;hello world!\n&34;);
return 0;
}
```
在终端中,使用以下命令编译和运行程序:
```sh
gcc hello_worldc -o hello_world
/hello_world
```
终端将输出&34;hello world!&34;。
2 在linux中创建一个简单的shell脚本:
创建一个名为`hello_scriptsh`的文件,并添加以下bash代码:
```sh
!/bin/bash
echo &34;hello, wele to my shell script!&34;
if [ &34;1&34; = &34;morning&34; ]; then
echo &34;good morning!&34;
else
echo &34;good afternoon!&34;
fi
```
在终端中,使用以下命令为脚本添加执行权限:
```sh
chmod +x hello_scriptsh
```
运行脚本,如下所示:
```sh
/hello_scriptsh morning
```
终端将输出相应的问候语。
3 在linux中创建一个简单的python脚本:
创建一个名为`hello_pythonpy`的文件,并添加以下python代码:
```python
print(&34;hello, wele to my python script!&34;)
greeting = &34;good morning!&34;
if len(sysargv) > 1 and sysargv[1]lower() == &34;evening&34;:
greeting = &34;good evening!&34;
print(greeting)
```
在终端中,使用以下命令运行脚本:
```sh
python3 hello_pythonpy morning
```
或
```sh
python3 hello_pythonpy evening
```
终端将输出相应的问候语。
这些示例涵盖了linux开发的基本概念,如c编程、bash脚本和python脚本。
bash脚本是一种基于bash shell的脚本语言,用于在unix和linux系统中自动执行任务和操作。bash脚本通常包含一系列的命令、控制结构和函数,用于执行各种任务,如系统管理、文件处理、数据处理等。
以下是一个简单的bash脚本示例,演示了如何创建一个脚本来计算两个数字的和:
```sh
!/bin/bash
变量定义
sum=0
读取用户输入的两个数字
read -p &34;请输入第一个数字:&34; num1
read -p &34;请输入第二个数字:&34; num2
计算和
sum=((num1 + num2))
输出结果
echo &34;两个数字之和为:sum&34;
```
要运行此脚本,请将其保存为`add_numberssh`,然后在终端中执行以下命令:
```sh
chmod +x add_numberssh
/add_numberssh
```
终端将提示您输入两个数字,然后显示它们的和。
以下是一些常用的bash脚本概念和技巧:
1 变量:在bash脚本中,变量使用字母、数字和下划线的组合,但不以数字开头。变量赋值使用等号(=)。
```sh
name=&34;alice&34;
num=42
```
2 控制结构:bash脚本支持if/else条件语句、for循环、while循环和case语句。
```sh
if [ num -gt 10 ]; then
echo &34;数字大于10&34;
else
echo &34;数字小于等于10&34;
fi
for num in 1 2 3 4 5; do
echo num
done
while read -p &34;请输入一个数字:&34; num; do
echo &34;您输入的数字是:num&34;
done
```
3 函数:bash脚本支持自定义函数,用于封装可重用的代码。
```sh
function add_numbers() {
sum=((num1 + num2))
echo &34;两个数字之和为:sum&34;
}
add_numbers 10 20
```
4 输入和输出:bash脚本提供了许多用于读取用户输入和显示输出的命令,如`read`、`echo`、`printf`等。
```sh
read -p &34;请输入您的名字:&34; name
echo &34;欢迎您,name!&34;
```
python是一种高级、解释型、通用型编程语言,广泛应用于web开发、数据科学、人工智能、自动化等领域。python脚本易于编写和阅读,具有简洁明了的语法和丰富的标准库。
以下是一个简单的python脚本示例,演示了如何计算两个数字的和:
```python
def add_numbers(num1, num2):
sum = num1 + num2
return sum
num1 = int(input(&34;请输入第一个数字:&34;))
num2 = int(input(&34;请输入第二个数字:&34;))
result = add_numbers(num1, num2)
print(&34;两个数字之和为:&34;, result)
```
要运行此脚本,请将其保存为`add_numberspy`,然后在终端中执行以下命令:
```sh
python3 add_numberspy
```
终端将提示您输入两个数字,然后显示它们的和。
以下是一些常用的python脚本概念和技巧:
1 变量和数据类型:python中的变量使用字母、数字和下划线的组合,但不以数字开头。python是一种动态类型语言,无需显式声明变量类型。
```python
name = &34;alice&34;
num = 42
```
2 控制结构:python支持if/else条件语句、for循环、while循环和try/except异常处理。
```python
if num > 10:
print(&34;数字大于10&34;)
else:
print(&34;数字小于等于10&34;)
for num in range(1, 6):
print(num)
while num != 0:
num = int(input(&34;请输入一个数字:&34;))
if num == 0:
break
print(&34;您输入的数字是:&34;, num)
```
3 函数:python中的函数使用`def`关键字定义,可以接受参数并返回值。
```python
def add_numbers(num1, num2):
sum = num1 + num2
return sum
result = add_numbers(10, 20)
print(&34;两个数字之和为:&34;, result)
```
4 输入和输出:python提供了许多用于读取用户输入和显示输出的函数和方法,如`input`、`print`等。
```python
name = input(&34;请输入您的名字:&34;)
print(&34;欢迎您,&34;, name, &34;!&34;)
```