前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux 能替代 Windows 吗?

Linux 能替代 Windows 吗?

作者头像
龙哥
发布于 2021-08-05 03:28:21
发布于 2021-08-05 03:28:21
5.2K0
举报
文章被收录于专栏:Python绿色通道Python绿色通道

Linux 能用吗?

我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使用)?

Linux 有图形界面

文件管理器

这是我使用了近两年的“国产”操作系统 deepin ,界面美不美观我不知道,能用是肯定的。

支持日常开发

首先 Vim/Emacs 表示它们可以搞定,但是我觉得我和它们不熟。..

  • Java : Eclipse , IDEA , NetBeans , Android Studio ...
  • Python : PyCharm , WingIDE ...
  • C++ : KDevelop , Code Blocks ...
  • Php : PhpStorm ...
  • 前端 :Sublime , VS Code , WebStorm ...
  • ...

社交沟通没问题

居然还有 ICQ ...

囿于时间原因,这里使用了 deepin 商店截图 ,其他 linux 发行版不一定有这么丰富,不过安装qq、微信应该没问题

Linux 能替代 Windows 吗?

先列下本人日常使用的软件:

  • 开发:IDEA
  • 数据库:DBeaver , Navicat , PL/SQL
  • 沟通:TIM , 微信
  • 浏览器:谷歌,火狐,360
  • Office: WPS ,Microsoft office网页版
  • 音乐:网易云音乐
  • 输入法:搜狗输入法
  • 播放器:deepin自带的播放器,VLC
  • 编辑器:Sublime Text
  • 远程控制:TeamViewer,向日葵,VNC,Remmina
  • 下载:迅雷极速版,Aria2
  • 网盘:坚果云,百度网盘
  • MarkDown编辑器:Typora,Zettlr
  • 终端:deepin自带的(非常好用)
  • 思维导图:XMind ZEN
  • ftp:FileZilla
  • PDF:福熙阅读器
  • 虚拟机:VirtualBox,vmware
  • 游戏:Steam,Minecraft(我的世界)
  • Android APP:xDroid

这些只是我个人日常使用,还有很多优秀的软件没有列出来。至于能不能替代 Windows ,这个问题因人而异。对我而言,在两年的使用经历中,暂时没有遇到过 linux 下不能解决,必须回到 Windows 的。而且,实在不行不是还有虚拟机吗。

Linux 下运行 Android 应用

xDroid 使 Android 应用能运行在 linux 上,极大的扩展了 linux 生态。

是的,你没有看错,不是基于虚拟机或模拟器的,速度可观,占用资源小。这似乎是目前 Windows 都无法做到的。

运行截图

应用市场部分截图

Linux 有什么优势吗?

从一个系统迁移到另一个的系统成本是巨大的,Linux 有什么魅力值得我这么做吗?

Linux 是优雅的

当我在 Windows 下安装一个软件时,首先需要打开浏览器,搜索你想要的软件,小心翼翼的避开广告,当你找到一个看起来是对的网站时,还是得小心翼翼的找到 下载地址 之类而不是巨大的下载按钮,最后再小小翼翼的安装,一定不能漏掉某些勾勾,一旦一不小心漏掉了,就会发现电脑似乎有点卡顿,不一会儿,它的朋友就会出现在你的桌面上。

而在 linux 下,apt install 或者 yum install 之类的命令,就能搞定整个安装。

  • Linux 不需要选择软件是放 c 盘还是 d 盘,已经定义好了哪些文件该放在哪些地方,
  • 也不需要杀毒软件,
  • 也不需要清理垃圾,
  • 也不需要释放内存,
  • 也不需要激活系统,它是开源免费的,
  • 也不需要磁盘优化,
  • 也没有烦人的弹窗,
  • 也没有强制更新。

Linux 是高效的

这是 linux 最吸引我的地方了

命令行不是一种落后的操控计算机的方式。相反,它一直很高效且富有表达性。

当你想要复制、剪切或删除一个文件时,我相信打开文件管理器在不同窗口之间跳转是没有一条命令来得快。

当你想要查看系统运行状态,我相信移动鼠标,右键,选择任务管理器是没有一条命令来得快。

当你想要编写一个简单的脚本或文件时,我相信打开编辑器,新建文件,编写,选择文件位置保存是没有一条命令来得快。

...

鼠标是很好的工具,但是它有它的局限,毕竟它只有三个按钮。而命令行中使用参数的表达力是无穷的。

减少使用鼠标

通过命令行,浏览器的 Vimium 插件(类似于 Vim 的方式操作浏览器界面),Albert(通过指定按键唤出一个输入框,可以打开 app , 文件 ,url ,直接搜索 ,计算器 ...),系统快捷键再加上IDEA(它的设计思想是键盘优先)我能够很少的使用鼠标。

当然不是鼠标烫手,当你的双手在键盘上飞快的敲打时,直接使用键盘是比右手挪到鼠标上再挪回来要快的,而且这种不中断的体验非常舒畅。

至于这为什么是 linux 的优点,在我过去多年的 Windows 使用经验中,我没有找到自定义系统快捷键的入口,更不用说自定义宏了。Windows 当然也有命令行,不过我认为它的命令丰富程度和各个命令之间的配合是不如 linux 的(有人称之为附属品)。

减少重复劳动

我有一个文件夹,专门存放着我写的各式各样的脚本。大部分时候,你的问题市面上的软件都可以解决,但是当有一些细碎、独特、重复的小任务时。脚本能够帮你很好的解决这些。

比如,我有一个监控生产环境的脚本(其实应该是项目本身自带的),有一个OA守护脚本(其实就是监控我有没有写日报,没有的话发个短信提醒我),甚至还有一个定时发送微信的脚本...

这些脚本能一定程度的解决信息世界的重复劳动,让我更专注于具有创造性的工作上。

启动速度

在我的电脑上,无论是从系统启动速度,还是软件(IDEA,Chrome)启动速度都略胜 Windows 一筹。

使用经验所得,未有准确测试数据。不过IDEA是测过的,快了一秒多

内存占用

Linux 是自由的

上面的只说明了脚本带来的好处,并没有说明是在 linux 下带来。

因为只有 linux 才有这样的开放和可定制,你可以很容易的通过命令来修改系统配置和改变系统状态,甚至于修改内核代码,编译并使用它。

  • 假如不喜欢当前的桌面环境,可以轻易的通过命令来切换。
  • 假如喜欢 mac os ,可以通过网上的教程将 Ubuntu 改成一模一样(甚至包含开机 logo)。
  • 假如不喜欢系统自带的文件管理器,可以选择其他优秀的软件,比如 Nautilus。
  • 假如不喜欢当前终端,有太多选择了,我甚至用过一个模仿一部电影内出现的,极具极客风格的终端。

而相反,比如拿字体来说,在 linux 下我可以通过命令来安装和切换系统字体,而在 Windows 下没有这样的设置或者入口。暂时不太明白为什么这种选择的权利都没有。

而这些仅仅只是一些微不足道的例子。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python绿色通道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Callable/Future 使用及原理分析,Future .get()为啥能等待呢?
Callable/Future 和 Thread 之类的线程构建最大的区别在于,能够很方便的获取线程执行完以后的结果。首先来看一个简单的例子
源码之路
2020/09/04
5K0
Callable/Future 使用及原理分析,Future .get()为啥能等待呢?
创建线程都有哪些方式?— Callable篇
相信大家回答这个问题没什么难度吧?通常问完创建方式,那么接下来就是问「1、2」跟「3」创建方式的不同了,只要说出「3」有返回值基本这个问题就过了,不管是出于好奇还是疑惑,我们今天来会会这个Callable。
niceyoo
2020/07/26
8010
Java中的Runnable、Callable、Future、FutureTask的区别
Java中存在Runnable、Callable、Future、FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别。
开发者技术前线
2020/11/23
4700
Java并发编程之Future和FutureTask
搞过Java或者客户端Android开发的都知道,创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。不过,这2种方式都有一个缺陷,就是在执行完任务之后无法获取执行结果。
xiangzhihong
2022/11/30
3690
多线程设计模式 - Future模式之JAVA原生实现
JDK内置的Future设计模式主要使用到了Callable接口和FutureTask类。
JAVA日知录
2019/12/02
4040
Java 还有第三种创建多线程的方式?
我们在多线程编程中最常用的两种方式:一种是直接继承Thread,另外一种就是实现Runnable接口。这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。
互扯程序
2019/06/19
4830
高并发之——两种异步模型与深度解析Future接口
本文有点长,但是满满的干货,以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类,希望大家踏下心来,打开你的IDE,跟着文章看源码,相信你一定收获不小!
冰河
2020/10/29
5290
多线程 | FutureTask 执行流程
在 Java 中可以用来创建线程的方式很多,比如由 Java 提供的 Thread、Runnable 等。本文章来介绍使用 FutureTask 创建线程,以及其流程。
码农UP2U
2022/04/28
3060
J.U.C源码实战:Future编码实战与优缺点
在现代并发编程中,Java 的 Future 接口提供了一种处理异步计算结果的机制。Future 是 Java 5 中引入的 java.util.concurrent 包的一部分,用于表示一个任务的未来结果。随着应用程序需求的复杂化和多线程编程的普及,理解和运用 Future 变得尤为重要。本篇文章将深入探讨 Java 中 Future 的概念、使用方法及其在实际编程中的应用场景。通过学习这篇文章,读者将能够掌握如何使用 Future 接口进行异步操作,提升程序的性能和响应速度。此外,我们还将介绍与 Future 相关的其他关键类和接口,如 Callable 和 ExecutorService,以帮助读者全面了解并发编程的相关知识。无论你是刚接触 Java 并发编程的新手,还是希望深入理解和优化异步任务处理的开发者,这篇文章都将为你提供有价值的指导和参考。让我们一同开启对 Java Future 的学习之旅,探索并发编程的奥秘。
怒放吧德德
2024/06/23
1980
Future && FutureTask
线程的创建方式中有两种,一种是实现Runnable接口,另一种是继承Thread,但是这两种方式都有个缺点,那就是在任务执行完成之后无法获取返回结果,于是就有了Callable接口,Future接口与FutureTask类的配和取得返回的结果。
大学里的混子
2019/03/13
5540
FutureTask源码分析
FutureTask:一个可取消的异步任务执行类,这个类提供了Future接口的基本实现,主要有以下功能:
haifeiWu
2018/09/11
4140
FutureTask源码分析
线程池续:你必须要知道的线程池submit()实现原理之FutureTask!
FutureTask思维导图.png 前言 上一篇内容写了Java中线程池的实现原理及源码分析,说好的是实实在在的大满足,想通过一篇文章让大家对线程池有个透彻的了解,但是文章写完总觉得还缺点什
一枝花算不算浪漫
2020/06/01
2.1K0
(十一) J.U.C-FutureTask
FutureTask是J.U.C中的类,是一个可删除的异步计算类。这个类提供了Future接口的的基本实现,使用相关方法启动和取消计算,查询计算是否完成,并检索计算结果。只有在计算完成时才能使用get方法检索结果;如果计算尚未完成,get方法将会阻塞。一旦计算完成,计算就不能重新启动或取消(除非使用runAndReset方法调用计算)。
用户1212940
2022/04/13
2130
(十一) J.U.C-FutureTask
并发编程系列之FutureTask源码学习笔记
在上一章节的学习中,我们知道了Future类的基本用法,知道了Future其实就是为了监控线程任务执行的,接着本博客继续学习FutureTask。然后什么是FutureTask类?
SmileNicky
2021/09/08
3050
Future FutrueTask Callable类源码说明以及原理使用
  JDK内置的Future主要使用到了Callable接口和FutureTask类。
小勇DW3
2018/08/30
5630
Callable与Future介绍
在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以及线程通信的方式实现获得任务结果的目的。不过,Java中,也提供了使用Callable和Future来实现获取任务结果的操作。Callable用来执行任务,产生结果,而Future用来获得结果。
HLee
2021/10/13
1K0
Callable与Future介绍
FutureTask 核心源码解析
研究源码,一般我们都从整体以及实例先入手,再研究细节,不至于一开始就“深陷其中而"当局者迷".
用户7118337
2020/04/15
5350
刚研究完Callable和Future,各位随便问!!
在Java的多线程编程中,除了Thread类和Runnable接口外,不得不说的就是Callable接口Future接口了。使用继承Thread类或者实现Runnable接口的线程,无法返回最终的执行结果数据,只能等待线程执行完成。此时,如果想要获取线程执行后的返回结果,那么,Callable和Future就派上用场了。
冰河
2021/04/30
6810
【小家Java】Future与FutureTask的区别与联系
所谓异步调用其实就是实现一个可无需等待被调用函数的返回值而让操作继续运行的方法。在 Java 语言中,简单的讲就是另启一个线程来完成调用中的部分计算,使调用继续运行或返回,而不需要等待计算结果。但调用者仍需要取线程的计算结果。
YourBatman
2019/09/03
2.2K0
Java并发编程:如何创建线程?
在 Java 中创建线程的方式有两种:1)继承 Thread 类  2)实现 Runnable 接口 3)实现 FutureTask 接口 前两种方式创建的线程都无法获取线程的执行结果,而通过 FutureTask 方式实现的线程可以获取线程执行的结果。 一、继承Thread类 package com.chanshuyi.thread; public class ThreadDemo1 { public static void main(String[] args) { ne
陈树义
2018/04/13
7290
Java并发编程:如何创建线程?
推荐阅读
相关推荐
Callable/Future 使用及原理分析,Future .get()为啥能等待呢?
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • Linux 有图形界面
  • 文件管理器
  • 支持日常开发
  • 社交沟通没问题
  • Linux 能替代 Windows 吗?
  • Linux 下运行 Android 应用
  • Linux 有什么优势吗?
  • Linux 是优雅的
  • Linux 是高效的
    • 命令行不是一种落后的操控计算机的方式。相反,它一直很高效且富有表达性。
    • 减少使用鼠标
    • 减少重复劳动
    • 启动速度
    • 内存占用
  • Linux 是自由的
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档