刚接触 Linux 的朋友,可能最头疼的就是那个黑乎乎的终端。其实,掌握十几个核心命令后,日常操作会变得又快又稳。这篇教程从实际场景出发,把最常见的 Linux 命令拆成五个模块,每个模块都配上操作示意图,跟着敲一遍就能上手。

一、文件和目录操作

在 Linux 里,所有东西都被看作文件,目录就是文件夹。下面这组命令能让你在文件系统中自由穿梭。

查看当前所在位置

pwd

列出目录内容

ls
ls -l    # 显示详细信息(权限、大小、修改时间)
ls -a    # 显示隐藏文件(以点开头的文件)

进入目录

cd /home   # 绝对路径
cd ..      # 返回上级目录
cd ~       # 回到用户主目录

创建目录

mkdir myfolder
mkdir -p parent/child/grandchild   # 递归创建多级目录

删除文件或目录

rm file.txt          # 删除文件
rm -r myfolder       # 递归删除目录及其内容
rm -rf myfolder      # 强制删除(谨慎使用,无法恢复)

复制和移动

cp source.txt dest.txt          # 复制文件
cp -r folder1 folder2           # 复制整个目录
mv oldname.txt newname.txt      # 重命名或移动文件

新手常犯的错误是 rm -rf /,这条命令会删除整个系统,永远不要执行。每次用 rm 时先确认路径。

二、文件内容查看与编辑

很多时候我们需要快速查看配置文件内容,或者修改几行文字。不需要图形界面,终端里就能搞定。

查看文件内容

cat file.txt               # 显示全部内容(适合短文件)
less file.txt              # 分页查看(按空格翻页,按 q 退出)
head -n 10 file.txt        # 只看前10行
tail -n 10 file.txt        # 只看后10行,常用于查看日志
tail -f app.log            # 实时跟踪日志更新(按 Ctrl+C 停止)

搜索文件中的文本

grep "error" log.txt       # 在文件中查找包含 error 的行
grep -i "warning" log.txt  # 忽略大小写
grep -r "TODO" /home       # 递归搜索整个目录

编辑文件(以 vim 为例)

vim file.txt

进入 vim 后按 i 进入插入模式开始编辑,编辑完成后按 Esc 退出插入模式,输入 :wq 保存并退出。如果只想看看不修改,可以用 vim file.txt 然后按 :q 退出。

对于初学者,也可以先使用 nano 编辑器(如果没有安装,用 sudo apt install nano 安装),它底部有快捷键提示,更友好。

nano file.txt

按 Ctrl+X 退出,按 Y 确认保存。

三、权限管理

Linux 的权限系统是安全基础。每个文件都有三个权限组:所有者(u)、所属组(g)、其他人(o)。每个组有读(r)、写(w)、执行(x)三种权限。

查看文件权限

ls -l

输出样例:-rwxr-xr-- 1 user group 1024 Jan 1 12:00 script.sh
第一段 -rwxr-xr-- 中,第一位 - 表示普通文件(d 表示目录),后面九位每三位一组,分别对应 u/g/o 的权限。

修改文件权限

chmod u+x script.sh        # 给所有者增加执行权限
chmod g-w script.sh        # 去掉所属组的写权限
chmod o=r script.sh        # 将其他人的权限设为只读
chmod 755 script.sh        # 数字法:rwxr-xr-x(所有者全权限,组和其他人只读+执行)

数字法速记:r=4, w=2, x=1,相加得到权限值。755 就是 7(4+2+1),5(4+0+1),5(4+0+1)。

修改文件所有者

sudo chown newuser file.txt            # 更改文件所有者
sudo chown newuser:newgroup file.txt   # 同时更改所有者和所属组

大多数时候普通用户无法修改系统文件权限,需要加 sudo 以管理员身份运行。新手用 sudo 时要确认命令安全,避免误删系统文件。

四、系统信息查看

当电脑变慢、磁盘空间不足时,这些命令帮你快速定位问题。

查看系统运行状态

top             # 实时显示进程和CPU/内存占用(按 q 退出)
htop            # 更友好的 top(需安装,sudo apt install htop)
ps aux          # 列出所有进程的快照
ps aux | grep nginx   # 结合grep查找特定进程

查看磁盘和内存

df -h           # 查看磁盘分区使用情况(-h 以人类可读的GB/MB显示)
du -sh /home    # 查看指定目录的总大小
free -h         # 查看内存和交换分区使用情况

查看系统硬件信息

uname -a        # 查看内核版本和系统架构
lscpu           # 查看CPU详细信息
lsblk           # 列出所有块设备(硬盘、分区等)

查看日期和运行时间

date            # 显示当前日期时间
uptime          # 系统已运行时间,以及平均负载

平均负载的三个数字分别表示过去1分钟、5分钟、15分钟的负载,数值接近CPU核心数时表示系统满负荷。

五、网络相关命令

无论排查网络问题还是远程连接,这几条命令最常用。

测试网络连通性

ping -c 4 baidu.com       # 向百度发4个包,检查网络是否通
ping -c 4 8.8.8.8         # 直接用IP测试,避免DNS影响

查看网络配置

ip addr           # 查看IP地址、子网掩码等(现代系统推荐)
ifconfig          # 传统命令,部分系统需安装 net-tools
ip route          # 查看路由表(默认网关)

DNS 查询

nslookup baidu.com        # 查询域名对应的IP
dig baidu.com             # 更详细的DNS信息(需安装 dnsutils)

远程连接(SSH)

ssh user@192.168.1.100    # 通过SSH登录远程服务器
ssh -p 2222 user@host     # 指定端口(默认22)

第一次连接时会提示确认主机指纹,输入 yes 即可。

下载文件

wget https://example.com/file.zip    # 下载文件到当前目录
curl -O https://example.com/file.zip # 同样用于下载
curl -I https://example.com          # 只查看HTTP响应头

网络命令出错时,先检查物理连接(网线/WiFi),再检查IP配置,最后用 ping 测试网关和外网,可以快速定位问题环节。

—

以上五个模块覆盖了日常操作 80% 的场景。建议打开终端,对照每个命令敲一遍,不必死记硬背。常用命令敲上三五次就记住了,遇到忘记的可以用 man 命令名 查看帮助文档。多练几次,你会发现终端比鼠标效率高得多。

界面预览