linux学习教程

装Linux的学习教第一件事,不是学习教背命令,是学习教搞清楚你面前这个黑乎乎的终端到底在干什么。很多人卡在“ls、学习教cd、学习教mkdir”背了一堆,学习教换个目录还是学习教懵,因为没弄明白Linux的学习教文件系统是一棵树。所有东西挂在根目录“/”下面,学习教/home是学习教你家,/etc放配置,学习教/var放日志,学习教/bin放常用命令。学习教就这么简单。学习教你把自己的学习教文件扔在/home/你的用户名/下面,剩下的目录别乱动,除非你知道自己在干什么。

我见过太多人上来就装Arch或者Gentoo,然后花三天修驱动,最后放弃。别这么干。先用Ubuntu或者Linux Mint,装完能上网、能看视频、能敲代码,再去折腾别的。虚拟机也行,VirtualBox免费,装坏了删掉重来,成本为零。我自己的第一台Linux是Ubuntu 12.04,装在旧笔记本上,无线网卡不认,用有线网撑了两周才搞定。那两周学到的东西比看十本书都多。

命令行是绕不过去的。但别把它当成什么高深技能,本质上就是你打字告诉电脑做什么,跟点鼠标一个道理,只是效率高得多。比如你要把当前目录下所有.txt文件里的“foo”替换成“bar”,图形界面得一个个打开改,命令行一行搞定:sed -i 's/foo/bar/g' *.txt。刚开始记不住参数没关系,man sed查手册,或者sed --help看简版。用多了自然记住。

权限这块是新手最容易翻车的地方。Linux里每个文件都有属主和权限位,ls -l看到的那串“-rw-r--r--”就是。r是读,w是写,x是执行。三个一组,分别对应属主、属组、其他人。你改配置文件改不动,多半是权限不够,sudo临时提权或者chmod改权限。但别动不动就sudo chmod 777,那是把家门钥匙插在锁上还贴个纸条说“随便进”。我见过有人把整个/var目录改成777,结果系统服务全挂。

包管理是另一个分水岭。Debian系用apt,Red Hat系用dnf或yum,Arch用pacman。装软件别去网上找exe或者tar.gz手动编译,先apt search一下,大概率仓库里就有。sudo apt install nginx比你去官网下源码再./configure && make && make install快得多,而且卸载干净。apt remove再加个--purge,配置文件一起删。手动编译的软件,过半年你都不记得装在哪了。

脚本是Linux真正好玩的地方。你把一堆命令写进一个文件,chmod +x给它执行权限,就能像程序一样跑。比如每天备份网站目录,写个三行的脚本扔进crontab,0 3 * * * /home/you/backup.sh,凌晨三点自动执行。不用学得多深,变量、循环、if判断,够你应付日常重复劳动了。我有个脚本用来批量重命名照片,按EXIF日期整理到对应文件夹,省了我几百次鼠标点击。

遇到问题怎么办?先看日志。/var/log/syslog或者journalctl -xe,报错信息通常就在最后几行。然后搜索引擎,把错误信息原样粘贴进去,加个“ubuntu”或者“centos”。别用中文搜,英文结果质量高一个档次。Stack Overflow和Arch Wiki是两个宝库,后者尤其详细,就算你不用Arch也能参考。实在搞不定,去论坛发帖,贴出你的操作步骤和完整报错,别只说“我的Linux坏了”。

学Linux没有捷径,但也不需要头悬梁锥刺股。每天用一点,遇到问题解决一个问题,三个月后回头看,你会发现那些曾经让你抓狂的配置文件和命令行参数,已经变成肌肉记忆了。关键是别怕弄坏,虚拟机快照一恢复,又是一条好汉。