linux入门---权限
目录标题
- 什么是权限
- 人的分类
- 为什么会有所属组
- 查看文件属性
- 文件的分类
- 如何查看权限
- 文件不同权限的表现
- r
- w
- x
- 权限修改
- 八进制权限修改
- umask有关内容
- 文件中人的修改
- 目录不同权限的表现
- r
- w
- x
什么是权限
首先来看一个例子:比如说我没有爱奇艺的vip,那么我也就没有权限观看爱奇艺这个平台下的vip视频,我有qq音乐的vip那么我就有权限在qq音乐这个平台下听周杰伦的歌,看了这两个例子想必大家应该能够知道权限对于人来说就是限制一个人或者一个群体能不能干一件事情,好!我们再来看两个例子:我们生活中的桌子是用来盛放物品方便我们吃饭的,那这个桌子能够吃吗?这个桌子可以用来洗澡吗?很明显是不能的。我们平时看视频用的app比如说西瓜视频腾讯视频,这些app能是用来做oj题吗?玩3A大作吗?很明显也是不能的,因为这些app没有做oj题和玩3A大作的能力,换句话说就是没有权限来实现上面的功能,这两个例子都是针对物的,权限对于物来说就是一件事情能不能被做,好!看了上面的四个例子,我们可以知道权限既可以作用于人也可以作用物,那这里权限的概念就是一个人或者一群人能不能干一件事,以及这件事能不能被干。这是生活中权限的定义,那在linux操作系统中权限一般都是针对文件而言,一个人能不能对这个文件进行修改能不能阅读一个文件能不能执行这个文件都是linux的权限决定的,如果一个文件本身就没有可读可写的权限的话那不管是谁都无法读写,这就是linux中的权限即对人也对物。
人的分类
linux操作系统将人分为了三类分别是:文件拥有者,文件所属组,其他人。
为什么会有所属组
在公司创建初期资源都非常的有限,多个小组只能使用一个机器来进行开发,而且有些公司在实现一个项目的时候会安排多个小组同时来做这个项目,做的最高的小组才能得以获胜,比如说当初微信app在被开发时候就有多个小组在做,最后由QQ创始人带领的小组获胜最终才有大家现在看到的微信,那再回头看看这里的所属组为什么会有所属组这个东西呢?好这里我们先假设没有所属组这个东西,linux中将人分为两类:文件拥有者和其他人,然后这里有一个项目由两个小组进行开发并且在同一台机器上面:
在项目开发的时候一般都有领导检查你代码写的情况或者同一个团队的人员查看你的代码学习一些东西,而你是文件的拥有者他们是这个文件的other,他们想要查看这个文件的内容的话就只有两个方法,第一把你的密码告诉他们,他们登录你的账号查看想要的内容,但是这个时候你就只能被强制下机了,等他们看完之后才能上线,第二就是把该文件的其他人的权限打开,这些人作为其他人的身份查看你的代码,但是这里就存在了一个问题我们把其他人的权限打开之后团队B的人也能看到我们的代码,他们这时候就可能从我们的代码中搞到一些有用的东西放到他们的项目里面,这样话就会对团队A的项目就会造一些损失,这么看的话上面的两种方法好像都不是非常的有利于项目成员的交流,所以这个时候linux就给出了一个身份叫所属组,把团队的成员都放到这个所属组里面,这样就可以将团队的成语与其他人分割开,即方便了团队内的交流与学习又保护了自己的文件不被其他人盗取,那么这就是所属组存在的意义。
查看文件属性
首先通过ll指令来看文件的属性比如说下面的操作:
这里就是ll指令显示的结果,我们来解释一下这里显示的内容分别是什么意思:
首先每一行的第一个字符表示的是文件类型,如果是该文件是目录的话就会显示d,如果是普通文件的话就会显示 - 。在文件类型这一块linux和Windows的区别就有点大,windows的文件类型与后缀有关,比如说可执行文件的后缀就是.exe,而在linux中文件类型和后缀是没有关系的,linux的后缀仅仅只是给用户提供一个提示符的作用,后缀的本质还是文件名的一部分,要想查看文件的真正的类型还是得通过ll指令显示的第一个字符来进行确定,但是有小伙伴看到这里就感觉不对劲了,我们之前使用gcc编译器编译文件的时候,该文件必须得加个点c后缀,不然无法生成可执行的文件,你不是说Linux系统中对后缀没有要求的嘛,怎么这里就有要求了呢?那么这里大家得注意的一点就是linux操作系统确实对后缀,没有要求但是这并不代表着Linux操作系统上的软件对文件的后缀没有要求,我们之前使用的gcc编译器他其实是Linux操作系统上的软件,这个软件需要查看文件的后缀,对文件名有要求这里大家得区分开
这就是第一个字符所代表的意思我们继续往后看,接下来的每三个字符为一组一共有3组:
那么这三组字符分别表示三类人对这个文件可以执行的权限,左边一组是文件拥有着可以对这个文件执行的权限,中间一组是文件所属组拥有的权限,右边的一组是其他人对这个文件拥有的权限,至于这里的权限能干嘛我们后面再聊,再往后看有一个数字2
这个2表示的是连接数,那什么是连接数,这就得学到后面才能跟大家解释清楚了,再往后看有两个root
第一个棕色括号里面的内容对应的是这个文件的拥有着,第二个棕色括号里面的内容对应的是这个文件的所属组,那么不在这两个括号里面的人就都是other,这里两个棕色括号里的内容都是root,所以这个文件的拥有者和所属组都是root,除了root外其他人对于这个文件都是other,再往后还出现了一个数字
这个数字表示的意思是这个文件或者目录的大小,这里显示的是4096,所以folder1目录的大小就是4096个字节,那么这里就有个问题我们之前创建一个空白文件时,用ll显示的大小是00,难道这个文件在硬盘中装的内容真的是0吗?比如说下面的操作:
这里的tmp文件为,那么这个文件在硬盘上占用的大小也为0吗?答案很明显不是的,因为一个文件在磁盘中所占的大小是由文件的内容大小加上这个文件的属性决定,一个文件的内容可能为0,但是一个文件的属性一定不为0,而这里显示的0指的是这个文件的内容为0,而不是这个文件在硬盘上占用的空间为0,这里大家得注意一下,接着往后就出现了一段时间:
这个就是与这个文件有关的时间,这里大家知道就行,最后一个就是这个文件的名字:
那么这就是文件权限的介绍。
文件的分类
第一个:
- 表示的普通文件比如说:源代码文件,库文件,可执行程序,文件压缩包等等,
第二个:
d 表示的是目录文件,也就是文件夹。
第三个:
c 表示的是字符文件这些文件就是专门用来管理键盘显示器的,我们可以在/dev/tty中看到这些文件:
第四个:
b 表示的是块文件,这些文件就是专门用来管理硬盘的,我们可以在/dev/vada1中看到块文件:
第五个:
I 表示的是链接文件,这个文件就相当于我们windows中桌面的图标,这些图标就是一个个的链接文件,最明显的特点就是我们将这些图标删除不会影响软件的本体。
第六个:
p 表示的是管道文件,我们之前使用的 l 就是管道文件的一种,比如使用mkfifo指令就可以创建一个管道文件
第六个:
s 这个就表示的是socket文件,至于这个是啥我们以后再了解。
如何查看权限
一个人如果有完整的权限的话,那么在对应的权限位置上显示的内容应该是rwx,这里的r是读权限,w是写权限,x是执行权限,并且权限在显示的时候永远都是以rwx的顺序进行显示,如果某类人没有一些权限的话,那么在这些权限的对应位置上显示的就是-,比如说某人只有读和写的权限,那么这里在显示的时候就是rw-,如果一个人只有写权限的话这里显示的就是-w-,如果一个人什么权限都没有的话这里显示的就是- - -,我们来看看下面的图片:
这是一个文件夹,这个文件夹对于拥有者来说有读写执行的权限,但是对于所属组或者其他人来说这个文件夹就只用读和执行的权限没有写权限。
这是一个普通文件,对于这个文件的拥有者来说只有读和写的权限没有执行的权限,对于这个文件的所属组或者其他人来说的话这个文件只有读权限,没有写和执行的权限。那么这就是文件权限的看法。
文件不同权限的表现
r
我们来看看下面文件的权限:
这里有个test2文件这个文件的拥有者没有读权限,我们使用echo往这个文件里面输入一个字符串然后使用cat读这个文件时就可以发现操作系统阻止了我们这里的操作因为我们没有权限:
但是这里的编译器没有阻止我们显示文件的内容,那这是为什么呢?原因很简单我们时root用户,root用户时不会受到权限的限制的,那这里我们将角色进行切换换成wj,再来执行一下上面的操作:
我们就可以看到这里操作系统就阻止了我们查看这个文件的内容,但是有些小伙伴就好奇了啊,虽然文件拥有着没有读文件的权限,但是我们还是这个文件的所属组啊,所属组拥有读文件的能力,那为什么这里依然不让读文件呢?那么这里的原因就很简单了,因为这里的角色匹配时是else if关系一旦匹配成功了就不会继续往后进行匹配了,所以这里我们即使还是所属组也不能读这个文件。
w
这个是写权限,当我们没有这个权限后无法往一个文件里面写入内容比如说下面的操作:
这里就禁止我们将内容输入到文件里面。
x
首先我们创建一个文件,然后使用nano往这个文件里面输入一些可以执行的代码:
然后再使用这个文件生成一个可执行程序:
我们可以看到这里生成了一个可执行的tmp文件,那么我们作为对比我们在此路径下再把该文件再复制一份:
将tmp文件的拥有者权限进行修改:将可执行权限去掉:
然后我们先执行一下tmp1文件就可以看到这个文件时正常运行的:
这里输出的时候忘记加换行了,所以这里看的就有点难受,然后我们再执行一下这里的tmp文件就可以看到这个文件是没有权限执行的:
那么这就是x权限的作用。
权限修改
chmod指令可以用来修改人员的权限其形式如下:
u代表的是拥有者,y代表的是所属组,o代表的是其他人,a表示所有人,如果你想增加权限的话就使用+,如果你想删除权限的话就使用-,对应的权限就是r w x,当然这里的权限可以是一个组合比如说rwx,rx,wx等等,最后再加上你想要修改的文件,那么这里的操作就如下:
一开始所有人对test1文件的权限都是没有的,我要是想让test1文件的拥有者有读权限就可以使用下面的指令:
如果我想让test1文件的所属组拥有读和执行的权限的话就可以使用下面的操作:
如果我想让test1文件的其他人拥有读写执行权限的话就可以使用下面的指令:
如果我想让test1文件的所有人都没有任何权限的话就可以使用下面的指令:
当然这里的修改还可以连续的将多人进行修改,比如说我想让拥有者的权限变为rx让其他人的权限都变成rwx的话就可以执行下面的操作:
八进制权限修改
文件的权限用rwx来表示,如果哪个权限没有的话对应位置上的内容就变成了-,那么这里我们就可以把 - 当成0,把r w x 都看成1比如说rwx就是1 1 1,r - x 就是101 ,r - -就是000,那么这里我们就可以根据这个逻辑列出一个表出来
一个人的权限可以由三个二进制数字来表示,而3个二进制数字可以合成一个8进制数字,一个文件有3类人,所以就有三个不同的权限来进行表示,所以一个文件就应该有三个八进制数字来表示权限,比如说一个文件的权限分别为:rwx rw- r-x那么这个文件的权限就可以用765来进行表示,如果一个文件的权限为 - - - -w- r-x的话,那么就可以使用数字025来表示文件的权限,既然一个文件的权限可以使用数字来表示的话,那么这里我们也可以用数字来修改一个文件的权限,那么修改的形式就是如下:
比如说一个文件的开始权限为000,我们要想将这个权限修改成rwx rwx rwx的话就可以这样进行修改:
如果我们想把这个文件的权限改成r-x rw- r- -的话就可以使用下面的指令:
那么这就是八进制权限修改法,希望大家能够理解。
umask有关内容
我们首先来看看下面的操作:
创建了一个文件夹和一个普通文件,我们通过ll可以看到这里文件的起始权限是rw- rw- r- -,而文件夹的起始权限为rwx rwx r-x那这是为什么呢?答案是跟umask的值有关,往命令行中输入umask就可以看到umask的值:
umask值为0002第一个0表示后面的三个数字都是八进制,我们将三个八进制数字展开成二进制就变成了这样:000 000 010,这里得将这些数字看成权限,所以这里umask的权限就变成了- - - - - - -w-,而umask的概念是权限掩码就是凡事在umask中出现的权限在文件或者目录中都得去掉,linux规定:目录的起始权限为777也就是
rwx rwx rwx 普通文件的起始权限是666也就是rw- rw- rw-,而umask中的other有写权限,所以目录和文件在创建的时候就得将other中的写权限去掉,所以目录在创建的时候权限就变为了rwx rwx r-x,文件的权限就变成了rw- rw- r–,那这里我们可以验证一下上面讲的内容是否是对的:
我们讲umask的值进行修改,改成了777然后再创建文件或者目录的话就可以发现这里的起始权限都没有了:
我们还可以讲umask的值设置为444这样我们创建文件或者目录的话就都没有读权限:
这里大家注意的一就是umask不是单独的减法,而是通过下面的公式来算出的最终权限:
umask要去掉的权限位是1,要保留的权限位是0,使用~反转权限后就变成~umask要去掉的权限是0,要保留的权限是1,最后再使用&操作可以让起始权限中与~umask对应的位置为0的数字都变成0,就是~umask为0的位置起始权限也变成了0,最终达到权限删除的作用。
文件中人的修改
使用chown指令可以修改文件的拥有者,使用chgrp指令可以修改文件的所属组,这两个指令的用法如下:
这里我将用户改成了root,如果是普通用户要使用这个指令的话得用sudo进行提权,那么这里的操作如下:
如果是普通用户不适用sudo提权的话,是无法修改这里的人的:
这里的chown可以连续修改拥有者和所属组,其用法如下:
那么这就是chown和chgrp的用法,希望大家可以理解。
目录不同权限的表现
普通文件的权限是rwx,文件夹的权限也是rwx,但是文件夹的rwx和普通文件的rwx的表现是不一样的,我们来看看下面的操作:
r
如果一个人没有这个文件夹的读权限的话是无法查看这个文件夹的内容的,比如说下面的操作:
然后我们将folder1文件夹的读权限去掉
然后我们再进入这个目录查看这个文件夹的内容时就可以看到我们没有权限查看这个文件夹的内容:
那么这就是文件夹的r权限,没有这个权限我们无法查看文件夹里面的内容。
w
没有文件夹的w权限我们就没有办法在文件夹里面创建文件夹以及其他文件,比如说下面的操作:
x
没有文件夹的x权限就无法进入文件夹,比如说下面的操作:
那么这就是linux中权限的所有内容希望大家能够理解。
相关文章:

linux入门---权限
目录标题什么是权限人的分类为什么会有所属组查看文件属性文件的分类如何查看权限文件不同权限的表现rwx权限修改八进制权限修改umask有关内容文件中人的修改目录不同权限的表现rwx什么是权限 首先来看一个例子:比如说我没有爱奇艺的vip,那么我也就没有…...

Unity记录2.1-动作-多段跳、蹬墙跳、墙体滑落
文章首发及后续更新:https://mwhls.top/4450.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 汇总:Unity 记录 摘要:实现跳跃、蹬…...

Spring Boot结合IDEA自带Maven插件快速切换profile | Spring Cloud 10
一、前言 IDEA是目前 Java 开发者中使用最多的开发工具,它有着简约的设计风格,强大的集成工具,便利的快捷键。 在项目项目整个开发运维周期中,我们的的项目往往需要根据不同的环境,使用不同的文件配置。 比如以下部…...

ES 7.7.0 数据迁移
本文使用 elasticdump 做数据迁移,支持在线和离线俩种方式,适用于数据量比较小的情况。 1、Node 安装 由于elasticdump 依赖于 node,首先需要安装下node。 1.1、 Linux 安装 $ wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linu…...

【玩转c++】vector讲解和模拟底层实现
本期主题:vector的讲解和模拟实现博客主页:小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限,出现错误希望大家不吝赐vector的介绍及使用1.1vector的介绍vector其实就是一个数组的模板 ,存放的数据可以改变而已…...

基本类型、包装类型、引用类型、String等作为实参传递后值会不会改变?
看了半天帖子,讲得乱七八糟,坑死了 [1] 先说结论 基本类型、包装类型、String类型作为参数传递之后,在方法里面修改他们的值,原值不会改变!引用类型不一定,要看是怎么修改它的。 [2] 为什么基本类型、包装类…...

Tomcat服务器配置以及问题解决方案
文章目录01 Tomcat简介02 Tomcat的安装03 Tomcat的使用启动Tomcat服务器 (解决一闪而过)测试 Tomcat 是否启动Tomcat 服务器的关闭04 Tomcat的配置配置端口控制台配置(乱码解决)部署工程到Tomcat中01 Tomcat简介 Tomcat是一款开源…...

【Node.js】HTTP协议、HTTP的请求报文和响应报文
HTTP协议、HTTP的请求报文和响应报文HTTP协议HTTP主要特点HTTP的请求报文和响应报文请求报文请求行请求消息头空行请求体响应报文响应状态行响应消息头空行响应体总结HTTP协议 HTTP 全称为超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议&#…...

CodeForce 455A. Boredom
题目链接 CodeForce 455A. Boredom 思路 因为跟序列的下标无关,所以先对数组a排个序。那么每次选择只会影响两侧的元素。 记号 令dp[i]dp[i]dp[i]表示排序后a[1..i]a[1..i]a[1..i]能够获得的最大点数。 但是这样不足以区分是否当前元素可以被使用,所…...

geoserver之BlobStores使用
概述 geoserver是常用的地图服务器之一,除了基本的能力之外,也提供了很多的插件方便大家使用。在本文,讲述一下如何在geoserver中使用BlobStores和gwc-sqlite-plugin插件实现地图的切片和部署。 BlobStores简介 在geoserver中,…...

跨域问题以及Ajax和Axios的区别
文章目录1. 同源策略2. 同源策略案例3. 什么是跨域4. 跨域解决方法4.1 Ajax的jsonp4.2 CORS方式4.3 Nginx 反向代理5. Axios 和 Ajax 的区别6. Axios 和 Ajax 的区别及优缺点6.1 Ajax:6.1.1 什么是Ajax6.1.2 Ajax的原理6.1.3 核心对象6.1.4 Ajax优缺点6.1.4.1 优点&…...

现代卷积神经网络(AlexNet)
专栏:神经网络复现目录 本章介绍的是现代神经网络的结构和复现,包括深度卷积神经网络(AlexNet),VGG,NiN,GoogleNet,残差网络(ResNet),稠密连接网络…...

单向非循环链表
1、顺序表遗留问题 1. 中间/头部的插入删除,时间复杂度为O(N) 2. 增容需要申请新空间,使用malloc、realloc等函数拷贝数据,释放旧空间。会有不小的消耗。 3. 当我们以2倍速度增容时,势必会有一定的空间浪费。例如当前容量为100&a…...

Vue2的基本内容(一)
目录 一、插值语法 二、数据绑定 1.单向数据绑定 2.双向数据绑定 三、事件处理 1.绑定监听 2.事件修饰符 四、计算属性computed和监视属性watch 1.计算属性-computed 2.监视属性-watch (1)通过 watch 监听 msg 数据的变化 (2&a…...

蚁群算法优化最优值
%%%%%%%%%%%%%%蚁群算法求函数极值%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%%%% clear all; %清除所有变量 close all; %清图 clc; %清屏 m 20; %蚂蚁个数 G 500; %最大迭代次数 Rho 0.9; %信息素蒸发系数 P0 0.2; %转移概率常数 XMAX 5; %搜索变量 x…...

Docker镜像的内部机制
Docker镜像的内部机制 镜像就是一个打包文件,里面包含了应用程序还有它运行所依赖的环境,例如文件系统、环境变量、配置参数等等。 环境变量、配置参数这些东西还是比较简单的,随便用一个 manifest 清单就可以管理,真正麻烦的是文…...

每日的时间安排规划
14:23 2023年3月4日星期六 开始 现在我要做一套试卷。模拟6级考试。 现在是: 16:22 2023年3月4日星期六。 做完了线上的试卷! 发现我真的是不太聪明的样子! 明明买的有历年真题,做真题就行了,还要做它们出的模拟的…...

【C++】类和对象——六大默认成员函数
🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、类的6个默认成员函数二、构造…...

远程debug被arthas watch了的idea
开发工具idea端(2021.2.1) 远程调试 被 应用了 修改的arthas端 的 鸡idea端(2022.3.2) A. 鸡idea端 鸡idea: “D:\IntelliJ IDEA 2022.3.2\bin\idea64.exe” 中安装有目标插件 比如 RedisNew-2022.07.24.zip 对文件 “D:\IntelliJ IDEA 2022.3.2\bin\idea64.exe.vmoptions” 新…...

Cesium实现的光柱效果
Cesium实现的光柱效果 效果展示: 可以通过拼接两个entity来实现这个效果: 全部代码; index.html <!DOCTYPE html> <html><head><meta charset...

你最爱记混的slice()和splice()
slice()方法:选取数组的一部分,并返回一个新数组 该方法不会改变原始数组,而是将截取到的元素封装到一个新数组中返回 语法:array.slice(start,end),参数的介绍如下: 语法:array.slice(start,end),参数的介绍如下: 1.start:截取开始的位置的索引,包含开始索引 2.…...

【LeetCode】剑指 Offer(15)
目录 题目:剑指 Offer 32 - II. 从上到下打印二叉树 II - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 32 - III. 从上到下打…...

【刷题笔记】之二分查找(搜索插入位置。在排序数组中查找元素的第一个和最后一个位置、x的平方根、有效的完全平方数)
1. 二分查找题目链接 704. 二分查找 - 力扣(LeetCode)给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -…...

一起Talk Android吧(第五百一十五回:绘制向外扩散的水波纹)
文章目录整体思路实现方法示例代码各位看官们大家好,上一回中咱们说的例子是"Java中的进制转换",这一回中咱们说的例子是"绘制向外扩散的水波纹"。闲话休提,言归正转, 让我们一起Talk Android吧! 整体思路 …...

基于粒子群改进的支持向量机SVM的情感分类识别,pso-svm情感分类识别
目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于SVM的情感分类预测 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型…...

【python中的列表和元组】
文章目录前言一、列表及其使用1.列表的特点2. 列表的使用方法二、元组及其特点1.元组的类型是tuple1.元组的查找操作2. 计算元组某个元素出现的次数3.统计元组内元素的个数总结前言 本文着重介绍python中的列表和元组以及列表和元组之间的区别 一、列表及其使用 1.列表的特点…...

世界顶级五大女程序媛,不仅技术强还都是美女
文章目录1.计算机程序创始人:勒芙蕾丝伯爵夫人2.首位获得图灵奖的女性:法兰艾伦3.谷歌经典首页守护神:玛丽莎梅耶尔4.COBOL之母:葛丽丝穆雷霍普5.史上最强游戏程序媛-余国荔说起程序员的话,人们想到的都会是哪些理工科…...

Linux- 系统随你玩之--文件管理-双生姐妹花
文章目录1、前言2、文件管理-双生姐妹花2.1、 df2.1.1、 df 语法2.1.1 、常用参数2.2、 du2.2.1、du 语法2.1.1、 常用参数2.3、双生姐妹花区别2.3.1、 查看文件统计 的计算方式不同2.3.2 、删除文件情况下统计结果 不同2.3.3 、针对双生姐妹花区别 结语3、双生姐妹花实操3.1 、…...

18、多维图形绘制
目录 一、三维图形绘制 (一)曲线图绘制plot3() (二)网格图绘制 mesh() (三)曲面图绘制 surf() (四)光照模型 surfl() (五)等值线图(等高线图)绘制 cont…...

【C++】30h速成C++从入门到精通(STL介绍、string类)
STL简介什么是STLSTL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。STL的版本原始版本Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本&…...