🚀 30+款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度
1. 先搞清楚“一周学会Linux”到底要学什么
“一周学会Linux”听起来像是个速成口号,但如果你真打算用一周时间从零到能上手干活,那核心不是背下所有命令,而是快速建立一套能解决实际问题的“最小可行知识体系”。很多人一上来就抱着《Linux命令大全》硬啃,结果命令背了不少,遇到真实环境还是不知道从哪下手。
我更建议把这一周拆成三个阶段:第一天搞定系统安装和环境准备,中间三天掌握文件、文本和系统管理的核心命令,最后三天用一个小项目把这些命令串起来。这样学完,你至少能独立完成文件操作、日志查看、软件安装和简单的故障排查,这才是入门后能立刻用上的能力。
从输入的热搜词来看,大家最关心的确实是“系统安装”和“常用命令”。这很对路,因为装不上系统,一切都白搭;而命令是操作系统的“手”,不会用命令,图形界面能做的事非常有限。所以,这篇内容会围绕这两个核心,把零散的知识点串成一条清晰的、可执行的路径。我不会罗列所有命令,而是告诉你哪些命令组合起来能解决80%的常见问题,以及操作时最容易踩的坑在哪里。
2. 第一步:选对发行版和安装方式,别在起点卡住
安装Linux是第一个门槛,选错方式可能会让你在后续学习中平添很多麻烦。核心原则是:优先保证学习环境的稳定和可恢复性,而不是追求极致的性能或“原汁原味”。
2.1 发行版选择:新手无脑选Ubuntu
Linux发行版众多,但对于纯粹的新手,我的建议非常明确:首选Ubuntu LTS版本。原因有三点:
- 社区支持最广:你遇到的几乎任何问题,都能在网上搜到大量的中文教程和解决方案。
- 软件生态最全:无论是开发工具、桌面应用还是驱动,Ubuntu的兼容性通常最好。
- 安装最友好:安装向导清晰,默认配置合理,能让你快速进入学习状态。
像Arch Linux、Gentoo这类发行版,虽然能让你更深入地理解系统,但安装过程本身就是一道高墙,不适合“一周入门”的目标。Deepin、Elementary OS等桌面环境更漂亮的发行版可以作为后续的备选,但初期还是以降低学习阻力为主。
2.2 安装方式:强烈建议使用虚拟机
除非你有一台闲置的电脑,否则不要在主力机上直接安装Linux(即“裸机安装”)并与Windows/macOS组成双系统。初期不熟悉分区、引导等操作,极易导致主力系统崩溃或数据丢失。
虚拟机是最安全、最推荐的学习环境。它就像在你的电脑里模拟出另一台独立的电脑。
- 优势:环境隔离,玩坏了可以瞬间恢复快照;方便在Windows/macOS和Linux之间切换;可以同时运行多个不同版本的Linux。
- 工具选择:
- VirtualBox:免费、开源、跨平台(Windows、macOS、Linux都支持)。对于新手来说,功能完全够用,是入门首选。
- VMware Workstation Player:个人使用免费,性能和对新硬件的支持通常比VirtualBox稍好一些,但安装过程略复杂。
操作流程:
- 下载资源:先去Ubuntu官网下载最新的LTS版本ISO镜像文件(文件后缀是
.iso)。然后去VirtualBox或VMware官网下载并安装虚拟机软件。 - 创建虚拟机:打开虚拟机软件,点击“新建”。关键参数设置:
- 内存:至少分配2GB(2048 MB),有4GB或以上更好。
- 硬盘:选择“现在创建虚拟硬盘”,类型用默认的VDI或VMDK即可,大小建议30GB以上,选择“动态分配”(实际用多少占多少物理空间)。
- 处理器:分配1-2个CPU核心。
- 安装系统:启动新创建的虚拟机,它会提示你选择启动介质。这时,选择你下载的Ubuntu ISO文件。之后就会进入图形化的Ubuntu安装界面,跟着提示走(选择语言、键盘布局、时区、创建用户名密码等)。在“安装类型”这一步,对于虚拟机,直接选择“清除整个磁盘并安装Ubuntu”,不用担心,这只会清除虚拟机的虚拟硬盘,不会影响你真实的电脑。
注意:安装过程中如果卡在某个界面(比如“安装中…”进度条不动),很可能是虚拟机没有连接到网络,或者ISO文件下载不完整。可以先暂停,检查虚拟机的网络设置(通常选“网络地址转换NAT”即可),并重新下载ISO文件校验MD5值。
3. 核心命令实战:文件、文本与系统管理三板斧
系统装好,进入桌面后,第一件事是打开“终端”(Terminal)。所有的命令行操作都在这里进行。别被黑底白字的窗口吓到,你只需要先掌握下面这三组命令,就能完成大部分日常操作。
3.1 文件与目录操作:像在Windows资源管理器里一样导航
在Linux里,一切皆文件,所以文件操作是基础中的基础。记住这几个命令的组合:
pwd:打印当前工作目录。迷路时第一个要用的命令,告诉你“我在哪”。ls:列出目录内容。常用参数:ls -l:以长格式显示,能看到文件权限、所有者、大小、修改时间。ls -a:显示所有文件,包括隐藏文件(以.开头的文件)。ls -lh:以人类可读的格式(如K, M, G)显示文件大小。
cd:切换目录。cd ~回家目录,cd ..回上一级,cd -回上一个目录。mkdir:创建目录。mkdir new_folder。cp:复制。cp source_file destination。复制目录加-r参数。mv:移动或重命名。mv old_name new_name(重命名),mv file /some/path/(移动)。rm:删除。这个命令要慎用!删除文件用rm file,删除目录用rm -r directory。Linux默认没有回收站,删了就很难找回。新手可以先用rm -i(交互式删除,会询问确认)。
实战场景:你想在桌面创建一个叫project的文件夹,并在里面放一个备份的配置文件。
cd ~/Desktop # 切换到桌面目录 mkdir project # 创建project文件夹 cd project # 进入project文件夹 cp ~/.bashrc . # 将家目录的.bashrc配置文件复制到当前目录 ls -la # 查看是否复制成功,包括隐藏文件3.2 文本内容查看与处理:日志分析和配置修改的利器
服务器上最多的就是日志和配置文件,都是文本。不会查看和编辑文本,就等于盲人摸象。
cat:连接并打印文件内容到屏幕。适合看小文件。cat filename。less/more:分页查看大文件。用less filename打开后,可以按空格翻页,按q退出。比cat友好得多。head/tail:查看文件开头或结尾。tail -f logfile是神器,可以实时追踪日志文件的更新,排查问题时必用。grep:文本搜索工具。在文件或输出中查找包含特定模式的行。grep "error" logfile会在logfile中查找所有包含“error”的行。echo:输出文本。常用来创建小文件或向文件追加内容。echo "hello" > file.txt(创建并写入,会覆盖),echo "world" >> file.txt(追加到文件末尾)。vim/nano:文本编辑器。nano简单易用,适合新手。vim功能强大但学习曲线陡峭。初期学会用nano filename编辑保存(按Ctrl+X,然后按Y确认,回车保存)就足够了。
实战场景:查看系统日志,找出最近一次的错误信息。
cd /var/log # 进入系统日志目录 ls # 看看有哪些日志文件 # 假设我们看syslog(系统通用日志) tail -n 50 syslog # 查看syslog最后50行 # 如果发现有问题,想搜索包含“Failed”或“Error”的行 grep -i "failed\|error" syslog | head -20 # -i忽略大小写,| 是管道符,将grep的结果传给head显示前20行3.3 系统状态与进程管理:知道你的电脑在干什么
学习Linux,最终是为了管理服务器或开发环境,所以必须知道如何查看系统状态和控制运行中的程序。
ps:查看当前进程。ps aux最常用,显示所有用户的详细进程信息。top/htop:动态查看系统资源占用(CPU、内存)。htop是top的增强版,界面更友好,需要额外安装(sudo apt install htop)。kill:终止进程。先用ps aux | grep 进程名找到进程的PID(进程号),然后用kill PID发送终止信号。强制终止用kill -9 PID(慎用)。df:查看磁盘空间使用情况。df -h以人类可读格式显示。du:查看目录或文件的磁盘使用量。du -sh directory_name查看目录总大小。systemctl:管理系统服务(如Web服务器、数据库)。这是现代Linux发行版(使用systemd)的核心命令。sudo systemctl start nginx:启动nginx服务。sudo systemctl stop nginx:停止。sudo systemctl restart nginx:重启。sudo systemctl status nginx:查看状态。sudo systemctl enable nginx:设置开机自启。
实战场景:你发现系统变慢了,想看看是什么程序占用了资源。
htop # 直观地查看CPU、内存占用排名(如果没有,用top) # 在top或htop界面,可以看到占用高的进程名和PID。 # 假设发现一个叫`runaway_process`的进程有问题,想关掉它。 ps aux | grep runaway_process # 找到它的PID,比如是1234 kill 1234 # 尝试正常终止 # 如果上面命令没反应,进程还在,再用强制终止 kill -9 12344. 从命令到工作流:用一个小项目串联所有知识点
单独记住命令是枯燥且容易遗忘的。最好的方法是设定一个具体的小目标,在实现它的过程中自然运用这些命令。我建议用“搭建一个简单的静态网站并部署到本地”作为你的第一个项目。
4.1 项目目标与环境准备
目标:在Ubuntu上安装一个Nginx Web服务器,创建一个简单的HTML页面,并通过浏览器访问它。串联的知识点:包管理、文件操作、文本编辑、服务管理、网络配置。
步骤分解:
更新系统包列表:这是安装任何新软件前的良好习惯。
sudo apt updatesudo是以管理员权限执行命令,首次使用可能需要输入你的用户密码。安装Nginx:使用APT包管理器安装软件。
sudo apt install nginx -y-y参数表示对所有的确认提示都回答“是”。启动并检查Nginx服务:
sudo systemctl start nginx # 启动 sudo systemctl enable nginx # 设置开机自启 sudo systemctl status nginx # 查看状态,确认是“active (running)”验证安装:打开你电脑(宿主机)的浏览器,输入虚拟机的IP地址。如何获取IP?在虚拟机终端里输入:
ip addr show找到
inet后面跟着的地址(通常是192.168.x.x或10.0.x.x)。在宿主机浏览器访问这个地址,如果看到“Welcome to nginx!”页面,说明成功。创建你的网站内容:Nginx默认的网站根目录是
/var/www/html。我们需要在这里创建自己的文件。cd /var/www/html # 进入网站根目录 sudo cp index.nginx-debian.html index.nginx-debian.html.bak # 备份默认首页 sudo nano index.html # 使用nano编辑器创建新的首页在
nano编辑器里,输入以下简单的HTML内容:<!DOCTYPE html> <html> <head> <title>My First Linux Web Page</title> </head> <body> <h1>Hello from Linux!</h1> <p>This page was created using vim/nano and served by Nginx.</p> <p>System time: <span id="time"></span></p> <script>document.getElementById('time').innerText = new Date();</script> </body> </html>按
Ctrl+O保存,回车确认文件名,再按Ctrl+X退出。设置文件权限(重要!):
/var/www/html目录通常属于root用户,我们刚才用sudo创建了文件。但为了安全,最好将文件的所有权改为Nginx运行所用的用户(通常是www-data)。sudo chown -R www-data:www-data /var/www/html/chown命令用于改变文件所有者。-R表示递归处理目录下的所有文件。访问你的网站:再次在宿主机浏览器刷新虚拟机的IP地址,现在你应该看到自己创建的“Hello from Linux!”页面了。
4.2 项目延伸与问题排查
这个简单项目几乎用到了前面所有的核心命令。你可以在此基础上延伸:
- 用
grep查日志:如果页面没显示,去查看Nginx的错误日志sudo tail -f /var/log/nginx/error.log。 - 用
ps和systemctl管理进程:尝试sudo systemctl stop nginx再访问页面,然后用sudo systemctl start nginx恢复。 - 用
cp和mv管理文件:在/var/www/html下创建about.html,然后用mv命令改名。 - 用
df和du查看空间:看看你的网站目录占了多大空间sudo du -sh /var/www/html。
通过这个完整的流程,命令不再是孤立的单词,而是你完成任务的工具。这种“学以致用”的感觉,是坚持学习下去的最大动力。
5. 避坑指南与进阶方向:少走弯路的经验之谈
最后,分享几个我踩过坑后才明白的经验,能帮你节省大量折腾的时间。
5.1 权限问题:新手的第一道坎
Linux严格的权限系统(用户、组、其他人;读、写、执行)是安全的基石,但也常让新手困惑。
- 现象:执行命令时提示“Permission denied”,或者无法编辑、删除某个文件。
- 排查:先用
ls -l filename查看文件权限。比如-rw-r--r-- 1 root root,表示文件属于root用户,只有所有者能写。 - 解决:
- 如果是你自己的文件,可以用
chmod修改权限(如chmod +x script.sh给脚本添加执行权限)。 - 如果需要操作系统文件或其他用户的文件,在明确知道后果的前提下,使用
sudo提权。不要养成sudo su切换到root干所有事的坏习惯。 - 对于Web目录(如之前的
/var/www/html),正确的做法是chown改变所有者,而不是简单粗暴地给777(完全开放)权限。
- 如果是你自己的文件,可以用
5.2 软件安装:认准官方源和包管理器
不要从不明来源下载.sh或.bin文件来安装软件。优先使用发行版自带的包管理器。
- Ubuntu/Debian系:
apt。sudo apt update(更新软件列表),sudo apt install package_name(安装)。 - CentOS/RHEL/Fedora系:
yum或dnf。 - 通用方法:很多软件提供了添加官方PPA(个人软件包存档)或仓库的方法,这比编译安装更安全、易于管理。在搜索引擎搜“软件名 Ubuntu install”通常能找到官方指南。
5.3 环境变量与路径:命令找不到的元凶
有时安装完软件,输入命令却提示“command not found”。
- 原因:可执行文件所在的目录没有加入系统的
PATH环境变量。 - 检查:
echo $PATH,看看输出里有没有你安装软件的路径(比如/usr/local/bin)。 - 临时解决:用绝对路径执行,如
/opt/myapp/bin/start.sh。 - 永久解决:将路径添加到用户级别的
PATH中。编辑家目录下的.bashrc文件(nano ~/.bashrc),在末尾添加一行export PATH=$PATH:/your/custom/path,然后执行source ~/.bashrc使其生效。
5.4 下一步学什么?
如果你用一周时间跟完了上面的所有内容,并且成功运行了自己的Nginx网站,那么你已经成功入门了。接下来,可以根据兴趣选择方向深入:
- Shell脚本编程:将重复的命令写成脚本(
.sh文件),实现自动化。这是提升效率的关键。 - 网络配置:学习
ip、ss、netstat、ping、curl等命令,理解防火墙(ufw或firewalld)配置。 - 服务部署:学习用
systemd管理自定义服务,部署Python、Node.js或Java应用。 - 容器技术:学习Docker,这是现代应用部署和开发环境隔离的标准工具。
记住,Linux的学习是螺旋上升的。先会用,再理解,然后解决更复杂的问题。别指望一周成为专家,但这一周足以让你摆脱对命令行的恐惧,建立起自主探索的信心。遇到问题,善用man 命令名(查看命令手册)和搜索引擎,把错误信息直接贴进去,你遇到的问题,99%已经有人解决过并写在网上了。
🚀 30+款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度