从入门到实践:Linux 基础学习(xshell)
接触 Linux 也有一段时间了,从最开始对着黑框框手足无措,到现在能熟练用命令完成日常操作,这个过程里踩过不少坑,也收获了很多实用经验。今天就整理一下 Linux 基础学习的核心内容,顺便聊聊自己的一些思考,希望能给刚入门的朋友一点参考。
先说说 Linux 的 “前世今生” 吧。其实 Linux 的起源和 UNIX 有着千丝万缕的联系,早在上世纪 60 年代,通用电器、贝尔实验室和麻省理工学院就开发了 Multics 系统,后来贝尔实验室的 Ken Tompson 和 Dennis Ritchie 在这个基础上搞出了 UNIX。不过早期 UNIX 版本混乱,直到 1991 年,赫尔辛基大学的学生 Linus Torvalds 发布了 Linux 0.02 版本,这个开源的类 UNIX 系统才慢慢走上正轨。现在我们用的 Linux,严格来说 “Linux” 指的是内核,而平时用的完整系统是内核加上 GNU 工具链、GUI 组件等组成的,这一点刚开始学的时候很容易混淆,后来查了很多资料才搞明白。
说到开源,这可是 Linux 的灵魂。它遵循 GNU GPL 协议,任何人都能获取源代码、修改甚至再发布,这也是 Linux 能快速发展的重要原因。不像 Windows 那样闭源,Linux 的开源生态让全球开发者都能参与进来,不断完善系统功能。我自己就试过在 GitHub 上看一些 Linux 相关工具的源码,虽然很多地方还看不懂,但这种开放的氛围真的很吸引人 —— 你不仅是使用者,还能成为参与者。
再聊聊 Linux 的应用场景。现在服务器领域里,Linux 的占比已经超过 75%,政府、金融、电信这些关键领域几乎都在用水深火热地用它,稳定性和安全性确实没话说。不过桌面领域它还有差距,虽然国内有中标麒麟、深度 Linux,国外有 Ubuntu,但在易用性、软硬件兼容性上,和 Windows 比还是差点意思,我家里的电脑装过 Ubuntu,偶尔会遇到打印机连不上、软件找不到的问题,日常办公还是得切回 Windows。
但移动嵌入式和云计算领域,Linux 简直是 “王者”。我们每天用的 Android 手机,底层就是 Linux 内核;路由器、智能电视里也藏着定制版 Linux;云计算平台更是离不开它,86% 的企业用 Linux 搭建大数据、云计算系统。之前在学校做云计算实验,用 CentOS 搭建 Hadoop 集群,全程命令行操作,虽然一开始觉得麻烦,但熟悉后发现效率特别高,这也让我明白为什么企业级应用都偏爱 Linux。
接下来是实操部分,这也是 Linux 学习的核心。首先得说说远程登录,工作中几乎没人用 Linux 图形界面,都是用 XShell 远程连接。这里有个小技巧,下载 XShell 时选 “home/school” 版本是免费的,登录时用ssh [IP地址],复制粘贴要按Ctrl+Insert和Shift+Insert,刚开始总习惯用Ctrl+C/V,踩了好多次坑才记住。
然后是常用命令,这部分得下功夫记,但不用死记硬背,多用几次自然就熟了。比如ls命令,ls -a能看隐藏文件,ls -l能看详细信息,ls -al组合起来用最频繁;cd命令里,cd ~能快速回到家目录,cd -能切换到上一个目录,这些小细节能省不少时间。还有文件操作命令,touch创建文件、mkdir -p递归建目录、rm -rf删除文件(这个命令一定要小心,删错了可找不回来,我之前误删过实验文件,还好有备份)。
查看文件内容的命令里,cat适合看小文件,more和less适合大文件,less还能上下翻页、搜索内容,比more好用太多;head -n看前 n 行,tail -n看后 n 行,之前做日志分析时,用tail -f实时查看日志更新,特别方便。
权限管理是 Linux 的重点,也是难点。Linux 用户分 root 和普通用户,root 权限最大,命令提示符是#,普通用户是$。文件访问者分所有者(u)、同组用户(g)、其他用户(o),权限有读(r/4)、写(w/2)、执行(x/1)。修改权限用chmod,比如chmod 755 file,就是给所有者读读写执行权限,同组和其他用户读和执行权限。这里有个容易忽略的点:目录的执行权限很重要,没有 x 权限就进不去目录,哪怕有 r 权限也不行;还有粘滞位,给目录加chmod +t后,只有 root、目录所有者和文件所有者能删除文件,之前做实验时,没加粘滞位导致普通用户能删 root 的文件,加了之后就正常了,这也让我意识到权限管理对系统安全有多重要。
最后说说 shell 的作用,刚开始以为 shell 就是命令行,后来才明白它是 “翻译官”—— 把我们输入的命令翻译成内核能懂的语言,再把内核的处理结果反馈给我们。就像生活里的媒婆,连接着我们和内核。平时用的 bash 就是最常见的 shell,熟悉 shell 后,还能写脚本自动化操作,比如批量处理文件、定时任务,这也是 Linux 高效的原因之一。
学习 Linux 的过程,其实是培养一种 “命令行思维”。刚开始会觉得不如图形界面直观,但熟悉后会发现命令行更灵活、更高效。现在我遇到问题,第一反应不是找图形界面的按钮,而是查命令怎么用。当然,学习过程中肯定会遇到很多问题,比如记不住命令参数、权限设置出错,这时候多查man手册(比如man ls看 ls 命令的用法)、多动手实验,慢慢就能掌握。
Linux 的世界很大,基础指令只是入门,后面还有 shell 脚本、内核原理、服务配置等内容等着探索。但打好基础很重要,这些基础指令和概念,就像盖房子的砖头,只有把砖头垒结实了,才能盖起高楼大厦。希望这篇笔记能帮到和我一样刚入门 Linux 的朋友,也欢迎大家一起交流学习心得,共同进步。
