linux软件编程学习大纲:

1.IO操作文件

2.多任务编程

3.网络编程

4.数据库编程

5.硬件设备管理


学习目标:

1.学习接口调用(第一层)

2.软件操作流程和思想(第二层)

3.软件设计思想和流程架构(第三层)


Linux系统概述:

        世界上第一款操作系统:unix

        操作系统为了屏蔽底层不同的硬件平台,为上层提供统一的接口

        GNU:GNU's Not Unix 开源 GitHub GPL协议

        林纳斯 Linux重写了unix操作系统,类Unix操作系统

        Linux应用场景:服务器、嵌入式

        GNU:Linux、Apache、Mysql、Python、LAMP

Linux系统简介:

        常见的Linux系统:Ubuntu、Deblan、Redhat、CentOS等

        Linux操作系统是操作系统的核心、也称为内核,内核的主要功能为:

                内存管理

                多任务管理

                文件系统管理

        shell是操作系统的外壳,主要作用为:

                保护Linux内核,防止用户直接操作内核导致的异常问题

                命令解释器的作用,用户可以通过命令给到shell,并转换为对应的内核代码实现功能

shell命令的执行流程:

shell命令

        基本的shell命令:

                ls(查看文件) 

                cd(进入目录)

                touch(创建文件)

                rm(删除文件)

                makdir(创建文件夹)

                rmdir(删除文件夹)

                cp(拷贝文件)

                mv(移动文件)

        文件查看命令:

                cat:查看文件中的内容

                head:查看文件开头内容

                tail:查看文件末尾内容

        通配符:

                多用来搭配shell命令使用,操作多个文件

                *:匹配任意长度、任意字符的文件名

ls file*.txt

                ?:匹配一位长度、任意字符的文件名

ls file_??.txt

                []:匹配一维长度,指定字符的文件名

        文件查找命令:

                find:

        查找文件

find . -name 文件名 

        查找包含某个字符串的文件

                whereis:查找二进制可执行程序

whereis valgrind

        管道:

                将前面命令的输出作为后续命令的输入

        重定向:

                将原本输出在终端的内容定向到文件中

                        覆盖重定向(将原来内容覆盖掉)

                        追加重定向(再远内容末尾添加新内容)   

    

        常见命令

                echo:在终端显示内容

                grep:查找包含字符串对应的行并显示

                练习:使用一条shell命令,实现找到在stdio.h的后200行中找到和extern相关的内容,写入文件record.txt文件中

        压缩和解压命令

                .tar.gz

                        压缩

                        解压

                .tar.bz2

                        压缩

                        解压

        用户管理命令:
useradd:新建用户

                userdel:删除用户

                passwd:修改密码

                su:切换用户

                chmod:修改文件权限

                chown:修改文件的所属用户

                chgrp:修改文件所属组

shell脚本

        编程语言分类:

                编译型语言:

                        先编译再运行;

                        有丰富的数据类型、擅长计算;

                        执行效率高;

                        开发效率低;

                        C、C++、C#、Java;

                解释型语言:

                        边翻译边执行;

                        擅长对系统管理;

                        执行效率低;

                        开发效率高;

                        shell、Python、JavaScript;

        shell脚本编程:

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

                编程步骤:

                        ①编写脚本文件

vim filename.sh

                        ②使用chmod命令为脚本加上执行权限

chmod +x filename.sh

                        ③运行脚本

./filename.sh

                指定脚本对应的运行shell

#!/bin/bash

        shell脚本的输入和输出

                输入

                输出 

        shell脚本中的引号

                单引号:原封不动打印引号中的内容

                双引号:将双引号中的变量替换成对应的值打印 

   

                倒引号:将引号中的内容当作命令来处理

        shell中的变量

                环境变量:shell自带的一些变量,在程序运行时已经存在了 

                位置变量:

                自定义变量:

        分支结构

                if分支:

                     基本结构:

                     表达式可以由test 命令实现

                      test可以通过[]来替代

                case分支 :

                        基本结构:

        循环结构:

                while循环:

                        基本形式

                until:

                        基本形式

                for:

                        基本形式

        数组

                基本形式

        函数

                基本形式

                        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92543.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92543.shtml
英文地址,请注明出处:http://en.pswp.cn/web/92543.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-5 系列深度详解:第1章-引言(目录)

1 引言2 模型数据与训练3 观察到的安全挑战与评估 3.1 从强制拒绝到安全完成 3.2 禁⽌内容 3.3 拍⻢屁 3.4 越狱 3.5 指令层级 3.6 幻觉 3.7 欺骗 3.7.1 欺骗思维链监控 3.8 图像输入 3.9 健康 3.10 多语言性能 3.1.1公平性与偏见: BBQ评估4 红队测试与外部评估…

NineData 新增支持 AWS ElastiCache 复制链路

2025 年,绝大多数企业已完成业务上云,以获取更高的弹性、可扩展性和成本效益。AWS ElastiCache 作为 AWS 提供的全托管式内存数据库服务,已成为许多企业在云上构建高并发、低延迟应用的理想选择。NineData 数据复制现已全面支持从自建 Redis …

人工智能-python-特征选择-皮尔逊相关系数

以下是关于特征选择中常用方法的表格总结,并且详细阐述了皮尔逊相关系数的原理、计算方法、步骤以及示例。 常用特征选择方法总结方法原理优点缺点使用场景过滤法(Filter Method)基于特征的统计信息(如相关性、方差等)…

LabVIEW多循环架构

​LabVIEW的多循环架构是一种常见的架构,本文Temperature Monitoring.vi 采用 LabVIEW 典型的多循环并行架构,通过功能模块化设计实现温度监测全流程,各循环独立运行又协同工作,构成完整的监测系统。1. 事件处理循环(E…

深入理解Maven BOM

一、什么是Maven BOM? 1.1 BOM的基本概念 Maven BOM(Bill of Materials,材料清单)是一种特殊的POM文件,它主要用于集中管理多个相关依赖的版本。BOM本身不包含任何实际代码,而是作为一个 版本管理的"参…

Mysql分页:高效处理海量数据的核心技术

Mysql分页:高效处理海量数据的核心技术01 引言 在Web应用、移动应用或数据分析场景中,数据库常常需要处理百万甚至千万级的数据记录。一次性加载所有数据不仅效率低下,还会消耗大量网络带宽和内存资源。数据库分页技术正是解决这一挑战的关键…

通过 Docker 运行 Prometheus 入门

Promethues 组件 prometheus serverexporteralertmanager 环境准备 Docker 拉取镜像备用 # https://hub.docker.com/r/prom/prometheus docker pull m.daocloud.io/docker.io/prom/prometheus:main# https://hub.docker.com/r/prom/node-exporter docker pull m.daocloud.io/do…

Java 8特性(一)

目录 一、Lambda表达式 1、语法格式: (1)接口名 对象名(参数类型1参数名1,....参数类型n 参数名n)->{方法体;} (2)参数类型h 参数名n:接口中抽象方法的参数项 (3)->:表示连接操作 &a…

【代码随想录|232.用栈实现队列、225.用队列实现栈、20.有效的括号、1047.删除字符串中的所有相邻重复项】

232.用栈实现队列 timutimtit232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; class MyQueue { public:stack<int> Sin;stack<int> Sout;MyQueue() {}void push(int x) {Sin.push(x);}int pop() {if (Sout.empty()) { // 出栈为空就把入栈的数导出来w…

码上爬第三题【协程+浏览器调试检测】

前言&#xff1a;图灵第三题就是对用户浏览器调试检测&#xff0c;检测鼠标右击打开控制台&#xff0c;检测键盘按键ctrlshifti&#xff0c;从浏览器设置打开开发者工具也不行&#xff0c;应该是有浏览器宽高检测的&#xff0c;所以我们保证浏览器页面宽高不变即可。你如果想右…

windows、linux应急响应入侵排查

windows入侵排查 1.1检查账号 1.查看服务器是否有弱口令&#xff0c;远程管理端口是否对公网开放 2.查看服务器是否存在可疑账号、新增账号 检查方法&#xff1a;打开 cmd 窗口&#xff0c;输入 lusrmgr.msc 命令&#xff0c;查看是否有新增/可疑的账号&#xff0c;如有管…

11. 为什么要用static关键字

11. 为什么要用static关键字 static&#xff1a;通常来说&#xff1a;在new一个对象的时候&#xff0c;数据存储空间才会被分配&#xff0c;方法才能被外界使用。但是有时只想单独分配一个存储空间&#xff0c;不考虑需要创建对象或不创建对象&#xff0c;在没有对象的情况下也…

[Oracle] MAX()和MIN()函数

MAX() 和 MIN() 是 Oracle 常用的聚合函数&#xff0c;用于从一组值中找出最大值和最小值1.MAX()函数MAX()函数返回指定列或表达式中的最大值语法格式MAX(expression)参数说明expression&#xff1a;可以是列名、计算列或表达式示例-- 返回employees表中salary列的最大值 SELEC…

网络资源模板--基于Android Studio 实现的麻雀笔记App

目录 一、测试环境说明 二、项目简介 三、项目演示 四、部设计详情&#xff08;部分) 添加页面 五、项目源码 一、测试环境说明 电脑环境 Windows 11 编写语言 JAVA 开发软件 Android Studio (2020) 开发软件只要大于等于测试版本即可(近几年官网直接下载也可以)&…

96-基于Flask的酷狗音乐数据可视化分析系统

基于Flask的酷狗音乐数据可视化分析系统 &#x1f4cb; 目录 项目概述技术栈系统架构功能特性数据库设计核心代码实现数据可视化部署指南项目总结 &#x1f3af; 项目概述 本项目是一个基于Flask框架开发的酷狗音乐数据可视化分析系统&#xff0c;旨在为用户提供音乐数据的…

Java基础-红包雨游戏-多线程

目录 案例要求&#xff1a; 实现思路&#xff1a; 代码&#xff1a; Employee RedPacket RedPacketRain 总结&#xff1a; 案例要求&#xff1a; 实现思路&#xff1a; 创建一个员工类,id和抢到的金额&#xff0c;创建一个红包类&#xff0c;里面就是金额&#xff0c;创…

[激光原理与应用-203]:光学器件 - 增益晶体 - 增益晶体的使用方法

增益晶体是激光器的核心元件&#xff0c;其作用是通过受激辐射放大光信号。正确使用增益晶体需综合考虑晶体选型、光路设计、热管理、泵浦方式及安全防护等关键环节。以下是增益晶体的详细使用方法及注意事项&#xff1a;一、晶体选型&#xff1a;根据需求匹配参数材料选择Nd:Y…

​什么是抽象主义人工智能?​

什么是抽象主义人工智能&#xff1f; 传统的人工智能分为符号主义和连接主义两个派别&#xff0c;后来又增加了行为主义。 我发现符号主义和连接主义处理的都是文本&#xff0c;而不是语义。原来的专家系统是符号主义的产物。现在的大语言模型是连接主义的产物。它们处理的都…

OpenSpeedy绿色免费版下载,提升下载速度,网盘下载速度等游戏变速工具

下载地址获取点击这里打开&#xff1a;OpenSpeedy 简单介绍OpenSpeedy 是一款开源免费的游戏变速工具&#xff08;对某些网盘或者其他的一些下载也可进行加速&#xff09;&#xff0c;让你的游戏突破帧率限制&#xff0c;提供更流畅丝滑的游戏加速体验。1、完全免费且开源2、简…

Windows 电脑远程访问,ZeroTier 实现内网穿透完整指南(含原理讲解)

&#x1f9ed; 一、目标场景说明 想从安卓移动端远程到Windows电脑 实现如下效果&#xff1a; 家中 Windows 电脑开机联网&#xff1b;安卓手机/平板在外地&#xff0c;只要联网就能远程控制电脑桌面&#xff1b;不需要公网 IP&#xff0c;不用设置端口映射&#xff1b;免费…