为什么学习Linux:
学 Linux 不是 “选学”,而是 IT 技术栈的「基础设施」 —— 它能帮你进入服务器、云计算、嵌入式等高薪赛道,构建底层技术认知,甚至成为职场竞争的 “差异化优势”。如果想深耕技术领域,Linux 是绕不开的必经之路。
Linux安装
物理机安装 在企业开发中,我们直接将操作系统安装到服务器硬件上
虚拟机安装 在学习阶段,可以安装在虚拟机(Virtual Machine)
这里我们选择的虚拟机软件是VMware 安装流程直接跳转到我主页文章有详细解答新手必看!Linux 安装 CentOS 7 的零失败教程(附 VMware/VirtualBox 双方案)-CSDN博客
网卡设置
服务器重启完成之后,我们可以通过linux的指令 ip addr
来查询Linux系统的IP地址,具体信息如下:
cd /etc/sysconfig/network-scripts 进入v目录
vi ifcfg-ens33 编辑ifcfg-ens33文件
- 按 i 键 进入编辑状态
- 按↑↓键来移动光标, 删除no,输入yes
- 按 ESC 键
- 输入 :wq
- 按 ENTER 保存退出
- 重启虚拟机
- 输入ip addr 即可以看见可以连接的ip地址
Linux常用命令一览表
分类 | 命令 | 功能说明 | 常用示例(直接终端执行) | |
---|---|---|---|---|
文件与目录操作 | ls | 列出目录内容(文件 / 文件夹) | ls -l (详细列表,含权限、大小);ls -a (显示隐藏文件) | |
cd | 切换工作目录 | cd .. (返回上一级);cd /home/user (进入指定路径) | ||
mkdir | 创建新目录 | mkdir project (创建project 目录);mkdir -p a/b/c (递归创建多级目录) | ||
rmdir | 删除空目录(非空需用 rm -r ) | rmdir empty_dir (删除空目录empty_dir ) | ||
rm | 删除文件 / 目录(谨慎使用! 可通过 rm -i 增加确认) | rm file.txt (删文件);rm -r dir (删目录及内容);rm -f file.txt (强制删除,跳过确认) | ||
cp | 复制文件 / 目录 | cp file.txt /tmp (复制文件到/tmp );cp -r dir /tmp (复制目录及内容) | ||
mv | 移动文件 / 目录 + 重命名 | mv old.txt new.txt (重命名);mv file.txt /tmp (移动文件) | ||
touch | 创建空文件 + 更新文件时间戳 | touch newfile.txt (创建空文件);touch -d "2024-01-01" file.txt (修改时间戳) | ||
文件内容查看 | cat | 直接显示文件全部内容(小文件常用) | cat log.txt (显示log.txt 全部内容);cat -n file.txt (显示行号) | |
more | 分页查看文件(按空格翻页,q 退出) | more large_log.txt (分页看大日志) | ||
less | 灵活分页(支持上下翻、搜索,/关键词 查找,q 退出) | less large_log.txt (按/error 搜关键词) | ||
head | 查看文件前 N 行(默认前 10 行) | head -n 5 file.txt (看前 5 行);head -100 log.txt (看前 100 行) | ||
tail | 查看文件后 N 行(高频用于实时日志:tail -f ) | tail -f app.log (实时跟踪日志);tail -n 20 log.txt (看后 20 行) | ||
grep | 文本过滤(正则匹配,支持大小写、递归等) | grep "error" log.txt (找含error 的行);grep -i "Error" log.txt (忽略大小写);grep -r "config" /app (递归搜目录下含config 的文件) | ||
权限与用户管理 | chmod | 修改文件 / 目录权限(r=4 w=2 x=1 ,或符号法) | chmod 755 script.sh (用户可读写执行,组 / 其他只读执行);chmod u+x file.txt (给用户加执行权限) | |
chown | 修改文件所有者(需管理员权限,常用 sudo ) | sudo chown user:group file.txt (改所有者为user ,组为group ) | ||
sudo | 以管理员权限执行命令(需配置 sudoers) | sudo apt update (更新软件源,普通用户无权限时用) | ||
进程管理 | ps | 查看进程状态(静态快照) | ps aux (看所有进程);`ps -ef | grep nginx(找 nginx` 进程) |
top | 实时监控进程(资源占用、负载,按q 退出) | top (看 CPU / 内存 占用,按shift + P 按 CPU 排序) | ||
kill | 终止进程(-9 强制杀进程) | kill 1234 (终止 PID 为 1234 的进程);kill -9 1234 (强制终止) | ||
网络与连接 | ifconfig | 查看网络接口信息(旧版,新版推荐 ip addr ) | ifconfig (看 IP、网卡);ip addr show (现代替代命令) | |
ping | 测试网络连通性(丢包率、延迟) | ping www.baidu.com (测试到百度的网络);ping -c 4 1.1.1.1 (发 4 个包) | ||
ssh | 远程连接 Linux 服务器(加密协议) | ssh user@192.168.1.1 (连接远程主机,需密码 / 密钥) | ||
scp | 远程复制文件(ssh 基础上的文件传输) | scp local.txt user@192.168.1.1:/tmp (本地传远程);scp user@192.168.1.1:/tmp/file.txt . (远程拉取到本地) | ||
系统信息查看 | df | 查看磁盘空间使用情况(-h 人性化显示) | df -h (看分区容量、使用率);df -h /home (看/home 分区) | |
free | 查看内存使用情况(-h 人性化显示) | free -h (看总内存、已用、空闲);free -h -s 5 (每 5 秒刷新一次) | ||
uname | 查看系统内核 / 架构信息 | uname -a (显示内核版本、系统架构等);uname -r (只看内核版本) | ||
uptime | 查看系统运行时间 + 负载 | uptime (显示开机时长、1/5/15 分钟负载) | ||
压缩与归档 | tar | 打包 / 解包文件(-c 打包,-x 解包,-z 加 gzip 压缩) | tar -cvf backup.tar dir/ (打包dir 到backup.tar );tar -xvf backup.tar (解包);tar -zcvf backup.tar.gz dir/ (gzip 压缩打包) | |
gzip | 压缩文件(生成 .gz ,不保留原文件,需 gunzip 解压) | gzip file.txt (压缩为file.txt.gz );gunzip file.txt.gz (解压) | ||
zip/unzip | 跨平台压缩(zip 打包,unzip 解压 .zip ) | zip archive.zip file1.txt file2.txt (压缩多个文件);unzip archive.zip (解压到当前目录) | ||
其他高频工具 | find | 按名称 / 类型 / 大小查找文件 / 目录 | find /home -name "*.txt" (找/home 下所有 .txt 文件);find / -size +100M (找系统中大于 100M 的文件) | |
which | 查找命令的绝对路径(定位软件安装位置) | which python (显示python 命令的路径);which nginx (找nginx 可执行文件位置) | ||
history | 查看命令历史(!序号 快速执行历史命令) | history (显示最近执行的命令);!100 (执行第 100 条历史命令) | ||
echo | 输出内容到终端 / 文件(覆盖 / 追加写入) | echo "Hello Linux" (输出到终端);echo "content" > file.txt (覆盖写入文件);echo "add line" >> file.txt (追加到文件) | ||
ln | 创建软链接(快捷方式)或硬链接(文件副本,同步修改) | ln -s /path/target link (创建软链接link ,指向target );ln /path/file hard_link (创建硬链接,修改原文件会同步) |
学习建议(结合表格更高效)
-
先记高频命令:
ls
cd
mkdir
rm
cat
grep
ps
kill
(日常操作 80% 场景覆盖) -
用示例练手:比如用
tail -f
跟踪日志、grep
过滤错误信息、chmod
修复脚本权限,边用边记 -
进阶玩组合拳:命令可通过管道
|
串联,比如ps aux | grep nginx
(找进程)、cat log.txt | grep error | tail -n 10
(过滤日志后看最后 10 行)