1. 不要当“传教士”
很多人在讨论区不断的引起 "Linux vs. Windows" 之类的讨论,甚至争的面红耳赤,这是没有必要的。
这种争论是浪费时间而没有任何用处的。对,你花了一下午,用许多事实“捍卫”了 “Linux 比 Windows 好” 这个说法。但是 Windows 的支持者并不会喜欢上 Linux,他们只是稍微退缩一下,然后找一些新的证据来跟你辩论。
世界上的人们都在利用 Linux 研究最前沿的科学,我们还在这里讨论 “要不要用 Linux” 这种无聊的问题,什么时候才能赶上时代前进的步伐?
什么叫做“Windows 支持者”,什么叫做“Linux 支持者”?我们为什么要支持某一个而反对另外一个?你不需要为 Linux “囗囗”,不需要成为“Linux 支持者”或者“GNU传教士”,GNU/Linux 已经用事实向世界证明了它们的威力,已经被大多数人接受。你只需要安安静静享受 GNU/Linux 给你的乐趣和自由。
你需要关心的不是你的工具是什么,而是你用它做了什么。精通 Linux 并不说明任何问题,因为它只是一个工具而已。如果你用 Windows 能很好的完成你的任务,那你就没有必要费时间去熟悉 Linux。直到有一天你发现一项任务只有 Linux 才能完成的时候再换也不迟,因为你身边的 Linux 的爱好者一定会很乐意的帮助你。
工具不是人,不应该对工具有感情。这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome, FVWM 和 KDE;Mutt 和 Pine …… 一定要冷静的对自己说:“我不站在它们任何一边,因为它们不是人。”
各人的需要不同,生活的环境不同。对你来说好的东西,对别人来说不一定好,我们需要尊重别人的选择。如果你当面说别人正在用的程序不好,没有人会乐意接受你的意见。我从来没有建议过我爸爸不用 Windows + WPS,而用 Linux + LaTeX 来处理他的英语试卷。因为 WPS 是我爸爸的选择,他能用 WPS 编辑出很好的试题去测试他的学生,那就足够了。
我曾经帮我爸爸做了一个 perl 程序,能够自动从一种我自己设计的 markup 语言转化成 LaTeX 格式的英语试卷。可以自动对试题编号,乱序排版选择题的选项,自动生成答案表,生成老师用的显示答案的版本,自动对短文改错题进行优化分段,自动拼写检查,图形化的配置方式…… 我爸爸高兴的用了一段时间,可是后来他想用 WPS 里的一种标题样式,而我不在家,无法为他修改程序。所以他又换回了 WPS。这就像有人送爱因斯坦一罐剃须泡沫一样,刚开始几天,发现他神采飞扬,不断夸这个东西真舒服。过了几天,发现爱因斯坦又开始用白水剃胡子了,因为剃须泡沫用完了,他懒得自己去买那个东西。这只是习惯问题。
2. 不要强迫自己
喜欢电脑的人总是有某些心理强迫倾向。有的人说:“键盘比鼠标快。我不要用鼠标。这样才有高效率。” 所以他在编辑器里无论什么时候总是用 20w, 10j 这样的命令到达目的点。他甚至觉得图形界面是多余的,干脆 Xwindow 都不装。
全部用键盘看起来的确比让手离开键盘去拿鼠标,再回来“快” 多了,但是快的击键频率不等于工作的高效率,对你的健康更没有什么好处。这只能把你变成打键盘的机器。
当你正在检查你的文章或者程序,思维正在随着字符的含义流动,突然 20w, 10j 这样的东西出现在你的脑子里,是不是会打断思路?不?那说明你当时思考的问题比较简单,这些干扰还不会起到副作用。
其实很多人用电脑的时候,思想都受到某种教条的束缚,上面这个只是众多教条中的一种。某些人制造了很多这种教条,用他的工作方式来要求别人,嘲笑方式跟他不一样的人。比如有的人嘲笑其它人写 C 程序不按 8 字符缩进,嘲笑别人在 vi 里用方向键,嘲笑别人不知道 PVM 是什么,嘲笑其它人用 JAVA, C# 这种由 GC 回收内存语言……
你不用管各种各样的教条,电脑只是你的奴隶,你想怎么用就怎么用。没有人能够约束你,没有人可以嘲笑你的工作方式。电脑明天就不再是这个样子,所以今天你不用完全了解它。你没有必要知道别人创造的一切,因为你需要留点时间自己创造些东西。Just have fun!
当你下次修改文章的时候,不妨试试悠闲的用鼠标在你眼睛看到的地方轻轻点一下。
3. 不要“玩 Linux”
很多人用 Linux 的时候会感觉很迷茫,该用哪个发行呢?是不是我少装了什么?怎么升级这么快啊!怎么这么不稳定!每当遇到新的软件他就想试用,每当新的版本出现,他就更新,然后用鼠标在新的菜单里选择从来没见过的程序来用用。
其实你是为了Linux而使用Linux,而没有找到正确的理由来利用 Linux。你首先要明确用电脑的目的,你用它是为了解决你的实际问题,而不是为了学习安装操作系统,不是为了测试哪个版本好用,不是为了“赶上潮流”,更不是因为你硬盘太大了,你想多占点空间。
如果你启动了电脑之后不知道应该干什么,那么最好先不要用电脑,因为你可能有更重要的事情需要做。
4. 不用挑剔发行版本
很多人刚开始用 Linux 的时候,总是在怀疑别的发行版本是否比自己正在用的这个好,总是怀疑自己以后时候会失去支持,不得不换用别的发行。所以很多人今天是 Redhat,明天又换成了 debian, 一会儿又是 gentoo, …… 甚至有的人在一台机器上装了两个版本的 Linux,然后比较哪一个好。
其实你完全没有必要这样做,任何发行,只要你熟悉了,你在上面的工作方式几乎是不会受到任何影响的。我以前一直用的 Redhat,当我有一天在我的一台新机器上安装 debian 时,我发现使用 Redhat 的经验完全没有浪费。我用了一个下午就配置好了 debian,使它服服贴贴的听我的话,就跟没有换发行一样。
Debian, TurboLinux, SuSE, Redhat, Gentoo, ... 任何一个版本都是不错的。很多人认为自己攒一个 LFS 是高水平黑客的象征,但是不是每个人都有精力去了解所有细节。
如果你是用于个人的日常事物和科研,可以试试 debian。它是我见过的最方便的一个发行。
5. 不要盲目升级
不知道这是心理作用还是什么,有的人看到比较大的版本号,就会很想换成那个。很多人的 Redhat 本来配置的很舒服了,可是一旦 Redhat 发行新的版本,他们就会尽快下载过来,然后选择升级安装。结果很多时候把自己原来修改得很好的配置文件给冲掉了。新的软件又带来了新的问题,比如有一次我的 rxvt 升级到 2.7.8 就跟 miniChinput 冲突了,升级到 Redhat 8.0,发现 xmms 居然缺省不能放mp3了,XFree86 的 xtt 模块在 I810 上有新的 bug,会导致 Mozilla 突然退出。
如果你已经配置好了一切,千万别再整体升级了,这会浪费你很多很多时间的,不值得。有句话说得好:"If it's not broken, don't fix it." 如果你的程序能够完成你需要做的事情,你何必升级呢?
6. 不要配置你不需要的东西
如果你只想做一个像我这样的普通用户,主要目的是用 Linux 来完成自己的科研任务和日常工作,那就可以不用系统管理员或者网络管理员的标准来要求自己,因为当一个系统和网络管理员确实很辛苦。普通用户学习那些不经常用到的复杂的维护系统的工具,其实是浪费时间,学了不用是会很快忘记的!
我不是一个合格的网络管理员,我的服务器都只设置了我自己需要的功能,设置好 ssh, ftp 已经足够了,那样可以省去我很多麻烦。我从来不过度考虑“安全”,因为 Linux 缺省已经很安全了。我没有磁带机,就不用管 tar 的那些稀奇古怪的参数了,czf, xzf, ztf 已经可以满足我所有的需要。sed, awk, ... 我也只会几种常用的命令行。
7. 不要习惯的使用 root 帐号。在需要的时候才 su!
这是很多刚接触 UNIX 类操作系统的人常见的现象,他们不喜欢在管理系统的时候才 su, 而是一直用 root 帐号干所有事情,配置系统,安装程序,浏览网页,玩游戏,编程 ……
结果有一天,他不小心在某个系统目录使用了 rm * ... 后果不堪设想……
8. 不要用商业的眼光来看 Linux。
Linux 不是商业软件,所以不要用要求 Solaris, Windows 那样的眼光来看 Linux. 自由软件的作者们从来不拉拢用户,他们对用户不负有任何责任。实际上在自由软件的世界里,“开发者”和“用户” 并没有明确的界限,大家是朋友。
自由软件很可能只是满足作者和他的朋友的需要,甚至是为了好玩而创造的。自由软件不是完美的,自由软件承认自己有缺点,它不会自吹自擂,蒙蔽“用户”的耳目。这种对作者责任的解脱激发了作者的创造力,他们不用过分考虑“向上兼容”,他们往往比背上重重包袱的商业软件结构更合理,技术更先进。
所以当你用某个自由软件遇到困难的时候,不应该埋怨软件的作者,因为他们对你并没有义务。你不应该把自己当成一个挑剔的顾客,而要把自己作为这个软件的顾问和一个和蔼的建议者,这样你才能理解作者写这个程序时的快乐,在遇到问题时向作者反映,帮助他完善这个软件,成为一个快乐的参与者。就像你的哥哥送你一个他用旧了的自行车,你应该珍惜这份友情,而不要在车坏了,或者骑车摔了一交的时候大骂你的哥哥。如果你真的不能使用这种合作的心态,那么最好不要使用这个软件。
这是一种先进的文化,它包含了互相合作,科学创新的精神。理解这一点不是很容易,很多人往往是因为不能理解这种文化而离开自由软件。这对于作者来说并没有什么损失。
9. 干你的正事去
很多人跟我说,你的网页浪费我好多时间来配置这配置那,一会儿是 FVWM,一会儿是 Mutt ……
嗯……那些东西都是我有空的时候一点一点积累的,如果你想一次性搞定所有那些东西,恐怕得花你几个星期甚至几个月的时间!并不是一定要搞定所有这些东西你才能正常工作的。除非你真的非得利用某个程序,或者你闲着没事,否则你可以不管这些东西。
10. 上面几条仅供参考
以上只是个人意见,不一定适合所有人。取舍由你了!
分享到:
相关推荐
### 学习Linux的几点忠告 #### 一、理解Linux与Windows的区别 在学习Linux的过程中,首先要明白Linux与Windows的本质区别。虽然两者都是操作系统,但它们的设计理念、使用方式及适用场景大相径庭。例如,Windows...
内容概要:本文详细介绍了基于STM32F103和F405的四轴步进电机控制系统源码。主要内容涵盖定时器配置、相对运动、绝对运动、回原点以及梯形加减速控制的实现方法。文中对比了两款芯片在性能和代码实现上的差异,强调了硬件选型对控制效果的影响。此外,还讨论了梯形加减速的具体实现步骤及其重要性,绝对和相对运动模式的实现逻辑,以及回原点的不同实现方案。最后,文章提到了一些调试技巧和注意事项,如使用DMA减轻CPU负担、避免浮点运算带来的误差等。 适合人群:具有一定嵌入式开发经验的研发人员,尤其是对STM32和步进电机控制感兴趣的工程师。 使用场景及目标:适用于需要进行多轴步进电机控制的工程项目,如CNC机床、3D打印设备等。目标是帮助开发者理解和掌握STM32在步进电机控制方面的应用,提高系统的稳定性和效率。 其他说明:文中提供了大量代码片段作为实例,便于读者更好地理解具体实现。同时,作者分享了许多实践经验,有助于解决实际开发过程中可能遇到的问题。
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文深入探讨了酷信即时通讯应用在2022年的技术创新,涵盖多个关键技术点。首先介绍了TIO版本从3.2.8升级到3.6.2所带来的显著性能提升,特别是在消息推送方面的优化,如引入消息队列机制,提高了消息推送的稳定性和效率。其次讨论了文件存储解决方案的选择,酷信摒弃传统的FastDFS,转向MinIO,实现了更简便的部署和更高的稳定性。最后强调了酷信通信端代码的全面开源,允许开发者参与改进,形成了良好的技术生态系统。此外,文中还展示了具体的代码示例,帮助读者更好地理解和应用这些技术。 适合人群:对即时通讯技术和分布式系统感兴趣的软件工程师和技术爱好者。 使用场景及目标:适用于希望深入了解即时通讯系统内部运作机制的人士,尤其是关注高性能、高可靠性和可扩展性的技术人员。通过学习酷信的技术实现,能够为自身项目的架构设计提供有价值的参考。 其他说明:文章不仅限于理论讲解,还包括大量实用的代码片段,便于读者实践操作。同时,开源策略使得酷信成为了一个优秀的学习样本,鼓励更多的开发者参与到即时通讯领域的创新中来。
内容概要:本文详细介绍了利用LabVIEW进行Excel文件读取的方法,主要采用了状态机架构和ActiveX技术。状态机用于管理不同操作阶段之间的平滑过渡,而ActiveX则负责与Excel应用程序进行通信。文中展示了如何通过状态机实现Excel文件的初始化、打开、遍历Sheet页以及数据处理等功能,并强调了不依赖完整Office套装的特点。此外,还探讨了动态创建选项卡和表格控件的技术细节,以及使用引用传递减少内存占用的有效措施。同时,针对可能出现的问题提供了相应的解决办法,如确保Excel进程正确关闭和处理隐藏Sheet页的方式。 适合人群:对LabVIEW有一定了解并希望深入掌握其与外部软件(如Excel)交互能力的工程师和技术爱好者。 使用场景及目标:适用于需要频繁处理大量Excel数据的企业级应用场景,特别是在那些无法安装完整Office套件的环境中。通过本方案可以快速读取Excel文件内容并在LabVIEW界面上直观展示,提高工作效率。 其他说明:本文不仅提供了一种创新性的LabVIEW与Excel交互解决方案,而且对于状态机的设计思路也有详细的阐述,有助于读者更好地理解和应用这一重要概念。
移动端安全测试_虚拟化模拟器动态注入_多架构多版本指纹浏览器环境修改_通过底层配置修改和分布式测试实现浏览器指纹完美伪装与真机环境一致性验证的云计算级自动化测试平台_用于大规模移动
Screenshot_20250504_192300.jpg
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
智能穿戴设备开发_Flutter跨平台开发_Android_WearOS_智能手表应用_哔哩哔哩API接口调用_视频流媒体处理_用户界面适配_手势操作优化_在智能手表上实现哔哩哔哩
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
HChenX_AutoSEffSwitch_12888_1745869156796
iOS移动应用开发_Swift5UIKitAlamofireKingfisherSnapKit_百思不得姐API接口调用首页推荐段子图文视频播放评论互动用户中心
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
智能穿戴设备开发_Android_SDK_Geakwear_第三方开发者工具包_用于快速开发兼容Geakwear和Android_Wear的智能手表应用_包含数据通信_消息推送_健
内容概要:本文详细介绍了如何使用MATLAB进行OFDM和OTFS调制解调及其在高斯白噪声(AWGN)和频率选择性衰落信道下的性能仿真。文中涵盖了16QAM、QPSK调制,LDPC和Turbo信道编码的具体实现,并讨论了保护间隔(CP)和信道均衡(如ZF、MMSE)的方法。此外,还简要介绍了OTFS作为一种新兴调制技术的优势及其与时频域处理的区别。通过详细的代码示例和理论解释,展示了不同调制方式、编码技术和信道条件下误比特率(BER)的变化情况。 适合人群:通信工程专业的学生、研究人员以及从事无线通信系统开发的技术人员。 使用场景及目标:①理解和掌握OFDM和OTFS的基本原理和技术细节;②评估不同调制方式、信道编码和信道条件对通信系统性能的影响;③为实际通信系统的优化设计提供参考依据。 其他说明:附带完整的MATLAB代码包,包括OFDM/OTFS发射接收链、多径信道模型、多种均衡器实现和BER测试框架等,便于读者动手实践。
内容概要:本文深入探讨了Linux内核开发调试方法框架,全面覆盖了从前期准备到具体调试工具和技术的应用。文章首先介绍了Linux内核的重要性及其开发挑战,强调了调试在内核开发中的关键作用。随后,详细阐述了调试前的必备工作,包括确认bug的存在、了解内核版本号、深入理解内核代码、确保bug可复现以及最小化系统。接着,文章介绍了内核调试配置选项,如“Magic SysRq key”和“Kernel debugging”等关键配置项,以及调试原子操作的设置。在引发bug与打印信息方面,讲解了BUG()和BUG_ON()宏、dump_stack()函数的作用,并深入解析了printk()函数的健壮性、局限性及LOG等级设定。文件系统如procfs、sysfs和debugfs在调试中的应用也被详细说明。最后,介绍了ftrace与trace-cmd、kprobe与systemtap、KGDB与KGT等调试工具和技术。; 适合人群:具备一定Linux基础知识和编程经验的研发人员,尤其是从事操作系统开发、内核优化或嵌入式系统开发的工程师。; 使用场景及目标:①帮助开发者在内核开发过程中快速定位和解决bug;②提升对内核代码的理解,掌握内核调试的常用工具和方法;③通过实际案例和具体技术手段,提高内核开发的效率和稳定性。; 其他说明:本文不仅提供了理论知识,还结合了大量实际案例和具体操作步骤,旨在帮助读者全面掌握Linux内核调试的精髓。随着技术的进步,未来内核调试有望借助AI和机器学习实现智能化和自动化,进一步提升调试效率。
电子商务平台_SpringBoot20_SpringCloudFinchley_SpringCloudAlibaba_微服务架构_RBAC权限管理_OAuth2认证_JWT令牌_
流媒体传输技术_RTMP客户端SDK_H264H265视频解码_跨平台音视频采集组件_全架构兼容性工具_支持WindowsLinuxAndroidiOSARM_提供稳
# 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;