NAS服务器之软链接、硬链接之初探

2020-03-16 13:10:57 19点赞 148收藏 63评论

创作立场声明:​这次完全是一个linux小白对软硬链接文件技术的一个探索,理论水平不高,很多都是网上现学现卖的东西,请各位大佬海涵,不足之处欢迎各位大佬批评指正,但还是请口下留情。

【写作说明】:本文非教程性文章,仅为作者在学习过程中的简单记录。希望可以通过文章的发布给值友提供一些参考,同时也欢迎值友提供更优的解决方案。文章可能附图不多,多为理论性的阐述,如果感兴趣,请耐心阅读。

需求背景

尝试使用NAS系统有了一段时间,和很多用NAS的朋友一样,起初的设想是将NAS作为家庭媒体服务器,于是注册了很多不可描述的资源下载站,下载了N多T的影视等资源,之后又在NAS建立了plex、emby、jellyfin等媒体服务器,配合tmm进行媒体文件的本地管理(特别是媒体文件的更名整理功能),方便平时家里的使用(媒体服务器等不是今天的重点,简单一提而已)。

ps:在第一稿的时候我尝试用文字来表述自己的需求和遇到的问题,但是发现要写很多文字,而且絮絮叨叨的也不怎么说的清楚,于是决定还是以简单的方式来表述。

需求:

1、使用tr(transmission)下载器下载某T网站上的资源,同时保种(保种时好像不能修改已下载文件的文件名,否则可能导致保种不成功)

2、使用tmm软件对需要纳入媒体资源库的媒体文件进行分文件夹更名保存,这里有点强迫症(如中文文件名等,tmm有这个功能,可以按影片自动建立文件夹,并将对应的nfo文件、海报图片等保存到相应的文件夹中)

图片引用自@阿文菌 的文章图片引用自@阿文菌 的文章

手把手教您用tMM刮削影片信息,让KODI、Jellyfin、PLEX、使用本地媒体电影墙!大家好!俺又来了!上篇文章为大家简单演示了下KODI如何安装和配置及使用!本人只需要2分钟即可安装和配置KODI,愉快的观看和管理家里的电影媒体库。本文用最简洁,也是最完整详细的方式,教给大家3分钟用tMM刮削自己的影片信息。上篇关于KODI的文章链接:文章里有不少值友反馈,KODI刮削有问题,匹配阿文菌| 1k 评论714 收藏9k查看详情

3、tr下载的资源类型很多,并不是都需要纳入媒体库进行播放(某T网站有些时候类似于网络游戏,需要下载一些没用的资源进行混上传“打怪升级”),当然也可以在tr等下载软件中通过分文件夹保存的方法解决,但是因为有第2点(使用tmm进行媒体文件更名保存)的需求,所以分文件夹保存也不太可行

4、有些下载时间比较久,没有必要再进行保种,需要删除以释放硬盘空间,但是这些资源又需要我们在媒体库中留存收藏(比如一些比较经典的影片,系列电影等,我个人是喜欢收藏起来,没事的时候可以翻出来再看看,但是一直保种没人下,也是硬盘资源的一种浪费)

综上,我个人的需求是,保种文件和媒体库文件需要相对独立的保存,但是又互不影响,同时又想尽量的节省硬盘空间。

题外话:某T下载资源的保种可以使用某些工具实现同一份文件,多网站上传,俗称辅种。

我之前的做法是:

下载的文件内容结构保留不动,需要纳入媒体库的资源另外复制一份到媒体服务器映射的文件夹中。

这样做的好处可以实现保种文件和媒体库文件相对独立,而不足就是某些纳入媒体库的文件和保种文件需要占用2倍的硬盘空间。在早期媒体库较小,片源不多的情况下此方法尚可,但当媒体库较大时,2倍的占用空间直接导致了存储成本的上升,所以急需要找到一种解决方法。通过网友的介绍,linux系统自支持的软连接和硬链接可以实现一份存储空间,多文件名关联的功能。下面简单介绍下软连接和硬链接的知识。

硬链接和软链接的理论知识

简单来说:

硬链接

就是多个文件名具有相同的inode,指向硬盘中同一个文件,简单理解就是一个文件具有多个文件名。(这个和windows中文件和文件名的对应关系有点不同,理解上可能有点麻烦,可以参考我下面提供的文章了解下。我试着解释下,linux下的文件实际指的是硬盘上的数据,而文件名则是文件。一个数据可以有多个文件名即有多个文件指向这个数据,修改任意一个文件名的文件其实都是对数据进行了改动,类似于文件同步功能)

注意:原则上硬链接只能对文件实现,不能对文件夹实现。也就是说硬链接只能链接单个文件。

删除文件:1个数据如果硬链接了多个文件(名),需要把这多个文件都删除才能实现删除数据的目的。这个好处就在于,如果我们下载的文件为A,我们在媒体库中硬链接了文件B,那么如果我们后期没有保种需要,通过tr等下载程序删除A,但是数据并没有删除,媒体库中的文件B仍然可以使用。

软连接

可以理解为windows下文件的快捷方式,其中只包含了数据原始对应文件的路径,修改软连接文件不能对数据进行修改。

删除文件:如果我们下载的文件为A,我们在媒体库中软链接了文件B,那么B只是指向了文件A,如果我们删除文件B,其实只是删除了快捷方式,对硬盘上的数据没有影响。而如果我们后期没有保种需要,通过tr等下载程序删除A,那么数据也就被删除了,文件B也就失效了。这种方式不适合我的需求。

如想详细了解的话,可以自行百度,我之前看的下面这篇文章,感觉说的还算比较易懂。

软链接文件和硬链接文件-Jolie的博客-51CTO博客软链接文件和硬链接文件blog.51cto.com去看看

硬链接的实现

通过这两天的摸索,大致掌握了3种方法

1、linux自带命令的实现

linux自带硬链接命令

ln [源文件] [新文件]

因为这种方式是用命令行实现,一次只能实现一个文件的链接,而且我们平时的文件路径又很长,所以仅做了解即可,出于效率的考虑,不做推荐。

2、winscp的实现

在贴吧看到有网友说对于NAS系统来说,使用winscp软件(一般用NAS系统的朋友应该都知道这个工具吧,就是用来远程管理NAS文件系统的软件),通过File(s) > New > Link. Add link/shortcut 确实可以实现硬链接。但是,和命令行一样,每次只能实现一个文件的硬链接,而且如果要异文件夹生成硬链接文件,还是要输入完整路径,操作不是特别方便,也不做推荐。

想了解的朋友可以参考以下两个链接的方法(官方说明,E文版,中文版的说明书比较简单,没有看到这个方面的说明)

CreatingLinksandShortcuts::WinSCPWinSCP is a free SFTP, SCP, Amazon S3, WebDAV, and FTP client for Windows.winscp.net去看看Link/ShortcutEditor::WinSCPWinSCP is a free SFTP, SCP, Amazon S3, WebDAV, and FTP client for Windows.winscp.net去看看

3、Link Shell Extension软件的实现

这个软件可能是我很久之前探索硬链接的时候安装的,昨天试了一下,比较好用。先简单贴一下软件的介绍

引用自百度搜索到的软件下载站点介绍:Link Shell Extension 是一个可以在 NTFS 文件系统中创建“硬连接”的 Windows 资源管理器扩展。 “硬连接”让一个文件在多个目录下重复出现,但只占用一份文件的空间。例如,一个大小为 10MB 的“E:a.doc”的文件,创建一个硬连接到“E:共享文件夹a.doc”中,则两个“a.doc”文件只占用一个文件的空间(10MB),两个文件的内容当然是完全一样的。如果编辑该文件的编辑器在修改保存文件时,依然保持源文件在 NTFS 文件夹中的位置,那么在“E:a.doc”上所作的改动会自动反映到“E:共享文件夹a.doc”中。同理,修改了“E:共享文件夹 a.doc”文件后,所作的修改也会立即反映到硬连接对应的“E:a.doc”文件。

创建硬连接之后,删除硬连接的副本(即连接点)只会将文件系统对文件数据的引用减一,只有删除所有的引用时,才真正删除文件。

“硬连接”还可以用于目录,这称为“目录连接点”(Junction)。例如,可以为“C:Applications”目录创建一个硬连接到“E:共享文件夹Applications”,则两个目录共享同样的存储空间,在“C:Applications”目录中对任何文件所作的改动都会立即反映到 “E:共享文件夹Applications”目录中对应的文件中去。同理,修改“E:共享文件夹Applications”目录中的文件,改动也会立即反映到“C:Applications”目录中去。

对于目录连接点需要注意:目录连接点连接到原来的目录,如果将源目录删除,则其连接点将不再可用,这与文件硬连接是不同的。

创建硬连接的操作方法:
1、在 Windows 资源管理器中,找到需要创建硬连接的文件,如
“E:a.doc”;
2、右键点击该文件,选择“选择源连接点”。
3、转到需要创建连接点的地方,如“E:共享文件夹”。
4、右键点击资源管理器文件列表的空白位置,选择“创建硬连接”(如果是目录,可选择“创建连接点→目录连接点[或其他选项]”)——在资源管理器的状态栏中对操作命令有说明。

首先要说的是,软件介绍中说到“Link Shell Extension 是一个可以在 NTFS 文件系统中创建“硬连接”的 Windows 资源管理器扩展”,所以,我们没办法直接在NAS里进行操作。我目前的方法是在windows里映射NAS的硬盘,然后在windows的资源管理器里进行操作。当然,因为这篇文章说的是初探,所以我只简单尝试了建立硬链接文件,至于后期有没有什么坑,现在还说不好。

起初我想力推这款软件的初衷是居然发现这款软件可以实现文件夹的链接,一开始还在窃喜,谁知道刚才复制软件介绍的时候才发现这样的话“对于目录连接点需要注意:目录连接点连接到原来的目录,如果将源目录删除,则其连接点将不再可用,这与文件硬连接是不同的。”[piapia打脸]NAS服务器之软链接、硬链接之初探 这样看来的话还是不能偷懒。

不过这款软件还是比较方便了,首先是他有右键菜单,这比要输入路径什么的还是要方便多了。

我目前的使用方法:

方法一:

1、在源文件上点右键,选择“选择源连接点”

2、转到需要创建连接点的地方,点右键,选择“创建硬连接”

方法二:

1、打开两个资源管理器窗口,并并列排列,一个为源文件所在文件夹,一个是目标文件夹

2、按住右键将源文件拖至目标文件夹,在快捷菜单选择建立硬链接

因为关于文件夹硬链接还是有可预知的问题,所以暂且不对文件夹进行批量操作了,虽然现在也是一个文件一个文件的操作,但是可以鼠标单手操作,还是方便多了。

下一步的设想:

1、对于已用tmm整理好的媒体库文件

使用上述的两种方法,逐一的将硬链接媒体文件(与源文件使用同一份存储空间)拖至电影独立的文件夹中,删掉原来复制过来的媒体文件(因为是复制,所以和源文件一样,也要占用一份存储空间),释放空间,然后将硬链接的文件改名,从而实现硬链接文件替换“实体占用存储空间”文件的目的。

2、对于新的还未用过tmm整理的媒体文件

使用上述方法,将硬链接文件先移到媒体库引用文件夹中,然后用tmm进行改名整理管理,这样的话硬链接文件就会被tmm自动改名和移到影片独立的文件夹中,这样硬链接文件是否还会有效?需要下一步测试之后才知道。

目前存在的问题(求大佬们帮忙解惑)

1、因为关于硬链接的介绍中有说到“不能跨分区做硬链接”,所以这个分区是怎么定义的,我在使用中感觉硬链接文件必须建立在同一个根目录下,如果跨目录的话就可能建立不成功要报错,但是这个根目录具体可以深到哪一层,有没有一个简单的判别方法,总不能一个个去试吧。比如在unraid系统中,共享文件夹download和video中就不可以互通建硬链接文件,但是在各自文件夹中则可以,是不是分区就是以共享文件夹这一层来区别?

2、关于硬链接文件的介绍中有说到“多个硬链接的文件具有相同的inode号”,经过我的测试,在群晖系统中,硬链接文件确实是具有同一个inode号,但是unraid系统下,硬链接的文件创建时期什么倒是相同,但是inode号并不一样,是因为unraid系统没有严格遵循linux的文件规则么?

总结

NAS所基于的linux框架自带的硬链接文件功能可以帮助我们实现存储空间的多次复用,希望可以对做家庭媒体服务器的朋友提供一些参考。有更优的解决方案也请朋友们留言,我会积极学习的!


展开 收起

软链接文件和硬链接文件-Jolie的博客-51CTO博客

软链接文件和硬链接文件-Jolie的博客-51CTO博客

暂无报价 去购买

CreatingLinksandShortcuts::WinSCP

CreatingLinksandShortcuts::WinSCP

暂无报价 去购买

Link/ShortcutEditor::WinSCP

Link/ShortcutEditor::WinSCP

暂无报价 去购买

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1849元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1796元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2599元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3549元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5999元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2899元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

3599元起

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

sgwbox 拾光坞 N3 星光版V(瑞芯微RK3566,2G,支持docker)

387.8元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起
63评论

  • 精彩
  • 最新
  • 置顶 楼主你好,最近也在做媒体库,看到楼主帖子,PLEX,TMM刮削,一步一步过来,很感谢教程,现在差最后改名不影响辅种的问题,楼主本帖提供的思路,相对于前面帖子难理解点,请问下现在有更好的操作方式吗,百度还有个HardLinkhelper,这软件对比Link Shell Extension怎样呢

    校验提示文案

    提交
    我大概看了下你说的那个软件的使用方式,我来简单说下区别,你说的那个软件,是硬链出新的文件用来辅种,我推荐的软件是硬链出新的文件用来给tmm重命名,之后用于建立媒体库。这样就看你的需求了,如果你持续做种需求不高,就选百度那个(不过基于pt原理,你玩不下去的)。如果你想持续上传,那我建议你搭配iyuu使用,可以多次辅种,然后用我推荐的软件,从下载的海量资源中挑选想看的片子去做硬链。
    不知道我这样说你理解的明白不

    校验提示文案

    提交
    百度了些帖子看看,评论区也看了,对代码和linux一窍不通,不过需求和楼主差不多,硬链接新文件tmm重命名来建立媒体库(个别文件自带NFO,所以需要在另外的文件夹统一TMM),不修改源文件不影响辅种,查百度Link Shell Extension,大概是源文件夹和链接文件夹,增减文件都保持高度一致,像镜子一样,如此TMM改链接文件,源文件是否也会变名?另外看到HardLinkhelper解释,链接新文件来辅种,假如在链接的文件进行TMM刮削而非辅种,这样效果是否能与前者效果相同呢,具体还没实操,暂时疑问是这些,晚点找个文件测试,后边再回来评论,再次感谢楼主的解答

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • cp -lR source_dir target_dir
    直接将source_dir 路径下的文件迭代的创建硬连接到target_dir

    校验提示文案

    提交
    可以跨分区创建么?

    校验提示文案

    提交
    不可以的,我是在同一个分区内,建一个Video文件夹,在里面再建两个文件夹download和jellyfin, 下载的一股脑丢到download,下完了先用命令批量创建硬链接到jellyfin,再rename

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 学习学习,折腾起来学无止境啊!

    校验提示文案

    提交
    文中的问题求大佬解惑

    校验提示文案

    提交
    收起所有回复
  • 可以看看鸟哥的书第七章,Linux磁盘与文件系统管理,我也不是很懂,希望你看明白了分享下。

    校验提示文案

    提交
    能说明白是什么书么?内外汉,不知道什么鸟叔,是实体书还是电子书?

    校验提示文案

    提交
    linux私房菜 实体书

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 我看了下你说的这个介绍,软链接足够了把。。tr下载馒头的时候把电影弄一个文件夹里就行了。。然后软链接到媒体库。。为啥要硬链接呢。另外楼上说的 鸟哥是《鳥哥的 Linux 私房菜 》这本书

    校验提示文案

    提交
    1、下载的文件有些不需要加媒体库里;
    2、媒体库内的文件会用tmm进行改名(包含文件名、和文件夹名),改名后会影响保种;
    3、有些收藏电影,tr里删了后(选择同时删除媒体文件,保持tr记录与下载文件夹内文件一致),但需要媒体库里还存在。
    基于以上3点需求要同时满足,同时避免后期可能带来的多余操作,软链接实现不了,只有硬链。

    校验提示文案

    提交
    1,下载到不同文件夹就可以不加到媒体库了。
    2,刮销软链接也可以实现
    3,倒是没有这个需求
    请教大佬,这样理解对吗?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 硬链接,Linux系统多个文件名可以指向同一个inode,这意味着可以用不同的文件名访问同样的datablock,对block进行修改会影响到所有文件名;但删除一个文件名不会影响另一个文件名的访问。
    硬链接不能跨分区链接,只能对文件生效,对目录无效,链接后的文件不占用系统多余的空间

    我理解的,硬链接是直接复制了原block,被复制的block节点信息还是原inode不变 [龇牙]

    校验提示文案

    提交
    其实我对block所指的内容不太懂,只能简单说没有增加硬盘存储空间的消耗

    校验提示文案

    提交
    block记录具体的内容和关联block信息,inode记录block节点信息,superblock记录inode和block,以及文件系统其他信息

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 楼主找到批量操作方法记得更新啊,电影还好说,剧集弄起来受不了啊

    校验提示文案

    提交
    目前我还只是在手动弄,剧集如果是在一个文件夹里的,可以直接先建文件夹,然后把媒体文件批量做硬链接的,苦就苦了我这种一个文件夹里一个电影文件的

    校验提示文案

    提交
    我目前是直接在qb下载好,需要的直接移到各文件夹,但是因为保种也一直不敢改名,郁闷

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 我也遇到了这个问题,tr下载的因为要保种,不敢乱改名字,不改名字媒体库刮削又不好。我跟你的需求有点不同,我tr下载的时候已经分了不同的文件夹,只需要对一到两个文件夹链接到媒体库就可以了,而且也不存在想删除原文件,但是媒体库保留的问题,像我这样的直接软链接就可以了?

    校验提示文案

    提交
    基于你目前的需求,软连接确实可以。不过你想没想过硬盘的容量总有装满的一天,那个时候你可能就会想到删保种的文件了

    校验提示文案

    提交
    删除会有什么影响吗?我把整合目录软链接好像也不行,软链接好像就是个快捷方式,我初步想着是单独弄个文件夹给媒体库用,但是媒体库在软链接的目录里修改,其实原来的目录里内容也会变

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 我这边使用软链接,然后Jellyfin感觉无法处理。使用Jellyfin解码就会报错

    校验提示文案

    提交
    软链相当于快捷方式访问,如果源文件能解码,且链接后的文件有访问权,理论上应该是没问题的

    校验提示文案

    提交
    嗯,有可能还是我操作有问题

    校验提示文案

    提交
    收起所有回复
  • 贴吧有个叫种子硬链接TorrentHardLinkHelper,你挂载磁盘后可以解决硬链接的问题,你可以用用看

    校验提示文案

    提交
    我看了你推荐的那个软件,具体差别我做了分析,置顶了

    校验提示文案

    提交
    分析在哪里。。我咋没看到

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 引用““硬连接”让一个文件在多个目录下重复出现,但只占用一份文件的空间。”
    问个问题,我用Link Shell Extension创建了一个硬链接文件,为什么属性里文件的大小还是有的呢?确定只是占用一份空间吗?比方说如果我的硬盘只有1.5G了,是不是里面还可以放10个1G的同文件硬链吗?

    校验提示文案

    提交
    明白了,只要在同个盘符空间里就只算1个的大小,但是移到其它盘符再移回来空间大小就会有变化了。

    校验提示文案

    提交
    差不多是这个意思,我之前测试的是只能在同一分区下实现

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 这个能跨共享文件夹吗?还是必须在同一个共享文件夹下面才可以?

    校验提示文案

    提交
    好像不能跨共享

    校验提示文案

    提交
    收起所有回复
  • 楼主解决了吗

    校验提示文案

    提交
    解决什么问题?

    校验提示文案

    提交
    没事了 我找到解决的办法了 . HLINK

    校验提示文案

    提交
    收起所有回复
  • 我想在unraid两个共享文件夹间创建软连接,使用Link Shell Extension创建符号链接,但是无法创建,提示:Link Shell Extension:(3)系统找不到指定的路径。

    校验提示文案

    提交
    看是不是跨盘符了,我记得是只能在一个分区下实现

    校验提示文案

    提交
    收起所有回复
  • 注意:原则上硬链接只能对文件实现,不能对文件夹实现。也就是说硬链接只能链接单个文件。
    楼主请问一下硬链接不能对文件夹实现是什么意思?比如一个原盘电影文件夹中有很多文件,要对它做硬链接貌似也只能通过对这个原盘电影的文件夹做硬链接。。?

    校验提示文案

    提交
  • 超纲了……

    校验提示文案

    提交
  • 谢谢分享!

    校验提示文案

    提交
  • 感谢楼主分享

    校验提示文案

    提交
  • 感性分享

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
148
扫一下,分享更方便,购买更轻松