news 2026/8/21 7:28:01

【00014】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【00014】

四、Linux软件编程

1. 操作系统

一款软件,为了屏蔽底层不同的硬件平台,为上层提供统一的接口,实现通用的软件代码
PC三大操作系统
Unix 世界上第一款操作系统
Linux GNU GNU's Not Unix C语言编写
服务器
嵌入式
Windows C/C++

2. Linux操作系统

(1)Linux内核5大功能

内存管理
多任务调度
文件系统的管理(Linux系统中一切皆是文件)
多任务间的通信
网络通信

(2)Linux内核
1. Linux内核是由系统调用组成的一些纯C代码
2. 不允许与用户直接交互
3. 内核功能复杂,不容易被调用,所以通过shell编写一系列命令来完成内核功能(命令解
释器)

(3)shell作用

1. 保护内核
2. 命令解释器

(4)库函数

1. 库函数是对系统调用的封装,能够处理一些复杂的应用场景
2. 系统调用是Linux内核中的函数接口,只有在Linux系统中才能使用,功能强大,但十分
简练
3. 库函数可以移植,所以具有通用性

4.1 Shell

1. shell命令

(1)基础命令

1. ls

ls -l
ls -a
文件类型:
b:block 块设备文件
c:character 字符设备文件
d:directory 目录文件
-:普通文件
l:link 链接文件
s:socket 套接字文件
p:pipe 管道文件
2. touch
创建文件
3. rm
删除文件
4. mkdir
创建文件夹
5. rmdir
删除空文件夹
6. rm -rf
删除非空文件夹
7. cp
拷贝文件
如果拷贝目录文件需要加 -rf选项
8. mv
移动文件

(2)文件查看命令

1. cat

功能:查看文件中的内容
使用示例:

cat filename

2. more/less
3. head/tail

head/tail -n 行数 文件名

(3)文件查找

1. find

功能:在当前目录下找与文件名对应的文件路径
find . -name "文件名"

2. grep

功能:打印出文件名中所有与字符串匹配的行
grep "字符串" 文件名

(4)通配符

*:匹配任意长度,任意字符的文件名
?:匹配一位长度,任意字符的文件名
[]:匹配一位长度,指定字符的文件名
file_*.txt
file_??.txt
file_[1,3,5].txt
file_[1-5].txt
file_[^6].txt

(5)压缩解压命令

压缩:
tar -zcvf filename.tar.gz dirname/*
tar -jcvf filename.tar.bz2 dirname/*
解压:
tar -zxvf filename.tar.gz
tar -jxvf filename.tar.bz2

(6)组合命令

1. 管道

将前面命令的输出作为后续命令的输入
ps -ef | grep "bash"

2. 重定向

将前面命令的输出重定向到文件中
> 覆盖重定向
>> 追加重定向

ps -ef > file.txt

(7)其余命令

1.echo:将内容显示在终端

2.history:查看终端输入过的历史命令

3.du:查看文件大小

du -m 文件名/目录名
du -k 文件名/目录名

4.od:按照指定的方式查看文件中的内容

od -c file.txt

5.date:查看时间和日期

6.uname:查看内核版本、平台架构

uname -a

7.ifconfig:查看网卡信息

8.ping:测试主机与指定IP地址是否能够网络连通

(8)dpkg工具集

1.安装软件

sudo dpkg -i 软件包名.deb

2. 卸载软件

sudo dpkg -P 软件名

3. 查看安装是否成功

dpkg -l 软件名

(9)apt-get工具集

1. 一定有网
2. 设置apt-get工具集的源
3. 下载并安装软件

sudo apt-get install 软件名

4. 卸载软件

sudo apt-get remove 软件名 --purge

2. shell编程

(1)编译型语言

1. 有丰富的数据类型
2. 先编译再执行
3. 执行速度快
4. 开发效率低
5. 数据的运算和处理

(2)解释型语言

1. 所有内容都是字符串
2. 边翻译边执行
3. 执行速度慢
4. 开发效率高
5. 系统的开发和维护

(3)编写shell脚本并执行的步骤

1.打开文件并编写代码
vim filename.sh
2.加上执行权限
chmod +x filename.sh
3.运行脚本
./filename.sh

shell脚本本质就是一系列shell命令的集合

4. shell中的变量
(1)环境变量

PWD
HOME
PATH

(2)位置变量

$0:文件名
$1:给脚本传参
$#:传入参数个数
$$:脚本运行时的进程ID号
$?:上一条shell语句执行的结果

(3)自定义变量

变量名=值

5. shell中的引号

双引号:打印时会替换成变量的值
单引号:打印单引号中的内容不变
倒引号:将引号内部的内容作为一个命令使用

6. shell脚本中的输入和输出

echo 输出

read 输入

7. if分支语句

if 判断条件
then
else
fi

8.case分支语句

case 变量名 in
值1)语句
;;
值2)语句
;;
值3)语句
;;
*)语句
;;
esac

9.while循环

while 条件
do
语句
done

10.for 循环

#for i in 1 2 3 4 5
#for i in {1..100}
#for i in `seq 100`
do
done

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 7:27:45

Python正态分布检验:数学建模数据质量评估与统计方法选择指南

1. 项目缘起:为什么正态分布检验是建模的“第一道安检门”做数学建模,无论是国赛、美赛还是亚太杯,拿到数据后的第一步,往往不是急着上复杂的算法,而是先看看数据长什么样。这就好比医生看病,总得先量个体温…

作者头像 李华
网站建设 2026/8/21 7:26:36

狼蛛G7 Pro多模电竞耳机深度评测:四模连接与虚拟7.1声道实战解析

如果你正在寻找一款能兼顾 PC 游戏、手机娱乐和日常办公的多模无线耳机,并且预算在 300 元价位段,那么“狼蛛 AULA G7 Pro”这个名字很可能已经出现在你的搜索列表里了。它主打“四模连接”、“7.1 虚拟声道”和“电竞耳机”的标签,看起来似乎…

作者头像 李华
网站建设 2026/8/21 7:23:48

基于视频奖励建模的GUI操作智能体训练:原理、实现与挑战

1. 从“看”到“评”:为什么计算机使用智能体需要视频奖励建模在构建一个能像人类一样操作电脑的智能体时,我们面临一个核心挑战:如何告诉它“做得好”还是“做得不好”?传统的强化学习依赖人工设计的奖励函数,比如“成…

作者头像 李华
网站建设 2026/8/21 7:23:48

LLM智能体安全测试新范式:从单点Fuzzing到工作流级灰盒模糊测试

1. 从“单点爆破”到“流程攻击”:为什么LLM智能体需要新的安全测试范式最近和几个做AI应用安全的朋友聊天,大家都有一个共同的感受:传统的安全测试方法,在应对像ChatGPT这类大语言模型驱动的智能体(LLM Agent&#xf…

作者头像 李华
网站建设 2026/8/21 7:23:11

回文链表判断:双指针法与面试实战解析

1. 回文链表问题概述回文链表是算法面试中的经典题型,题目要求判断一个单链表是否为回文结构。所谓回文链表,指的是正读和反读都相同的链表序列,例如 1->2->2->1 或 1->2->3->2->1。这个问题看似简单,但由于…

作者头像 李华