当前位置: 首页 > news >正文

Linux---(四)权限

在这里插入图片描述

文章目录

  • 一、shell命令及运行原理
    • 1.什么是操作系统?
    • 2.外壳程序
    • 3.用户为什么不直接访问操作系统内核?
    • 4.操作系统内核为什么不直接把结果显示出来?非要加外壳程序?
    • 5.shell理解重点总结
      • (1)shell是什么?
      • (2)为什么要有shell?
      • (3)shell具体是怎么做的?
      • (4)bash、sh是什么?
      • (5)安卓智能手机
  • 二、Linux权限的概念
    • 1.Linux下有两种用户:
    • 2.切换用户的指令
      • (1)普通用户切换到root
      • (2)普通用户之间切换
    • 3.不切换到root用户,如何用root权限执行一条命令?
  • 三、Linux权限管理
    • 1.权限伴生文件!
      • (1)权限本质:
      • (2)权限与什么有关?
    • 2.文件类型和访问权限(事物属性)
      • (1)ll查看文件的属性
      • (2)用户和角色对应的关系
      • (3)所属组是什么意思
      • (4)为什么要有所属组?
      • (5)为什么没有看到other是谁?
      • (6)Linux文件类型的分类:
        • ✨**理解字符设备文件**
        • ✨理解块设备文件
        • ✨理解链接文件
        • ✨管道文件
    • 3.权限符号
    • 4.如何更改文件权限
    • 5.研究默认权限
      • (1)起始权限
      • (2)权限掩码
      • (3)总结
    • 6.文件权限与目录权限
      • (1)目录权限
      • (2)文件权限
      • (3)粘滞位
    • 7.file指令
  • 总结

一、shell命令及运行原理

1.什么是操作系统?

Linux操作系统
🎐狭义上就是指Linux内核
🎐广义上指Linux内核+LInux外壳和对应的配套程序

Windows操作系统
🎐狭义上就是指Windows内核
🎐广义上指Windows内核+Windows对应的整个图形化界面+预装的各种各样的应用软件

2.外壳程序

LInux外壳程序----命令行解释器Shell
在这里插入图片描述

外壳程序的作用是:
(1)将用户输入的指令解释传递给内核
(2)内核执行命令,得到结果,奖结果通过外壳传递给用户

外壳程序负责信息的传递,称为命令行解释器
在Linux中,命令行解释器称为shell
shell : 命令行解释器 (和用户直接打交道)

Windows下外壳程序—最典型的一种就是图形化界面
在这里插入图片描述

🎐在windows中的图形化界面本质是其中一种外壳程序
🎐在windows下拿鼠标双击一个图标时,就会被图形化界面的外壳解释成要把程序加载到内存,程序就可以运行了。当出现结果时,结果会以图形化界面的形式呈现出来。

3.用户为什么不直接访问操作系统内核?

因为用户不擅于和操作系统打交道,操作系统使用时成本太高,有很多的系统级接口,系统级参数,小白用户根本不会用。

4.操作系统内核为什么不直接把结果显示出来?非要加外壳程序?

shell外壳作用
🎐命令解释
🎐保护内核(拦截不合法请求的指令,不让指令交给操作系统,从而变相保护内核)
生动理解
要相亲的程序员(相当于用户),不擅长与女孩交流,通过媒婆(媒婆相当于外壳程序shell)介绍,认识相亲对象小花(小花相当于内核)。
再发展:
shell(相当于媒婆婚介所):
(1)一旦用户输入,有新的任务时,shell会创建子进程,让子进程执行命令(子进程相当于参加工作的大学生)
(2)父进程(相当于媒婆),继续进行命令行获取

5.shell理解重点总结

(1)shell是什么?

是包裹在操作系统外部的一层软件层,为用户进行命令行解释

(2)为什么要有shell?

因为用户不擅于和内核打交道,所以在用户和内核之间添加一层软件层,方便用户和图形化界面之间的输入,再把指令翻译给操作系统,操作系统执行,把结果再交给用户。

(3)shell具体是怎么做的?

shell 父进程+子进程

(4)bash、sh是什么?

shell是对所有命令行解释器的统称,而具体的一款shell是有bash、sh、windows图形化界面…

(5)安卓智能手机

底层是Linux内核
安卓是GUI(Shell外壳)

二、Linux权限的概念

1.Linux下有两种用户:

🎐root – 超级管理员:可以在linux系统下做任何事情,无权限限制
🎐普通用户:在linux下做有限的事情

2.切换用户的指令

(1)普通用户切换到root

🎐指令:su 或者 su -
🎐随后输入root用户的密码
🎐区别:
su:单纯的账号切换
su -:让root账号重新登录
🎐退出时按热键ctrl+D

(2)普通用户之间切换

🎐指令:su [普通用户名]
🎐普通用户之间切换,必须知道对方的密码

3.不切换到root用户,如何用root权限执行一条命令?

🎐指令:sudo 要执行的指令
🎐用sudo指令进行提权
🎐例如: sudo ls
🎐此时需要输入普通用户的密码
🎐sudo认证后在一定时间内再次使用sudo不用输密码
🎐安装卸载软件或者部署服务时需要把我们的文件拷贝在系统路径下时,必须使用sudo
🎐管理员只有将普通用户添加到/etc/sudoers文件中,普通用户才可以使用sudo指令,新建的普通用户无法使用sudo指令(sudoers文件会保存Linux受信任的用户,相当于白名单)

三、Linux权限管理

1.权限伴生文件!

(1)权限本质:

是一件事情是否允许被你做。

(2)权限与什么有关?

🎐人–角色

Linux中的角色划分:
🥑拥有者:文件和文件目录的所有者
🥑所属组:文件和文件目录的所有者所在的组的用户
🥑other:其他用户

🎐事物属性

也就是文件天然具备的属性
🥑r 被读取
🥑w 被写入
🥑x 被执行

2.文件类型和访问权限(事物属性)

(1)ll查看文件的属性

在这里插入图片描述

(2)用户和角色对应的关系

Linux具体的用户(root、普通用户)
Linux角色(拥有者,所属组,other)
二者之间关系:用户在一定程度上承担这些角色,二者是相互补充的关系。

(3)所属组是什么意思

🎐Linux帐号下任何一个文件一定隶属于一个所属组。
🎐所属组:一批用户的集合。
🎐一个组里可以有一个人
🎐一个组里可以有很多人,用组长的名字来对组命名

(4)为什么要有所属组?

更好地实现同一组的权限管理,保证不同用户可访问不同文件,同一组内可实现共享

(5)为什么没有看到other是谁?

拥有者和所属组是确定的,other有很多,是谁并不清楚。
只要判定一个不是拥有者,也不是所属组,那么就是other.

(6)Linux文件类型的分类:

🎐Linux区分文件类型与后缀无关
🎐那和什么有关?
和文件是否具有可执行权限有关
🎐后缀的意义?
给人看的,用来做一定程度上的用户级别的区分
🎐Linux系统并对文件用后缀作区分,但不代表gcc以及Linux中其他的软件不区分

🎐Linux文件类型的分类:用第一列的的第一个字符进行区分
🥑- :普通文件(包括源代码,可执行程序,库等)
🥑d:目录文件(也就是文件夹)
🥑c:字符设备文件(显示器文件。键盘文件)
🥑b:块设备文件(磁盘、分区)
🥑l:链接文件
🥑p:管道文件

理解字符设备文件

int a=123;
printf(“%d”,a);

🎐printf是格式化输出,printf底层把数字123转换成1字符、2字符、3字符,然后把1、2、4这三个字符显示到显示器上,所以打印整数时要进行格式化输出
🎐往显示器这样的设备打消息,是以字符为单位打印的,所以显示器叫字符设备。

int a;
scanf(“%d”,&a);

🎐从键盘上输入123,实际上输入了一个字符1、字符2、字符3,然后以格式控制把3个字符组合起来转成整数,放到a变量里
🎐所以键盘操作时的单位也是字符

理念:Linux下一切皆文件!
🎐显示器和键盘是文件吗?
是!叫做字符设备文件。
🎐每打开一个终端,相当于在linux中开辟一个字符设备文件,所以每次所写的消息最终就可以按照重定向的方式把内容向其他文件写入

✨理解块设备文件

🎐块设备文件:对数据以块为单位进行处理
🎐典型的块设备:磁盘、硬盘所对应的分区
🎐ls /dev/vda* -l 可查看云服务器上磁盘这样的设备
🎐dev是linux下设备目录

✨理解链接文件

🎐windows下的快捷方式就是链接文件
🎐linux下:
./lesson4/a.out
建立一个软链接 ln -s ./lesson4/a.out exe
在之后运行这个文件 ./exe 就能跑

✨管道文件

🎐主要用来进程间通信
🎐管道可以把一条指令交给另一条指令

3.权限符号

剩下的9个字符3个一组,每一组对应rwx权限,有相应权限就写相应字母,没有就写-

4.如何更改文件权限

🎐chmod 用户表示符±权限字符
🥑+:增加权限
🥑-:减少权限
🥑u:拥有者
🥑g:所属组
🥑o:其他用户
🥑a:所有用户

🎐一个人增加或减少文件权限

例如: chmod u-r test.txt

🎐如何一次性多处更改文件权限

注意用逗号隔开
例如: chmod u-r,g+wx,o+rwx test.txt

🎐想去掉所有人的写权限

例如: chmod a-w test.txt

🎐一般用户,不是文件的拥有者,不能更改文件权限。
🎐root账号不受权限约束,可以更改文件权限
🎐针对一个人既是拥有者又是所属组的情况:
权限,一个用户在匹配身份的时候,只能匹配一次。如果是拥有者,则只看拥有者权限,在的所属组权限不看了;不是拥有者,才看所属组权限,以此类推。

🎗️更改拥有者:普通用户将文件拥有者改为root或者其他普通用户

法一:sudo chown root/普通用户名 文件名
法二:
su (这一步将账号切换成root,输入root账号密码)
chown root/普通用户名 文件名

🎗️更改所属组:

例如将所属组修改为root
法一:sudo chgrp root 文件名
法二:
su
chgrp root 文件名

🎗️更改other:注意拥有者和所属组修改了,对应的other范围也自动修改了,所以不需要为修改other提供具体指令,也做不到

🎗️如何同时对拥有者和所属组进行修改

sudo chown 拥有者名:所属组名 文件名

5.研究默认权限

(1)起始权限

在这里插入图片描述
从上图可看出:
目录起始权限 775
普通文件起始权限 664

(2)权限掩码

Linux中存在权限掩码,通过umask查看或修改权限掩码
权限掩码是四位数字,可看作 0+三位八进制数字
(第一个0可看作8进制数字前缀,后面三位数字分别对应拥有者权限,所属组权限,other权限)

root默认掩码值是0022
普通用户掩码值是0002

🥑umask
作用:查看掩码值

验证如下:在这里插入图片描述

🥑umask 权限值
作用:修改权限值
说明:将现有的存取权限去掉权限掩码后,即可产生建立文件时预设权限

我们研究权限掩码的后三位数字
002 也就是 000 000 010
🎗️注意:凡是在权限掩码中出现的权限,最终都要在起始权限中去掉
🎗️去掉不是指简单的加减法
🎗️最终权限=起始权限 去掉 权限掩码中出现的权限
🎗️去掉 :意思是清零指定的比特位。在umask中出现的比特位为1,最终权限的位置上必须被清零,无论起始是0还是1

🎗️0&1=0
🎗️1&1=1
🎐任何数和1按位与 结果是他本身
🎗️1&0=0
🎗️0&0=0
🎐任何数和0按位与 结果是0

🧨结论:最终权限 =起始权限 & (~umask)
~mask意思是:对umask按位取反(包括符号位)
🎃举例:
比如003按位取反
原来 000 000 011
之后 111 111 100
目录起始权限666(110 110 110)
(~umask)003 (111 111 100)
二者进行按位与&
结果 110 110 100 (也就是664)
所以该目录最终的权限是664,即拥有者有rw权限,所属组有rw权限,other有r权限。
在这里插入图片描述

(3)总结

起始权限是为了让文件或者目录在最开始有起始的权限
权限掩码让用户去控制文件或目录起始权限是什么,给用户更多选择性

6.文件权限与目录权限

(1)目录权限

进入一个目录,需要 x 权限
是否允许一个指定用户查看目录的文件列表,需要 r 权限
是否允许一个指定用户在当前目录下新建文件,需要 w 权限

(2)文件权限

一个文件一定是属于一个目录的。
一个文件属性能不能查看,是由目录的权限决定的!
一个文件能不能被删除,这个文件本身不能决定,要看所属的目录与对应账户是否有w权限。

(如果所属目录的一个other具有w权限,就可以删除该目录下的文件。)
(所以普通用户的默认掩码是002,000 000 010去掉的就是other中的写权限,默认这个值的本质是为了防止other用户的随意更改)

一般而言,不同的账号,是不会在同一个目录下的。
特殊情况,比如多个账号在同一个root创建的共享目录中相互协同、共享数据。
(由root账号创建一个目录,将这个目录的other权限设为有w权限时,一个账号就可以删除另一个账号的文件;若设为无w权限时,多个账号都不能在此目录下新建文件)
(当目录的other权限有w,如果其他账号想读、写、执行别的账号创建的文件,得看这个文件的other权限是否允许)

🎗️如何解决这种特殊情况呢?使得在共享目录下可以写文件但是不能让别人删除我的文件。
设置粘滞位。

(3)粘滞位

chmod +t 目录名
🎐作用:对目录设置粘滞位,在该目录的内部只有文件的拥有者能够删除自己的文件,其他人不能删除。
🎐应用场景:多用户实现文件共享
🎐注意:
不在一个人的家目录下共享
在根目录或非家目录下共享

7.file指令

file 文件或目录
功能:辨识文件类型
在这里插入图片描述


总结

Linux的权限部分内容就到这里啦~想要了解更多内容,记得关注后续哦👻

相关文章:

Linux---(四)权限

文章目录 一、shell命令及运行原理1.什么是操作系统?2.外壳程序3.用户为什么不直接访问操作系统内核?4.操作系统内核为什么不直接把结果显示出来?非要加外壳程序?5.shell理解重点总结(1)shell是什么?&…...

财务RPA机器人真的能提高效率吗?

财务部门作为一个公司的管理职能部门承担着一个公司在商业活动中各个方面的重要职责。理论上来说,一个公司的财务部门的实际工作包含但不限于对企业的盈亏情况进行评估、对风险进行预测、通过数据分析把握好公司的财务状况、税务管理等。 然而,实际上在…...

国产信号发生器 1442/1442A射频信号发生器

信号发生器 1442/A射频信号发生器 1442系列射频信号发生器是一款针对通信、电子等射频应用而设计开发的产品。覆盖了所有的常用射频频段。它采用模块化结构设计,全中文界面、大屏幕菜单控制,其输出信号相位噪声极低,频率分辨率和准确度高&am…...

Kafka与Spark案例实践

1.概述 Kafka系统的灵活多变,让它拥有丰富的拓展性,可以与第三方套件很方便的对接。例如,实时计算引擎Spark。接下来通过一个完整案例,运用Kafka和Spark来合理完成。 2.内容 2.1 初始Spark 在大数据应用场景中,面对…...

山西电力市场日前价格预测【2023-10-27】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-27)山西电力市场全天平均日前电价为347.06元/MWh。其中,最高日前电价为618.09元/MWh,预计出现在18: 15。最低日前电价为163.49元/MWh,预计…...

centos7安装redis(包含各种报错)

本文主要介绍如果在Centos7下安装Redis。 1.安装依赖 redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装: gcc -v如果没有安装则通过以下命令安装: yum install -y gcc2.下载r…...

使用GoQuery实现头条新闻采集

概述 在本文中,我们将介绍如何使用Go语言和GoQuery库实现一个简单的爬虫程序,用于抓取头条新闻的网页内容。我们还将使用爬虫代理服务,提高爬虫程序的性能和安全性。我们将使用多线程技术,提高采集效率。最后,我们将展…...

“一带一路”十周年:用英语讲好中华传统故事

图为周明霏小选手 2023年是“一带一路”倡议提出十周年。十年来,中国的“友谊圈”已经扩展到亚洲、非洲、欧洲、大洋洲和拉丁美洲,这一倡议已经成为提升我国文化软实力、传播中华传统文化的重要策略和途径之一。在这个广阔的交流平台上,使用…...

机器视觉兄弟们还有几个月就拿到年终奖了,但我想跑路了

大聪明的我一般会把年终奖拿了,再走。听说有人还没有年终奖,太伤心了,赶紧跑吧。注意,机器视觉小白不要轻举妄动。 今年太难了,真的是让人很难过,很不爽,很不舒服。 公司难,机器视…...

base_lcoal_planner的LocalPlannerUtil类中getLocalPlan函数详解

本文主要介绍base_lcoal_planner功能包中LocalPlannerUtil类的getLocalPlan函数,以及其调用的transformGlobalPlan函数、prunePlan函数的相关内容 一、getLocalPlan函数 getLocalPlan函数的源码如下: bool LocalPlannerUtil::getLocalPlan(const geomet…...

elasticSearch put全局更新和单个字段更新语法

1、如下:更新改类型未doc(文档)的全局字段数据 注意:如果你使用的是上面的语句,但是只写了id和title并赋值,图片上其他字段没有填写,执行命令后,则会把原文档中的其他字段都给删除了,你会发现查…...

记录一次时序数据库的实战测试

0x1.前言 ​ 本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。文中涉及漏洞均以提交至教育漏洞平台。 0x2.背景 ​ 在某…...

HTML中文本框\单选框\按钮\多选框

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <h1>登录注册</h1> <form action"第一个网页.html" method"post&quo…...

解释器模式——化繁为简的翻译机

● 解释器模式介绍 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种用的比较少的行为型模式&#xff0c;其提供了一种解释语言的语法或表达的方式&#xff0c;该模式定义了一个表达式接口&#xff0c;通过该接口解释一个特定的上下文。在这么多的设计模式中&…...

【凡人修仙传】定档,四女神出场,韩立遭极阴岛陷阱,蛮胡子亮相

【侵权联系删除】【文/郑尔巴金】 距离凡人修仙传动画星海飞驰序章完结&#xff0c;已经过去了两个月的时间&#xff0c;相信大家等待的心情相当难熬&#xff0c;而且也愈发期待韩立结丹后在乱星海发生的故事。按照官方当初立下的FLAG&#xff0c;新年番动画即将在金秋十一月上…...

【解决】设置pip安装依赖包路径默认路径在conda路径下,而不是C盘路径下

【解决】设置pip安装依赖包路径默认路径在conda路径下&#xff0c;而不是C盘路径下 问题描述 在win11下安装miniconda&#xff0c;在conda环境里使用pip安装&#xff0c;依赖包总是安装到C盘路径&#xff0c;如 C:\Users\Jimmy\AppData\Local\Programs\Python\Python311\Lib\…...

JoySSL-新兴国产品牌数字证书

随着我国对数据安全重视程度的不断提升&#xff0c;国产SSL证书越来越受到广大政府机关和企业的青睐&#xff0c;成为提升网站数据安全能力的重要技术手段。那么什么是国产SSL证书&#xff1f;国产SSL证书和普通SSL证书又有什么区别呢&#xff1f; 什么是国产SSL证书&#xff…...

kafka3.X基本概念和使用

kafka基本概念和使用 文章目录 kafka基本概念和使用 kafka的概念基本概念Kafka的使用 首先kafka的安装kafka的简单实用和理解搭建集群&#xff08;3个节点&#xff09;windows版本环境搭建 本文"kafka的概念"部分是在[初谈Kafka][ https://juejin.im/post/5a8e7f…...

用低代码平台代替Excel搭建进销存管理系统

目录 一、用低代码平台搭建系统 1.需求调研 2.基于痛点梳理业务流程 3.低代码实现 &#xff08;1&#xff09;基础资料模块 &#xff08;2&#xff09;采购管理模块 &#xff08;3&#xff09;销售管理模块 &#xff08;4&#xff09;库存管理模块 &#xff08;5&…...

Redis和Memcached网络模型详解

1. Redis单线程单Reactor网络模型 1.1 redis单线程里不能执行十分耗时的流程&#xff0c;不然会客户端响应不及时 解决方法一&#xff1a; beforesleep里删除过期键操作若存在大量过期键时&#xff0c;会耗费大量时间&#xff0c;redis采用的策略之一就是采用timelimit方案超过…...

二叉搜索树的实现(递归方式)

目录 实现思路 插入操作 删除操作 完整代码 测试案例 总结 二叉搜索树&#xff08;Binary Search Tree&#xff0c;BST&#xff09;是一种常用的数据结构&#xff0c;它具有以下特点&#xff1a; 左子树上所有节点的值均小于它的根节点的值右子树上所有节点的值均大于它的…...

NetCore IIS Redis JMeter 登录压力测试

近期&#xff0c;由于某项目验收需要&#xff0c;需要登录接口同时满足至少400个账号同时并发登录&#xff0c;于是开始编写测试代码&#xff0c;以满足项目业务需要。首先&#xff0c;安装jdk&#xff0c;由于本机已安装jdk8&#xff1a; 如果你机器上没有安装jdk&#xff0c;…...

进一步了解视频美颜SDK:美颜SDK的技术原理

美颜技术在当今的数字世界中变得越来越流行&#xff0c;尤其是在视频直播、社交媒体和视频通话应用中。用户寻求通过美颜效果增强自己的外观&#xff0c;这种需求催生了众多美颜SDK&#xff08;软件开发工具包&#xff09;的出现。这些SDK使开发者能够轻松地将美颜功能集成到他…...

【Qt之QSetting】介绍及使用

概述 QSettings类提供了一种持久的、与平台无关的应用程序设置存储功能。 用户通常期望一个应用能在不同会话中记住其设置&#xff08;窗口大小和位置&#xff0c;选项等&#xff09;。在Windows上&#xff0c;这些信息通常存储在系统注册表中&#xff1b;在macOS和iOS上&…...

基于WebRTC构建的程序因虚拟内存不足导致闪退问题的排查以及解决办法的探究

目录 1、WebRTC简介 2、问题现象描述 3、将Windbg附加到目标进程上分析 3.1、Windbg没有附加到主程序进程上&#xff0c;没有感知到异常或中断 3.2、Windbg感知到了中断&#xff0c;中断在DebugBreak函数调用上 3.3、32位进程用户态虚拟地址和内核态虚拟地址的划分 …...

通过jdk自制https证书并配置到nginx并配置http2

生成证书 这里使用自己生成的免费证书。在${JAVA_HOME}/bin 下可以看到keytool.exe,在改目录打开cmd然后输入&#xff1a; keytool -genkey -v -alias lgq.com -keyalg RSA -keystore d:/zj/ssl/fastfly.com.keystore -validity 3650生成证书过程中&#xff1a;【你的名字】对…...

祝贺中国煤科重庆研究院和达索、百世慧PLM项目顺利结项

引言 2023年10月17日&#xff0c;中国煤科重庆研究院与达索系统、百世慧在重庆研究院会议室召开了产品全生命周期管理&#xff08;PLM&#xff09;系统结项会。中国煤科重庆研究院科技发展部副主任孙海涛、测控技术研究分院副院长于庆、重庆大学教授鄢萍、达索公司工业装备部南…...

基于springboot实现数码论坛系统设计与实现系统【项目源码+论文说明】

基于springboot实现数码论坛系统设计与实现系统演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把数码论坛与现在网络相结合&#xff0c;利用java技术建设数码论坛系统&#xff0c;实现数码论坛的信息化。则对于进一步提高数码论坛发展&#xff0c;丰富数码论坛经验能起…...

魔域开服需要什么样的配置

魔域是一个非常受玩家喜欢的游戏&#xff0c;是一款大型魔幻题材的网络游戏&#xff0c;关于魔族入侵亚特大陆的故事&#xff0c;玩家在游戏里扮演不同的角色捍卫大陆安全&#xff0c;很多玩家想要更多的体验就会选择开新服&#xff0c;今天就让小编来讲一讲魔域开服要什么配置…...

7个好用的PC端设计软件,设计必看!优漫动游

身为设计师的你是不是还在为到处寻找合适的设计软件而烦恼&#xff1f;是不是在为因为没能用上好的软件而影响自己设计生涯的事情感到焦虑&#xff1f;别担心&#xff0c;你的烦恼可能每个成熟的设计师都遇到过&#xff0c;但他们最终都走了过来。借助以下7个好用的PC端设计软件…...