linux基本功之列之wget命令实战
文章目录
- 前言
- 一. wget命令介绍
- 二. 语法格式及常用选项
- 三. 参考案例
- 3.1 下载单个文件
- 3.2 使用wget -o 下载文件并改名
- 3.3 -c 参数,下载断开链接时,可以恢复下载
- 3.4 wget后台下载
- 3.5 使用wget下载整个网站
- 四. 补充与汇总常见用法
- 总结
前言
大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第56篇文章。
专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。
🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘
一. wget命令介绍
wget命令是Linux系统用于从Web下载文件的命令行工具,支持 HTTP、HTTPS及FTP协议下载文件, 而且wget还提供了很多选项,例如下载多个文件、后台下载,使用代理等等,使用非常方便。
命令格式:wget [options] [URL]
二. 语法格式及常用选项
依据惯例,我们还是先查看帮助,使用 wget --help
如果命令没有安装,需要使用 yum install wget进行安装
[root@mufenggrow ~]# wget --help
GNU Wget 1.14,非交互式的网络文件下载工具。
用法: wget [选项]... [URL]...长选项所必须的参数在使用短选项时也是必须的。启动:-V, --version 显示 Wget 的版本信息并退出。-h, --help 打印此帮助。-b, --background 启动后转入后台。-e, --execute=COMMAND 运行一个“.wgetrc”风格的命令。日志和输入文件:-o, --output-file=FILE 将日志信息写入 FILE。-a, --append-output=FILE 将信息添加至 FILE。-d, --debug 打印大量调试信息。-q, --quiet 安静模式 (无信息输出)。-v, --verbose 详尽的输出 (此为默认值)。-nv, --no-verbose 关闭详尽输出,但不进入安静模式。--report-speed=TYPE Output bandwidth as TYPE. TYPE can be bits.-i, --input-file=FILE 下载本地或外部 FILE 中的 URLs。-F, --force-html 把输入文件当成 HTML 文件。-B, --base=URL 解析与 URL 相关的HTML 输入文件 (由 -i -F 选项指定)。--config=FILE Specify config file to use.下载:-t, --tries=NUMBER 设置重试次数为 NUMBER (0 代表无限制)。--retry-connrefused 即使拒绝连接也是重试。-O, --output-document=FILE 将文档写入 FILE。-nc, --no-clobber skip downloads that would download toexisting files (overwriting them).-c, --continue 断点续传下载文件。--progress=TYPE 选择进度条类型。-N, --timestamping 只获取比本地文件新的文件。--no-use-server-timestamps 不用服务器上的时间戳来设置本地文件。-S, --server-response 打印服务器响应。--spider 不下载任何文件。-T, --timeout=SECONDS 将所有超时设为 SECONDS 秒。--dns-timeout=SECS 设置 DNS 查寻超时为 SECS 秒。--connect-timeout=SECS 设置连接超时为 SECS 秒。--read-timeout=SECS 设置读取超时为 SECS 秒。-w, --wait=SECONDS 等待间隔为 SECONDS 秒。--waitretry=SECONDS 在获取文件的重试期间等待 1..SECONDS 秒。--random-wait 获取多个文件时,每次随机等待间隔0.5*WAIT...1.5*WAIT 秒。--no-proxy 禁止使用代理。-Q, --quota=NUMBER 设置获取配额为 NUMBER 字节。--bind-address=ADDRESS 绑定至本地主机上的 ADDRESS (主机名或是 IP)。--limit-rate=RATE 限制下载速率为 RATE。--no-dns-cache 关闭 DNS 查寻缓存。--restrict-file-names=OS 限定文件名中的字符为 OS 允许的字符。--ignore-case 匹配文件/目录时忽略大小写。-4, --inet4-only 仅连接至 IPv4 地址。-6, --inet6-only 仅连接至 IPv6 地址。--prefer-family=FAMILY 首先连接至指定协议的地址FAMILY 为 IPv6,IPv4 或是 none。--user=USER 将 ftp 和 http 的用户名均设置为 USER。--password=PASS 将 ftp 和 http 的密码均设置为 PASS。--ask-password 提示输入密码。--no-iri 关闭 IRI 支持。--local-encoding=ENC IRI (国际化资源标识符) 使用 ENC 作为本地编码。--remote-encoding=ENC 使用 ENC 作为默认远程编码。--unlink remove file before clobber.目录:-nd, --no-directories 不创建目录。-x, --force-directories 强制创建目录。-nH, --no-host-directories 不要创建主目录。--protocol-directories 在目录中使用协议名称。-P, --directory-prefix=PREFIX 以 PREFIX/... 保存文件--cut-dirs=NUMBER 忽略远程目录中 NUMBER 个目录层。HTTP 选项:--http-user=USER 设置 http 用户名为 USER。--http-password=PASS 设置 http 密码为 PASS。--no-cache 不在服务器上缓存数据。--default-page=NAME 改变默认页(默认页通常是“index.html”)。-E, --adjust-extension 以合适的扩展名保存 HTML/CSS 文档。--ignore-length 忽略头部的‘Content-Length’区域。--header=STRING 在头部插入 STRING。--max-redirect 每页所允许的最大重定向。--proxy-user=USER 使用 USER 作为代理用户名。--proxy-password=PASS 使用 PASS 作为代理密码。--referer=URL 在 HTTP 请求头包含‘Referer: URL’。--save-headers 将 HTTP 头保存至文件。-U, --user-agent=AGENT 标识为 AGENT 而不是 Wget/VERSION。--no-http-keep-alive 禁用 HTTP keep-alive (永久连接)。--no-cookies 不使用 cookies。--load-cookies=FILE 会话开始前从 FILE 中载入 cookies。--save-cookies=FILE 会话结束后保存 cookies 至 FILE。--keep-session-cookies 载入并保存会话 (非永久) cookies。--post-data=STRING 使用 POST 方式;把 STRING 作为数据发送。--post-file=FILE 使用 POST 方式;发送 FILE 内容。--content-disposition 当选中本地文件名时允许 Content-Disposition 头部 (尚在实验)。--content-on-error output the received content on server errors.--auth-no-challenge 发送不含服务器询问的首次等待的基本 HTTP 验证信息。HTTPS (SSL/TLS) 选项:--secure-protocol=PR choose secure protocol, one of auto, SSLv2,SSLv3, TLSv1, TLSv1_1 and TLSv1_2.--no-check-certificate 不要验证服务器的证书。--certificate=FILE 客户端证书文件。--certificate-type=TYPE 客户端证书类型,PEM 或 DER。--private-key=FILE 私钥文件。--private-key-type=TYPE 私钥文件类型,PEM 或 DER。--ca-certificate=FILE 带有一组 CA 认证的文件。--ca-directory=DIR 保存 CA 认证的哈希列表的目录。--random-file=FILE 带有生成 SSL PRNG 的随机数据的文件。--egd-file=FILE 用于命名带有随机数据的 EGD 套接字的文件。FTP 选项:--ftp-user=USER 设置 ftp 用户名为 USER。--ftp-password=PASS 设置 ftp 密码为 PASS。--no-remove-listing 不要删除‘.listing’文件。--no-glob 不在 FTP 文件名中使用通配符展开。--no-passive-ftp 禁用“passive”传输模式。--preserve-permissions 保留远程文件的权限。--retr-symlinks 递归目录时,获取链接的文件 (而非目录)。WARC options:--warc-file=FILENAME save request/response data to a .warc.gz file.--warc-header=STRING insert STRING into the warcinfo record.--warc-max-size=NUMBER set maximum size of WARC files to NUMBER.--warc-cdx write CDX index files.--warc-dedup=FILENAME do not store records listed in this CDX file.--no-warc-compression do not compress WARC files with GZIP.--no-warc-digests do not calculate SHA1 digests.--no-warc-keep-log do not store the log file in a WARC record.--warc-tempdir=DIRECTORY location for temporary files created by theWARC writer.递归下载:-r, --recursive 指定递归下载。-l, --level=NUMBER 最大递归深度 (inf 或 0 代表无限制,即全部下载)。--delete-after 下载完成后删除本地文件。-k, --convert-links 让下载得到的 HTML 或 CSS 中的链接指向本地文件。--backups=N before writing file X, rotate up to N backup files.-K, --backup-converted 在转换文件 X 前先将它备份为 X.orig。-m, --mirror -N -r -l inf --no-remove-listing 的缩写形式。-p, --page-requisites 下载所有用于显示 HTML 页面的图片之类的元素。--strict-comments 用严格方式 (SGML) 处理 HTML 注释。递归接受/拒绝:-A, --accept=LIST 逗号分隔的可接受的扩展名列表。-R, --reject=LIST 逗号分隔的要拒绝的扩展名列表。--accept-regex=REGEX regex matching accepted URLs.--reject-regex=REGEX regex matching rejected URLs.--regex-type=TYPE regex type (posix|pcre).-D, --domains=LIST 逗号分隔的可接受的域列表。--exclude-domains=LIST 逗号分隔的要拒绝的域列表。--follow-ftp 跟踪 HTML 文档中的 FTP 链接。--follow-tags=LIST 逗号分隔的跟踪的 HTML 标识列表。--ignore-tags=LIST 逗号分隔的忽略的 HTML 标识列表。-H, --span-hosts 递归时转向外部主机。-L, --relative 只跟踪有关系的链接。-I, --include-directories=LIST 允许目录的列表。--trust-server-names use the name specified by the redirectionurl last component.-X, --exclude-directories=LIST 排除目录的列表。-np, --no-parent 不追溯至父目录
为了更直观一些,我们把常用的参数用表格来展示:
参数 | 描述 |
---|---|
-P | 指定文件的下载目录。 |
-c: | 断点续传,如果文件已经下载过一部分,可以使用该选项继续下载。 |
-O | 将下载的文件重命名。 |
-b: | 后台下载模式,可以在后台下载文件。 |
-t: | 指定下载重试的次数。 |
-T | 指定下载的超时时间。 |
-q: | 静默模式,不显示任何下载进度信息。 |
-U | 指定用户代理标识,用于伪装浏览器身份。 |
-r: | 递归下载,可以下载整个网站。 |
-np | 不下载上级目录。 |
有了具体的参数之后,我们再来看实战案例:
三. 参考案例
3.1 下载单个文件
此时,无需加任何参数
案例一: 下载最新版本的wordpress
[root@mufenggrow ~]# wget https://wordpress.org/latest.zip
可以看到下载过程中,有进度条,已下载的字节数,当前下载速度,以及剩余下载时间:
唯一的一个缺点就是下载的文件必须跟网站文件名相同,只能下载下来再改名
如果要改名需要用到 -O参数
3.2 使用wget -o 下载文件并改名
-O(大写) 可以不同的名字保存。
[root@mufenggrow ~]# wget -O wordpress.zip https://wordpress.org/latest.zip
这样下载完就变成了wordpress.zip,不是原来的latest.zip
3.3 -c 参数,下载断开链接时,可以恢复下载
下载的过程中最头疼的也许就是下载过程中突然断开吧,想要断点续传? 它来了,它就是 -c参数
[root@mufenggrow ~]# wget -cO wordpress.zip https://wordpress.org/latest.zip
多个参数可以一起用,比如这里的-cO
3.4 wget后台下载
有些时候下载时间过长,那就让它在后台下载,在后台下载的参数用 -b, 下载大文件的时候超级好用。
[root@mufenggrow ~]# wget -bO wordpress.zip https://wordpress.org/latest.zip
继续在后台运行,pid 为 81793。
将把输出写入至 “wget-log”
要查看 wget 命令的下载进度等信息,可以运行 tail 命令 tail -f wget-log 查看wget 命令的下载状态。
[root@mufenggrow ~]# tail -f wget-log
3.5 使用wget下载整个网站
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent www.itlaoxin.com
这个命令可以递归地下载整个网站,并转换链接和文件名,使得网站可以在本地离线浏览。
下载完成后,可以启动apache,直接本地访问网站,这样你就仿佛拥有了一个一模一样的网站哦。
四. 补充与汇总常见用法
总结以下wget的常见用法:
- 下载单个文件:wget http://example.com/file.zip
- 指定下载目录:wget -P /home/user/Downloads http://example.com/file.zip
- 断点续传:wget -c http://example.com/file.zip
- 重命名文件:wget -O newfile.zip http://example.com/file.zip
- 后台下载:wget -b http://example.com/file.zip
- 限制下载次数:wget -t 5 http://example.com/file.zip
- 限制超时时间:wget -T 10 http://example.com/file.zip
- 静默模式:wget -q http://example.com/file.zip
- 递归下载整个网站:wget -r http://example.com
- 不下载上级目录:wget -np http://example.com/dir/file.zip
总结
💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~
相关文章:
linux基本功之列之wget命令实战
文章目录前言一. wget命令介绍二. 语法格式及常用选项三. 参考案例3.1 下载单个文件3.2 使用wget -o 下载文件并改名3.3 -c 参数,下载断开链接时,可以恢复下载3.4 wget后台下载3.5 使用wget下载整个网站四. 补充与汇总常见用法总结前言 大家好ÿ…...
学习ROS时针对gazebo相关的问题(重装与卸载是永远的神)
ResourceNotFound:gazebo_ros 错误解决 参考:https://blog.csdn.net/weixin_42591529/article/details/123869969 当将机器人加载到gazebo时,运行launch文件出现如下错误 这是由于缺少gazebo包所导致的。 解决办法:...
几个C语言容易忽略的问题
1 取模符号自增问题 我们不妨尝试写这样的程序 #include<stdio.h> int main(){int n,t5;printf("%d\n",7%(-3));//1printf("%d\n",(-7)%3);//-1while(--t)printf("%d\n",t);t5;while(t--)printf("%d\n",t);return 0; } 运行…...
CentOS 7.9安装Zabbix 4.4《保姆级教程》
CentOS 7.9安装Zabbix 4.4一、配置一览二、环境准备设置Selinux和firewalld设置软件源1.配置ustc CentOS-Base源2.安装zabbix 4.4官方源3.安装并更换epel源4.清除并生成缓存三、安装并配置Zabbix Server安装zabbix组件安装php安装mariadb并创建数据库修改zabbix_server.conf设置…...
路由器与交换机的区别(基础知识)
文章目录交换机路由器路由器和交换机的区别(1)工作层次不同(2)数据转发所依据的对象不同(3)传统的交换机只能分割冲突域,不能分割广播域;而路由器可以分割广播域(4&#…...
Python基础学习9——函数
基本概念 函数是一种能够完成某项任务的封装工具。在数学中,函数是自变量到因变量的一种映射,通过某种方式能够使自变量的值变成因变量的值。其实本质上也是实现了某种值的转换的任务。 函数的定义 在python中,函数是利用def来进行定义&am…...
项目中的MD5、盐值加密
首先介绍一下MD5,而项目中用的是MD5和盐值来确保密码的安全性; 1. md5简介 md5的全称是md5信息摘要算法(英文:MD5 Message-Digest Algorithm ),一种被广泛使用的密码散列函数,可以产生一个128位…...
电商项目后端框架SpringBoot、MybatisPlus
后端框架基础 1.代码自动生成工具 mybatis-plus (1)首先需要添加依赖文件 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.2</version></dependency><de…...
2023年03月IDE流行度最新排名
点击查看最新IDE流行度最新排名(每月更新) 2023年03月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多,这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…...
华为校招机试 - 数组取最小值(Java JS Python)
目录 题目描述 输入描述 输出描述 用例 题目解析 JavaScript算法源码 Java算法源码...
20 客户端服务订阅的事件机制剖析
Nacos客户端服务订阅的事件机制剖析 我们已经分析了Nacos客户端订阅的核心流程:Nacos客户端通过一个定时任务,每6秒从注册中心获取实例列表,当发现实例发生变化时,发布变更事件,订阅者进行业务处理,然后更…...
ThreadPoolExecutor中的addWorker方法
在看线程池源码的时候看到了这么一段代码 private boolean addWorker(Runnable firstTask, boolean core) {retry:for (int c ctl.get();;) {// Check if queue empty only if necessary.if (xxx)return false;for (;;) {if (xxx)return false;if (xxx)break retry;if (xxx)c…...
9 有线网络的封装
概述 IPC设备一般都带有网口,支持以有线网络方式接入NVR和其他平台。有线网络的使用比较简单,主要操作有:设置IP地址、子网掩码、网关、DHCP等。在封装有线网络前,我们需要先封装DHCP客户端管理类,用于管理各种网络的DHCP功能。 DHCP客户端管理类 DHCP客户端管理类的头文件…...
Linux----网络基础(2)--应用层的序列化与反序列化--守护进程--0226
文章中有使用封装好的头文件,可以在下面连接处查询。 Linux相关博文中使用的头文件_Gosolo!的博客-CSDN博客 1. 应用层 我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层 1.2 协议 我们在之前的套接字编程中使用的是…...
uipath实现滑动验证码登录
现实需求 在进行RPA流程设计过程中,遇到登录系统需要滑动验证的情况,如图所示: 此时需要在RPA流程设计中,借助现有的活动完成模拟人工操作,完成验证登录操作。 设计思路 这个功能流程的设计思路大体如下: …...
openai-chatGPT的API调用异常处理
因为目前openai对地区限制的原因,即使设置了全局代理使用API调用时,还是会出现科学上网代理的错误问题。openai库 0.26.5【错误提示】:raise error.APIConnectionError(openai.error.APIConnectionError: Error communicating with OpenAI: …...
css实现音乐播放器页面 · 笔记
效果 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …...
buu [NPUCTF2020]这是什么觅 1
题目描述: 就一个这种文件,用记事本打开后: 题目分析: 打开后就一串看不懂的东西,想想这个东西曾经在 010editor 或 winhex中出现过(右端)既然如此那么我们就用它打开,得到&#…...
Restful API 设计规范
1. 简介 目前 "互联网软件"从用客户端/服务端模式,建立在分布式体系上,通过互联网通讯,具有高延时、高开发等特点。但是软件开发和网络是两个不同的领域,交集很少。要使得两个融合,就要考虑如何在互联网环境…...
sigwaittest测试超标的调试过程
1,问题描述硬件环境:飞腾S2500(64核)OS:kylinOS, linux preempt rt, 4.19.90测试命令:sigwaittest -p 90 -i 1000 -a 1测试结果:信号混洗值最大超过了80us,与飞腾其他CPU…...
Python进阶-----面对对象4.0(面对对象三大特征之--继承)
目录 前言: Python的继承简介 1.什么是继承 2.继承的好处 3.object类 继承的相关用法 1.继承的定义与法则 2.对继承的重写 3.(单继承)多层继承 4.多继承 5.多继承重写时调用父类方法 前言: 在讲之前,我想说说中…...
九龙证券|利好政策密集发布,机构扎堆看好的高增长公司曝光
新能源轿车销量和保有量快速增长,带来了充电桩商场的微弱需求。 日前,商务部部长王文涛表明,本年将在落实好方针的一起,活跃出台新方针办法,比方辅导当地展开新能源轿车下乡活动,优化充电等使用环境&#x…...
stm32CubeIDE FMC 驱动LCD(8080)
一,TFT屏硬件接口16位,80并口。二,FMC介绍。FSMC(Flexible Static Memory Controller),译为灵活的静态存储控制器。STM32F1 系列芯片使用 FSMC 外设来管理扩展的存储器,它可以用于驱动包括 SRAM…...
Java 数据类型
数据类型用于对数据归类,以便开发者理解和操作。 基本数据类型 Java 确定了每种基本数据类型所占存储空间的大小,不会像其它语言那样随机器硬件架构的变化而变化,这使 Java 程序更具可移植性。 Java 中定义了如下的基本数据类型。 byte …...
Prometheus 监控云Mysql和自建Mysql(多实例)
本文您将了解到 Prometheus如何配置才能监控云Mysql(包括阿里云、腾讯云、华为云)和自建Mysql。 Prometheus 提供了很多种Exporter,用于监控第三方系统指标,如果没有提供也可以根据Exporter规范自定义Exporter。 本文将通过MySQL server exporter 来监控…...
Vue3中的h函数
文章目录简介简单使用参数使用计数器进阶使用函数组件插槽专栏目录请点击 简介 众所周知,vue内部构建的其实是虚拟DOM,而虚拟DOM是由虚拟节点生成的,实质上虚拟节点也就是一个js对象事实上,我们在vue中写的template,最终也是经过…...
阿尔法开发板 IMX6ULL 说明
一. IMX6ULL开发板 IMX6ULL开发板即正点原子的阿尔法(ALPHA)开发板,采用恩智浦芯片,cortex-A7架构的。 二. IM6ULL开发板说明 1. IO说明 对于IMX6ULL芯片,一个IO对应两个寄存器,第一个寄存器负责配置其复用功能,…...
Altium Designer19 #学习笔记# | 基础应用技巧汇总
全文目录一.元件符号库二.元件封装库1.AD09 集成元件库/封装库三.电路原理图1. 巧用查找"相似对象功能"1.1 查找相同元件1.2. 查找相同文本1.3. 查找相同网络 :E - S - C四.PCB原理图【AD PCB模式下的常用快捷键】PCB视图放大/缩小PCB视图左/右移动PCB切换…...
Python 元类编程实现一个简单的 ORM
概述 什么是ORM? ORM全称“Object Relational Mapping”,即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表,这样,写代码更简单,不用直接操作SQL语句。 现在我们就要实…...
《C++ Primer Plus》第18章:探讨 C++ 新标准(7)
C11 新增的其他功能 C11 增加了很多功能,本书无法全面介绍;另外,本书编写期间,其中很多功能还未得到广泛实现。然而,有些功能有必要简要地介绍一下。 并行编程 当前,为提高计算机性能,增加处…...
日照的网站建设/推广平台网站有哪些
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关,数据结构有以下几种基本的结构算法…...
武进网站建设价格/技术教程优化搜索引擎整站
有时候数组要转为对象操作,用对象的指向操作符,有两种方法 方法一: $arr[a>10,b>100,c>Hello];$obj(Object)$arr;echo output:.$obj->c;方法二:$arr[a>10,b>100,c>Hello];$arr0 json_encode($arr);$arr1 j…...
相册网站模板/sem分析是什么意思
正式决定从KID改到Genshi。虽然Jinja的性能的确好,但是Script风格的Web template毕竟还是不如XML风格的好看和规范。试了一下发现,Genshi与KID的差别也不是很大,迁移过来还是很方便的。Genshi是一个日文词汇“原糸(げんし…...
正在建设的网站可以随时进入吗/快速提升排名seo
关于指向常量的指针的问题 在图书馆借了《Visual C面向对象与可视化程序设计》,决定要看完了,下面是刚刚开始,看第一章梳理C知识的其中一个问题。 在C中,试图把一个常量的地址赋给一个指针,会产生编译错误。为了解决…...
西安给公司做网站/站长seo软件
文章目录1. AspectJ1.1 什么是AspectJ1.2 基于AspectJ实现AOP操作2. Spring实现AOP2.1 基于注解2.1.1 完全注解开发2.2 基于配置文件1. AspectJ Spirng框架一般都是基于AspectJ实现AOP操作 1.1 什么是AspectJ AspectJ不是Spring组成部分,独立于AOP框架࿰…...
杭州网站建设_数据库开发网站_大数据网站开发/长沙本地推广联系电话
[PConline 应用]PS的字体列表又卡又冗,尤其对于设计师而言,安装的字体少则几十多则上百,每次查找都要花费很长时间,以至于有人说这可能是PS最难用的功能了。其实我们也可以通过一款小软件FonTags来改造它!FonTags是一款…...