Merge pull request #3943 from cposture/master

Translated by cposture
This commit is contained in:
VicYu 2016-04-19 17:03:18 +08:00
commit 8b370addea
3 changed files with 163 additions and 165 deletions

View File

@ -1,136 +0,0 @@
[Translating by cposture 2016-03-12]
Best Cloud Services For Linux To Replace Copy
===============================================
![](http://itsfoss.com/wp-content/uploads/2016/02/Linux-cloud-services.jpg)
Cloud storage service Copy is shutting down and it is time for us Linux users to look for a worthy **cloud storage alternative to Copy for Linux**.
All files will be deleted on May 1st, 2016. If you are a Copy user, you should save your files and move it to other
Copy has been my favorite cloud storage for past couple of years. It gave me plenty of free storage and came with native apps for desktop platforms including Linux and mobile platforms as iOS and Android.
It was a perfect Cloud storage for me where I get plenty of free storage (380 GB) with a seamless experience between desktop and mobile OSes. But this easy free storage, 15GB for signup and 5Gb for each referral, had me thinking that if Copy doesnt get business customers, they will be running out of business soon. Such huge free storage only meant that they were not targeting individual customers like Dropbox do.
My fear came true when I read about the shutting down of Copy.com. In fact, Copy is not alone. Its parent company [Barracuda Networks](https://www.barracuda.com/) is going through a rough patch and has [hired Morgan Stanely to look for suitable buyer](http://www.bloomberg.com/news/articles/2016-02-01/barracuda-networks-said-to-work-with-morgan-stanley-to-seek-sale)(s).
Whatever be the reason, all we know is that Copy will soon be history and we need to find similarly **good cloud services for Linux**. I am putting emphasis on Linux because other popular cloud storage services like [Microsofts OneDrive](https://onedrive.live.com/about/en-us/) and [Google Drive](https://www.google.com/drive/) do not provide native Linux client. This is something expected out of Microsoft but [Googles apathy towards Linux](http://itsfoss.com/google-hates-desktop-linux/) is shocking.
## Best Copy alternatives for Linux
Now, what do you want in a cloud storage services as a Linux storage? Let me guess:
- Lots of free storage. After all, individuals cannot pay hefty amounts every month.
- Native Linux client. So that you can synchronize files easily with the server without doing special tweaking or running scripts at regular intervals.
- Desktop clients for other desktop OSes i.e. Windows and OS X. Portability is a necessity and syncing files between devices is such a good relief.
- Mobile apps for Android and iOS. In todays modern world, you need to be connected across all the devices.
I am not counting the self-hosted cloud services like OwnCloud or [Seafile](https://www.seafile.com/en/home/) because they require set-up and run a server. This is not apt for all home users who want a Copy like cloud service.
Lets see what are the services that you could use to replace Copy.com on Linux.
## Mega
![](http://itsfoss.com/wp-content/uploads/2016/02/Mega-Linux.jpg)
If you are a regular Its FOSS reader, you might have come across my earlier article about [Mega on Linux](http://itsfoss.com/install-mega-cloud-storage-linux/). This cloud service is an offering by the infamous [Kim Dotcom](https://en.wikipedia.org/wiki/Kim_Dotcom) of [Megaupload scandal](https://en.wikipedia.org/wiki/Megaupload). This also makes some users skeptical about it because Kim Dotcom has been a target by US authorities for a long time.
Mega has everything that you would expect in a hassle free cloud service. It provides 50 GB of free storage to individual users. Provide native clients for Linux and other platforms and also has end to end encryption. The native Linux client works fine and the sync across the device is seamless. You can also view and access your files in a web browser.
### Pros:
- 50 GB of free storage
- End to end encryption
- Native clients for Linux and other platforms such as Windows, Mac OS X, Android, iOS
### Cons:
- Shady past of the owner
[Mega](https://mega.nz/)
## Hubic
![](http://itsfoss.com/wp-content/uploads/2016/02/hubic.jpeg)
Hubic is a cloud service from French company [OVH](https://www.ovh.com/fr/). Hubic also offers 25 GB of free cloud storage at sign up. You can further extend it to 50GB (for free users) by referring it to friends.
Hubic has a Linux client which is in beta (for over two years now). Hubic has an official Linux client but it is limited to command line. I did not go on to test the mobile versions.
Hubic boasts of some nice features though. Apart from simple to use interface, file sharing etc, it has a Backup feature where you can archive your important files regularly.
### Pros:
- 25 GB of free storage, extendable up to 50 GB
- Available on multiple platforms
- Backup feature
### Cons:
- Linux client in beta, only available in command line
[Hubic](https://hubic.com/)
## pCloud
![](http://itsfoss.com/wp-content/uploads/2016/02/pCloud-Linux.jpeg)
pCloud is another European offering but this time across the French border, from Switzerland. Focused on encryption and security, pCloud offers 10 GB of free storage for each signup. You can further increase it up to 20 GB by inviting friends, sharing links on social media etc.
It has all the standard features of a cloud service such as file sharing and synchronization, selective syncing etc. pCloud also has native clients across platforms, including Linux of course.
Linux client is easy to use and worked well in my limited testing on Linux Mint 17.3.
### Pros:
- 10 GB of free storage, extendable up to 20 GB
- A good working Linux client with GUI
### Cons:
- Encryption is a premium feature
[pCloud](https://www.pcloud.com/)
## Yandex Disk
![](http://itsfoss.com/wp-content/uploads/2016/02/Yandex.jpg)
Russian internet giant Yandex has everything that Google has. A search engine, analytics and webmaster tool, email, web browser and cloud storage service.
Yandex Disk offers 10 GB of free cloud storage on sign up. It has native clients for multiple platforms, including Linux. However, the official Linux client is only command line. You can get [unofficial GUI client for Yandex disk](https://mintguide.org/tools/265-yd-tools-gui-indicator-for-yandexdisk-free-cloud-storage-in-linux-mint.html) though. File sharing via links is available as along with other standard cloud storage feature.
### Pros:
- 10 GB of free storage, extendable up to 20 GB via referrals.
### Cons:
- Only command line client available
[Yandex Disk](https://disk.yandex.com/)
## Honorable and deliberate omissions
I have deliberately skipped [Dropbox](https://www.dropbox.com/), [SpiderOak](https://spideroak.com/) from the list. Dropbox is excellent for Linux but the free storage is limited to 2 GB. Over the past several years, I have managed to increase it to over 21 GB, but thats another story.
SpiderOak also provides only 2 GB of free storage and you cannot access it in a web browser.
OwnCloud needs its own server and set-up and thus it is not everyones cup of tea. And it certainly doesnt fit the criteria of a typical cloud service.
## Verdict
If you ask me what I am going to use in place of Copy, my answer is Mega. It has plenty of free cloud storage and a great Linux desktop client. What is your choice among this list of **best cloud storage services for Linux**? Which one do you prefer?
------------------------------------------------------------------------------
via: http://itsfoss.com/cloud-services-linux/
作者:[ABHISHEK][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/abhishek/

View File

@ -1,4 +1,3 @@
【Translating by cposture 2016-03-01】
* * *
# GCC 内联汇编 HOWTO
@ -422,11 +421,11 @@ C 表达式用作 "asm" 内的汇编指令操作数。作为第一双引号内
* * *
## 7. Some Useful Recipes.
## 7. 一些实用的诀窍
Now we have covered the basic theory about GCC inline assembly, now we shall concentrate on some simple examples. It is always handy to write inline asm functions as MACROs. We can see many asm functions in the kernel code. (/usr/src/linux/include/asm/*.h).
现在我们已经介绍了关于 GCC 内联汇编的基础理论现在我们将专注于一些简单的例子。将内联汇编函数写成宏的形式总是非常方便的。我们可以在内核代码里看到许多汇编函数。usr/src/linux/include/asm/*.h
1. First we start with a simple example. Well write a program to add two numbers.
1. 首先我们从一个简单的例子入手。我们将写一个两个数相加的程序。
> `
>
@ -448,7 +447,7 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
Here we insist GCC to store foo in %eax, bar in %ebx and we also want the result in %eax. The = sign shows that it is an output register. Now we can add an integer to a variable in some other way.
这里我们要求 GCC 将 foo 存放于 %eax将 bar 存放于 %ebx同时我们也想要在 %eax 中存放结果。'=' 符号表示它是一个输出寄存器。现在我们可以以其他方式将一个整数加到一个变量。
> `
>
@ -459,7 +458,7 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
> " addl %1,%0 ;\n"
> : "=m" (my_var)
> : "ir" (my_int), "m" (my_var)
> : /* no clobber-list */
> : /* 无修饰寄存器列表 */
> );
> </pre>
>
@ -467,9 +466,9 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
This is an atomic addition. We can remove the instruction lock to remove the atomicity. In the output field, "=m" says that my_var is an output and it is in memory. Similarly, "ir" says that, my_int is an integer and should reside in some register (recall the table we saw above). No registers are in the clobber list.
这是一个原子加法。为了移除原子性,我们可以移除指令 'lock'。在输出域中,"=m" 表明 my_var 是一个输出且位于内存。类似地,"ir" 表明 my_int 是一个整型,并应该存在于其他寄存器(回想我们上面看到的表格)。没有寄存器位于修饰寄存器列表中。
2. Now well perform some action on some registers/variables and compare the value.
2. 现在我们将在一些寄存器/变量上展示一些操作,并比较值。
> `
>
@ -486,13 +485,13 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
Here, the value of my_var is decremented by one and if the resulting value is `0` then, the variable cond is set. We can add atomicity by adding an instruction "lock;\n\t" as the first instruction in assembler template.
这里my_var 的值减 1 ,并且如果结果的值为 0则变量 cond 置 1。我们可以通过添加指令 "lock;\n\t" 作为汇编模板的第一条指令来添加原子性。
In a similar way we can use "incl %0" instead of "decl %0", so as to increment my_var.
以类似的方式,为了增加 my_var我们可以使用 "incl %0" 而不是 "decl %0"。
Points to note here are that (i) my_var is a variable residing in memory. (ii) cond is in any of the registers eax, ebx, ecx and edx. The constraint "=q" guarantees it. (iii) And we can see that memory is there in the clobber list. ie, the code is changing the contents of memory.
这里需要注意的点为imy_var 是一个存储于内存的变量。iicond 位于任何一个寄存器 eax、ebx、ecx、edx。约束 "=q" 保证这一点。iii同时我们可以看到 memory 位于修饰寄存器列表中。也就是说,代码将改变内存中的内容。
3. How to set/clear a bit in a register? As next recipe, we are going to see it.
3. 如何置1或清0寄存器中的一个比特位。作为下一个诀窍我们将会看到它。
> `
>
@ -509,9 +508,9 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
Here, the bit at the position pos of variable at ADDR ( a memory variable ) is set to `1` We can use btrl for btsl to clear the bit. The constraint "Ir" of pos says that, pos is in a register, and its value ranges from 0-31 (x86 dependant constraint). ie, we can set/clear any bit from 0th to 31st of the variable at ADDR. As the condition codes will be changed, we are adding "cc" to clobberlist.
这里ADDR 变量(一个内存变量)的 'pos' 位置上的比特被设置为 1。我们可以使用 'btrl' 来清楚由 'btsl' 设置的比特位。pos 的约束 "Ir" 表明 pos 位于寄存器并且它的值为 0-31x86 相关约束)。也就是说,我们可以设置/清除 ADDR 变量上第 0 到 31 位的任一比特位。因为条件码会被改变,所以我们将 "cc" 添加进修饰寄存器列表。
4. Now we look at some more complicated but useful function. String copy.
4. 现在我们看看一些更为复杂而有用的函数。字符串拷贝。
> `
>
@ -535,9 +534,9 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
The source address is stored in esi, destination in edi, and then starts the copy, when we reach at **0**, copying is complete. Constraints "&S", "&D", "&a" say that the registers esi, edi and eax are early clobber registers, ie, their contents will change before the completion of the function. Here also its clear that why memory is in clobberlist.
源地址存放于 esi目标地址存放于 edi同时开始拷贝当我们到达 **0** 时,拷贝完成。约束 "&S"、"&D"、"&a" 表明寄存器 esi、edi和 eax 早期的修饰寄存器,也就是说,它们的内容在函数完成前会被改变。这里很明显可以知道为什么 "memory" 会放在修饰寄存器列表。
We can see a similar function which moves a block of double words. Notice that the function is declared as a macro.
我们可以看到一个类似的函数,它能移动双字块数据。注意函数被声明为一个宏。
> `
>
@ -558,9 +557,9 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
Here we have no outputs, so the changes that happen to the contents of the registers ecx, esi and edi are side effects of the block movement. So we have to add them to the clobber list.
这里我们没有输出,所以寄存器 ecx、esi和 edi 的内容发生改变,这是块移动的副作用。因此我们必须将它们添加进修饰寄存器列表。
5. In Linux, system calls are implemented using GCC inline assembly. Let us look how a system call is implemented. All the system calls are written as macros (linux/unistd.h). For example, a system call with three arguments is defined as a macro as shown below.
5. 在 Linux 中,系统调用使用 GCC 内联汇编实现。让我们看看如何实现一个系统调用。所有的系统调用被写成宏linux/unistd.h。例如带有三个参数的系统调用被定义为如下所示的宏。
> `
>
@ -581,10 +580,10 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
Whenever a system call with three arguments is made, the macro shown above is used to make the call. The syscall number is placed in eax, then each parameters in ebx, ecx, edx. And finally "int 0x80" is the instruction which makes the system call work. The return value can be collected from eax.
Every system calls are implemented in a similar way. Exit is a single parameter syscall and lets see how its code will look like. It is as shown below.
无论何时调用带有三个参数的系统调用,以上展示的宏用于执行调用。系统调用号位于 eax 中,每个参数位于 ebx、ecx、edx 中。最后 "int 0x80" 是一条用于执行系统调用的指令。返回值被存储于 eax 中。
每个系统调用都以类似的方式实现。Exit 是一个单一参数的系统调用,让我们看看它的代码看起来会是怎样。它如下所示。
> `
>
> * * *
@ -601,23 +600,23 @@ Now we have covered the basic theory about GCC inline assembly, now we shall con
>
> `
The number of exit is "1" and here, its parameter is 0\. So we arrange eax to contain 1 and ebx to contain 0 and by `int $0x80`, the `exit(0)` is executed. This is how exit works.
Exit 的系统调用号是 1 同时它的参数是 0。因此我们分配 eax 包含 1ebx 包含 0同时通过 `int $0x80` 执行 `exit(0)`。这就是 exit 的工作原理。
* * *
## 8. Concluding Remarks.
## 8. 结束语
This document has gone through the basics of GCC Inline Assembly. Once you have understood the basic concept it is not difficult to take steps by your own. We saw some examples which are helpful in understanding the frequently used features of GCC Inline Assembly.
这篇文档已经将 GCC 内联汇编过了一遍。一旦你理解了基本概念,你便不难采取自己的行动。我们看了许多例子,它们有助于理解 GCC 内联汇编的常用特性。
GCC Inlining is a vast subject and this article is by no means complete. More details about the syntaxs we discussed about is available in the official documentation for GNU Assembler. Similarly, for a complete list of the constraints refer to the official documentation of GCC.
GCC 内联是一个极大的主题,这篇文章是不完整的。更多关于我们讨论过的语法细节可以在 GNU 汇编器的官方文档上获取。类似地,对于一个完整的约束列表,可以参考 GCC 的官方文档。
And of-course, the Linux kernel use GCC Inline in a large scale. So we can find many examples of various kinds in the kernel sources. They can help us a lot.
当然Linux 内核 大规模地使用 GCC 内联。因此我们可以在内核源码中发现许多各种各样的例子。它们可以帮助我们很多。
If you have found any glaring typos, or outdated info in this document, please let us know.
如果你发现任何的错别字,或者本文中的信息已经过时,请告诉我们。
* * *
## 9. References.
## 9. 参考
1. [Brennans Guide to Inline Assembly](http://www.delorie.com/djgpp/doc/brennan/brennan_att_inline_djgpp.html)
2. [Using Assembly Language in Linux](http://linuxassembly.org/articles/linasm.html)
@ -628,6 +627,6 @@ If you have found any glaring typos, or outdated info in this document, please l
* * *
via: http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html
作者:[Sandeep.S](mailto:busybox@sancharnet.in) 译者:[](https://github.com/) 校对:[]()
作者:[Sandeep.S](mailto:busybox@sancharnet.in) 译者:[cposture](https://github.com/cposture) 校对:[]()
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,135 @@
替代 Copy 的 Linux 最佳云服务
===============================================
![](http://itsfoss.com/wp-content/uploads/2016/02/Linux-cloud-services.jpg)
云存储服务 Copy 即将关闭,我们 Linux 用户是时候该寻找其他优秀的** Copy 之外的 Linux 云存储服务**。
全部文件将会在 2016年5月1号 被删除。如果你是 Copy 的用户,你应该保存你的文件并将它们移至其他地方。
在过去的两年里Copy 已经成为了我最喜爱的云存储。它为我提供了大量的免费空间并且带有桌面平台的原生应用程序,包括 Linux 和移动平台如 iOS 和 Android。
对我来说它是一个非常棒的云存储在应用中我获得了大量的免费存储空间380 GB并且享受着桌面系统和移动系统之间的无缝体验。但是这些'方便免费的存储'15 GB 为注册5 GB 为每次推荐,使我想到如果 Copy 没有获得商业用户,他们将会马上停业。如此巨大的免费存储空间仅意味着他们没有像 Dropbox 所做的一样针对个别用户。
当我从 Copy.com 看到它即将关闭的消息我的担忧成真了。事实上Copy 并不孤独。它的母公司 [Barracuda Networks](https://www.barracuda.com/)正经历一段困难时期并且已经[雇佣 Morgan Stanely 寻找 合适的卖家](http://www.bloomberg.com/news/articles/2016-02-01/barracuda-networks-said-to-work-with-morgan-stanley-to-seek-sale)(s)
无论什么理由,我们所知道的是 Copy 将会成为历史,我们需要寻找相似的**优秀的 Linux 云服务**。我之所以强调 Linux 是因为其他流行的云存储服务,如[微软的OneDrive](https://onedrive.live.com/about/en-us/) 和 [Google Drive](https://www.google.com/drive/) 都没有提供本地 Linux 客户端。这是微软预计的事情,但是谷歌对 Linux 的冷漠令人震惊。
## Linux 下 Copy 的最佳替代者
现在,作为一个 Linux 存储,在云存储中你需要什么?让我们猜猜:
- 大量的免费空间。毕竟,个人用户无法每月支付巨额款项。
- 原生的 Linux 客户端。因此你能够使用提供的服务,方便地同步文件,而不用做一些特殊的调整或者定时执行脚本。
- 其他桌面系统的客户端,比如 Windows 和 OS X。便携性是必要的并且同步设备间的文件是一种很好的缓解。
- Android 和 iOS 的移动应用程序。在今天的现代世界里,你需要连接所有设备。
我不将自托管的云服务计算在内,比如 OwnCloud 或 [Seafile](https://www.seafile.com/en/home/) ,因为它们需要自己建立和运行一个服务器。这不适合所有想要类似 Copy 的云服务的家庭用户。
让我们看看可以用于替代 Linux 下 Copy.com 的服务有什么。
## Mega
![](http://itsfoss.com/wp-content/uploads/2016/02/Mega-Linux.jpg)
如果你是一个 Its FOSS 的普通读者,你可能已经看过我之前的一篇有关[Mega on Linux](http://itsfoss.com/install-mega-cloud-storage-linux/)的文章。这种云服务由[Megaupload scandal](https://en.wikipedia.org/wiki/Megaupload) 公司下臭名昭著的[Kim Dotcom](https://en.wikipedia.org/wiki/Kim_Dotcom)提供。这也使一些用户怀疑它,因为 Kim Dotcom 已经很长一段时间成为美国当局的目标。
Mega 拥有方便免费云服务下你所期望的一切。它给每个个人用户提供 50 GB 的免费存储空间。提供Linux 和其他平台下的原生客户端,并带有端到端的加密。原生的 Linux 客户端运行良好,可以无缝地跨平台同步。你也能在浏览器上查看操作你的文件。
### 优点:
- 50 GB 的免费存储空间
- 端到端的加密
- Linux 和其他平台下的原生客户端,例如 WindowsMac OS XAndroidiOS
### 缺点:
- Mega 拥有者见不得人的过去
[Mega](https://mega.nz/)
## Hubic
![](http://itsfoss.com/wp-content/uploads/2016/02/hubic.jpeg)
Hubic 是一个来自法国公司的云服务。Hubic 在注册时也提供了 25 GB 免费存储空间。你可以通过推荐Hubic给朋友将空间扩大至 50 GB (对免费用户来说)。
Hubic 提供 Linux 客户端,其还是 beta 版本至今已经两年了。Hubic 拥有官方的 Linux 客户端,但是它局限在命令行。我没有去测试移动版本。
Hubic 拥有一些不错的功能。除了简单的用户界面、文件共享等等,它还有备份的功能,你可以定期地归档你的重要文件。
### 优点:
- 25 GB 免费存储空间,可扩大至 50 GB
- 支持多个平台
- 备份功能
### 缺点:
- beta 版本的 Linux 客户端,只支持命令行
[Hubic](https://hubic.com/)
## pCloud
![](http://itsfoss.com/wp-content/uploads/2016/02/pCloud-Linux.jpeg)
pCloud 是另一款欧洲的发行软件但这一次从瑞士横跨法国边境。专注于加密和安全pCloud 为每一个注册者提供 10 GB 的免费存储空间。你可以通过邀请好友、在社交媒体上分享链接等方式将空间增加至 20 GB。
它拥有云服务的所有标准特性例如文件共享、同步、选择性同步等等。pCloud 也有跨平台原生客户端,当然包括 Linux。
Linux 客户端 容易使用,并在 Linux Mint 17.3 下的有限测试中表现良好。
### 优点:
- 10 GB 免费存储空间,可扩大至 20 GB
- 运行良好的带有 GUI 的 Linux 客户端
### 缺点:
- 加密是一个付费功能
[pCloud](https://www.pcloud.com/)
## Yandex Disk
![](http://itsfoss.com/wp-content/uploads/2016/02/Yandex.jpg)
俄罗斯互联网巨人 Yandex 拥有 Google 所拥有的一切东西。搜索引擎、分析学、网站管理工具、邮箱、网页浏览器和云存储服务。
Yandex Disk 在注册时提供了 10 GB 的免费云存储空间。它有多平台的原生客户端,包括 Linux。然而官方的 Linux 客户端只是命令行而已。你可以获取[非官方的 GUI 版本的 Yandex Disk 客户端](https://mintguide.org/tools/265-yd-tools-gui-indicator-for-yandexdisk-free-cloud-storage-in-linux-mint.html)。Yandex Disk 支持文件共享链接,同时带有其他标准的云存储特性。
### 优点:
- 10 GB 的免费存储空间,可通过推荐的方式扩大至 20 GB
### 缺点:
- 只有命令行客户端
[Yandex Disk](https://disk.yandex.com/)
## 公正而深思熟虑的删节
我从列表中删减了[Dropbox](https://www.dropbox.com/)、[SpiderOak](https://spideroak.com/)。Dropbox 对 Linux 来说非常优秀,但是它的免费存储空间限制在 2 GB。在过去的几年里我已设法将其扩大超过 21 GB但那又是另一件事了。
SpiderOak 也仅提供了 2 GB 的免费存储空间,你无法在网页浏览器上操作文件。
OwnCloud 需要属于自己的服务器包括建立,因此它并非人见人爱。并且它确切不符合一个典型云服务的标准。
## 结论
如果你问我应该使用什么替代 Copy我的答案是 Mega。它带有大量的免费云存储空间和优秀的 Linux 客户端。在** Linux 下最佳云存储服务**的列表中,你的选择是什么?你更喜欢哪一个呢?
------------------------------------------------------------------------------
via: http://itsfoss.com/cloud-services-linux/
作者:[ABHISHEK][a]
译者:[cposture](https://github.com/cposture)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/abhishek/