react做网站,网站在线qq代码,crm客户管理软件平台,网络公司网站建设服务文章目录 C补充标识常量存储类型1.auto // 自动型2.static#xff1a;修饰变量和函数 // 静态型3.extern#xff1a;外部引用4.register#xff1a;寄存器类型 LinuxC高级简介#xff1a;嵌入式系统(将软件嵌入到硬件里面)Linux起源查看操作系统版本内核系统架构系统关机或… 文章目录 C补充标识常量存储类型1.auto // 自动型2.static修饰变量和函数 // 静态型3.extern外部引用4.register寄存器类型 LinuxC高级简介嵌入式系统(将软件嵌入到硬件里面)Linux起源查看操作系统版本内核系统架构系统关机或重启命令linux下的软件安装两种软件包管理机制软件包的管理工具dpkg apt1)dpkg2)apt 配置虚拟机联网换镜像站点源1找到虚拟机保存源的文件将文件内的源替换新的源2网上查找对应ubuntu版本新的源。3更新源新换的源生效 shell的基本命令shell - 贝壳 外在保护工具用户、shell、内核、硬件之间的关系解析器的分类Bourne Shell简称shC Shell简称cshBourne Again Shell简称bash shell命令格式history - 历史记录查询 shell中的特殊字符通配符 C补充
标识常量
宏定义
存储类型
auto static extern register
1.auto // 自动型
修饰变量一般会省略时认为是auto
2.static修饰变量和函数 // 静态型
修饰变量1)变量的存放位置在全局区 如果静态变量有初值存放.data 区没有初值存放在 .bss 区 2)生命周期为整个程序 3)限制作用域 修饰局部变量和普通的局部变量的作用域没有区别但是生命周期被延长为整个程序 修饰全局变量限制在本文件中使用 4)只初始化一次初值赋值为0 修饰函数 static 修饰函数限制在本文件中使用
3.extern外部引用
通过 extern 可以引用其他文件中的全局变量或函数
// extern.c
#include stdio.hint a 10;
void fun()
{printf(hello);
}// main.c
#include stdio.hextern int a;
extern void fun();
int main(int argc, char const *argv[])
{printf(%d\n, a);fun();return 0;
}编译 gcc main.c extern.c
执行./a.out
4.register寄存器类型
由于寄存器数量比较少申请不到空间和 auto 一样LinuxC高级
简介
linux软件安装、用户管理、进程管理、shell通用、硬链接和软连接、解压和压缩、 shell脚本、功能性语句、结构性语句、分文件编程、条件编译、make工具
C高级函数指针、指针函数、函数指针数组
嵌入式系统(将软件嵌入到硬件里面)
嵌入式系统是以应用为中心以计算机技术为基础并且软硬件可裁剪适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 家用电子设备 医疗设备 军工 智能交通
Linux起源
#Linux历史 UNIX和linux的区别 1linux是开发源代码的自由软件而unix是对源代码实行知识产权保护的传统商业软件。 2UNIX系统大多是与硬件配套的而Linux则可运行在多种硬件平台上
了解不同操作系统的内核 windows - NT ubuntu - linux Android - linux macOs ios - unix
查看操作系统版本
lsb_release -a/-r cat /etc/issue -- 文件中查看 查看内核的版本 uname -a/-r cat /proc/version -- 文件中查看
内核系统架构
应用层app、shell命令 | |shell解析器 C库 | | ----------------系统调用--------------- 内核层五大功能 内存管理 文件管理 设备管理 网络管理 进程管理 ------------------------------------------- 硬件层鼠标、键盘
C库标准库所有操作系统都可以使用的函数接口 系统调用内核提供的用于输入输出的函数接口不同的操作系统调用函数接口不同。
基于 32 位操作系统 产生进程有 0 - 4G虚拟内存空间。每个进程 0 - 3G 私有虚拟内存空间3-4G 公用的内核空间
系统关机或重启命令
关机 sudo shutdown -h now立即关机 sudo shutdown -h 时间 “提示语句”定时关机 min 为单位 重启 sudo shutdown -r now立即重启 sudo shutdown -r 时间定时重启 sudo reboot now立即重启
linux下的软件安装
两种软件包管理机制
debian linuxdeb软件包 — ubuntu是这个 redhat linuxrpm软件包
deb软件包分为两种 二进制软件包(deb) deb — 安装软件的软件包 源码包(deb-src) dsc 软件包命名 软件包的管理工具dpkg apt
1)dpkg
特点安装时需要软件包存在不需要从镜像站点获取软件包。不需要网络不能检查软件之间的依赖关系
dpkg命令sudo dpkg -i 软件包的完整名称安装软件sudo dpkg -r 软件名卸载软件sudo dpkg -s 软件名查看软件的安装状态sudo dpkg -P 软件名完全卸载sudo dpkg -L 软件名列出软件目录信息共享文件夹的路径/mnt/hgfs/共享文件夹的名字
2)apt
特点安装时不需要软件包存在需要从镜像站点获取软件包
需要网络能检查软件之间的依赖关系apt-getsudo apt-get install 软件名下载并安装软件sudo apt-get remove 软件名卸载软件sudo apt-get --purge remove 软件名完全卸载sudo apt-get clean清除下载的软件包/var/cache/apt/archives -- 安装软件的安装包默认存放路径sudo apt-get update更新源sudo apt-get upgrade更新安装软件sudo apt-get download下载软件包sudo apt-get source下载源码包
apt-cachesudo apt-cache show 软件名获取二进制包的描述信息sudo apt-cache policy 软件名查看软件的安装状态sudo apt-cache depends 软件名查看依赖的软件sudo apt-cache rdepends 软件名查看谁依赖我 ping 网址/IP地址 -- 查看虚拟机是否可以上网
配置虚拟机联网
自动获取ip 设置虚拟机桥接网络
编辑 - 虚拟网络编辑器 - vmnet0 - 桥接模式 - 自动 - 确定
虚拟机 - 设置 - 网络适配器 - 桥接模式 2.设置自动获取ip 右上角进入 Eidt… 设置 换镜像站点源
1找到虚拟机保存源的文件将文件内的源替换新的源 sudo gedit /etc/apt/source.list注修改之前先备份--》sudo cp /etc/apt/sources.list /etc/apt/sources.list.config 2网上查找对应ubuntu版本新的源。 网址https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/3更新源新换的源生效
sudo apt-get updateshell的基本命令
shell - 贝壳 外在保护工具
shell是命令解析器 用户、shell、内核、硬件之间的关系
用户在命令行提示符下输入命令文本开始与shell进行交互。 接着shell将用户的命令或者按键转换成内核能够理解的指令 控制操作系统作出响应直到控制相关的硬件设备。 然后将输出结果通过shell提交给用户 解析器的分类
Bourne Shell简称sh
Bourne Shell由ATT贝尔实验室的S.R.Bourne开发也因开发者的姓名而得名。它是Unix的第一个Shell程序早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。
C Shell简称csh
C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点并使Shell脚本的编程风格类似于C语言因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。 Korn Shell简称kshKorn Shell由David Korn开发解决了Bourne Shell的用户交互问题并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证这导致它应用范围不如Bourne Shell广泛。
Bourne Again Shell简称bash
Bourne Again Shell由ATT贝尔实验室开发是Bourne Shell的增强版。随着几年的不断完善已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能以及某些C Shell脚本语言的特性。此外它还具有以下特点能够提供环境变量以配置用户Shell环境支持历史记录内置算术功能支持通配符表达式将常用命令内置简化。
shell命令格式
通常一条命令包含三个要素命令名称、选项、参数。其中命令名称是必须的选项和参数根据实际情况进行填写 Command [-Options] Argument1 Argument1 ……
Commandshell命令名称严格区分大小写Optionsshell命令选项每一个参数都需要添加-进行引导Argument1shell命令参数一条命令的参数大于等于0个且多个参数的情况需要利用空格进行隔开
格式命令名称 [选项] [参数] … 细节 1.一条命令的三要素之间用空格隔开 2.若一行要书写多个命令需要使用分号( ; )进行隔开 3.如果一条命令不能再一行内写完需要在行尾使用反斜杠 () 表明该命令未结束 history - 历史记录查询
直接 history 显示HISTSIZE 条历史记录 history n - 只显示n条命令 echo $HISTSIZE -- 在终端显示环境变量 HISTSIZE 的值 家目录下隐藏文件 .bash_history保存历史记录的。HISTFILESIZE 条 终端关闭终端上执行的命令刷新到文件中
修改环境变量的值 export HISTSIZE20 临时修改只有在本次打开的终端有效 家目录文件 .bashrc 中修改就是永久修改修改完生效从新打开的终端生效
shell中的特殊字符
通配符
当用户需要用命令处理一组文件例如 file1.txt、file2.txt、file3.txt、file4.txt ……用户不必输入所有文件名。可以使用shell通配符。
通配符含义*匹配任意长度的字符匹配一个长度的字符[…]匹配其中指定的一个字符[-]匹配指定一个字符范围[^n]除了其中指定的字符均可以
实例 ●用 file_*.txt匹配 file_aa.txt、file_bb.txt、file_abcd.txt 能匹配到的file1_cc.txt则匹配不到(命令后面 单独使用 * 表示全部如rm * 表示删除全部文件) ●用 file_?.txt匹配 file_1.txt、file_2.txt、file_3.txt是可以匹配到的file_11.txt则匹配不到 ●用 file_[abc].txt 只能匹配 file_a.txt、file_b.txt、file_c.txt ●用 file_[a-c].txt 能匹配 file_a.txt、file_b.txt 直到 file_c.txt ●用 file_[^abc].txt 除了 file_a.txt、file_b.txt、file_c.txt 的其他文件