作为一名刚入门 Linux 的学习者,最近我系统梳理了自己的学习笔记,从基础概念到实际操作,涵盖了 Linux 入门的核心知识点。这篇博客旨在把这些内容清晰、全面地分享出来,无论是想了解 Linux 是什么,还是想亲手搭建 Linux 环境、配置常用软件,都能在这里找到详细指南,特别适合新手小伙伴一步步跟着实践。

目录

一、认识 Linux:它到底是什么?

1. 操作系统的本质

2. 常见操作系统分类

3. Linux 的核心特性

4. 常见 Linux 发行版

二、为什么选 Linux?聊聊它的 “硬优势”

1. 稳定性:服务器 “抗造” 的关键

2. 安全性:开源生态的 “集体守护”

3. 其他优势:节省资源、灵活度高

三、手把手教你装 Linux:VirtualBox+CentOS 7.9

1. 准备工作

2. VirtualBox 新建虚拟机

步骤 1:新建虚拟电脑

步骤 2:分配内存

步骤 3:创建虚拟硬盘

3. 配置虚拟机并加载镜像

步骤 1:设置存储

步骤 2:设置网络(关键!避免连不上网)

4. 安装 CentOS 7.9

步骤 1:启动虚拟机

步骤 2:配置安装摘要

步骤 3:设置 root 密码和用户

步骤 4:完成安装

四、Linux 入门避坑指南:常见问题及解决方案

1. 问题 1:虚拟机启动报错 “VT-x/AMD-V 未启用”

2. 问题 2:虚拟机连不上网(无法 ping 通主机 / 外网)

3. 问题 3:远程工具(如 Xshell)连不上虚拟机

4. 问题 4:VirtualBox 报错 “80004005”

五、Linux 常用工具:远程连接与命令行必备

1. 远程连接工具(4 款常用工具)

连接步骤(以 Xshell 为例):

2. 必学常用命令(附示例)

(1)文件 / 目录操作命令

(2)系统管理命令

(3)常用快捷键

六、Linux 常用软件配置:Vim、JDK、Tomcat

1. Vim:Linux 下的 “万能文本编辑器”

(1)安装 Vim

(2)Vim 的 3 种模式(核心!)

(3)Vim 常用命令

2. JDK:配置 Java 开发环境

(1)准备工作

(2)解压 JDK

(3)配置环境变量

(4)加载环境变量并验证

3. Tomcat:搭建 Web 服务器

(1)准备工作

(2)解压 Tomcat

(3)启动 Tomcat

(4)访问 Tomcat 首页(关键!)

七、Linux 权限管理:看懂 “rwx”,学会 “chmod”

1. 权限的 3 个维度

(1)权限类型(3 种)

(2)用户分类(3 类)

(3)权限的两种表示方式

2. chmod:修改权限的命令

(1)符号法:chmod u/g/o +/- r/w/x 文件名

(2)数字法:chmod 三位数字 文件名

(3)查看权限

八、Shell 脚本:Linux 下的 “批处理”,比你想的更强大

1. 什么是 Shell?

2. Shell 脚本的简单示例

执行脚本步骤:

3. Shell 的进阶能力

九、总结:Linux 入门的核心是 “多练”


一、认识 Linux:它到底是什么?

        在学 Linux 之前,我们得先搞清楚 ——Linux 不是一个单一的系统,而是一类操作系统的统称。准确来说,我们常说的 Linux 其实是 “GNU/Linux”:单独的 Linux 内核(由林纳斯・托瓦兹在 1991 年 10 月 5 日首次发布)无法直接使用,必须搭配 GNU 开源套件才能正常工作,因此得名。

1. 操作系统的本质

        简单理解,操作系统是 “人和计算机硬件沟通的桥梁”。我们日常操作电脑、手机,本质上是通过操作系统向硬件(CPU、内存、硬盘等)发送指令,再由硬件执行后返回结果。

2. 常见操作系统分类

我们可以根据设备类型,把常见的操作系统分成两类:

设备类型 代表操作系统
PC 端 Windows、macOS、Linux
移动端 Android、iOS、鸿蒙、塞班(已淘汰)

3. Linux 的核心特性

  • 多用户、多任务:支持多个用户同时登录,且能同时运行多个程序(比如一边跑 Tomcat 服务,一边用终端执行命令)。
  • 多线程、多 CPU:能充分利用多核 CPU 资源,应对高并发场景(比如服务器同时处理多个用户请求)。
  • 跨硬件架构:支持 32 位和 64 位硬件,兼容性强。
  • 继承 Unix 设计思想:以网络为核心,天生适合做服务器。

4. 常见 Linux 发行版

Linux 有上百种发行版,核心区别在于 “社区维护” 和 “商业维护”:

  • 社区开发版:免费开源,适合学习和个人使用,比如 Debian、Arch Linux。
  • 商业开发版:有官方技术支持,适合企业级场景,比如 Red Hat Enterprise Linux(RHEL)、SUSE、Oracle Linux。
  • 学习首选:CentOS:基于 RHEL 源码编译的社区版,完全免费且兼容性强,本文所有操作均以CentOS 7.9为例。

二、为什么选 Linux?聊聊它的 “硬优势”

        很多新手会问:Windows 用得好好的,为什么要学 Linux?这部分我结合自己的实际踩坑经历,从稳定性、安全性两个核心维度对比,你就懂了。

1. 稳定性:服务器 “抗造” 的关键

        Linux 的稳定性在服务器场景下尤为突出。我曾做过测试:把 Tomcat 服务部署在 Linux 上,连续运行 40 天,服务依然流畅,日志输出稳定,和第一天启动时完全一样;但部署在 Windows 上的 Tomcat,不到一周就开始 “卡顿”—— 发送请求要延迟几秒,日志输出断断续续,必须定期重启才能维持。

更夸张的是两次踩坑经历:

  • 一次是启动 Tomcat 后,用鼠标点了一下服务器桌面的 Tomcat 图标,结果所有请求直接 “卡死”,后台请求全阻塞,只能重启。后来才知道,Windows 服务器会卡在鼠标操作的等待状态,优先响应人工操作而非服务请求。
  • 另一次是眼睁睁看着 Windows 服务器 “消失”:正在查看 Tomcat 日志,日志突然中断,就像从未运行过一样,服务直接宕机。从那以后,我在服务器场景再也不敢用 Windows 了。

2. 安全性:开源生态的 “集体守护”

有人说 “Windows 和 Linux 都被黑客研究,有啥区别?” 其实核心在漏洞修复机制

  • Windows 属于微软独家所有,黑客发现漏洞后,往往会先敲诈企业再披露,导致漏洞利用周期长,攻击事件多;
  • Linux 属于开源社区,没有 “独家拥有者”,全球开发者都能参与维护 —— 一旦发现漏洞,社区会快速提交修复方案,几小时内就能推送补丁,风险能快速化解。

3. 其他优势:节省资源、灵活度高

  • 轻量省资源:Linux 对硬件配置要求低,同样的服务器配置,Linux 能比 Windows 多跑 2-3 个服务,内存和 CPU 占用率更低;
  • 开源免费:企业无需支付版权费用(比如 Windows Server 的授权费),降低运维成本;
  • 可定制性强:从内核到应用,都能根据需求裁剪,适合嵌入式设备(比如树莓派)、服务器等不同场景。

三、手把手教你装 Linux:VirtualBox+CentOS 7.9

入门 Linux 的第一步是 “装系统”,这里详细讲解用 VirtualBox 虚拟机安装 CentOS 7.9 的全过程,新手跟着做就能成功。

1. 准备工作

  • 下载 VirtualBox:官网(VirtualBox.org)下载最新版,避免版本兼容性问题;
  • 下载 CentOS 7.9 镜像:推荐阿里云镜像站(centos.org),选择 “CentOS-7-x86_64-DVD-2009.iso”(完整版,包含常用软件);
  • 硬件要求:主机内存至少 4G(分配给虚拟机 2G 以上),硬盘空闲空间 20G 以上。

2. VirtualBox 新建虚拟机

步骤 1:新建虚拟电脑

打开 VirtualBox,点击 “新建”,进入配置界面:

  • 名称:自定义(比如 “CentOS 7.9”),方便识别;
  • 类型:选择 “Linux”;
  • 版本:选择 “Red Hat (64-bit)”(CentOS 基于 RHEL,兼容性匹配);
  • 模式:新手选 “典型”,高手可选 “专家模式” 自定义更多配置;
  • 点击 “下一步”。

步骤 2:分配内存
  • 建议内存:不小于 2G(即 2048MB),如果主机内存是 8G,可以分配 4G(4096MB);
  • 注意:内存分配不能超过主机内存的 50%,否则会影响主机运行;
  • 点击 “下一步”。

步骤 3:创建虚拟硬盘
  • 选择 “现在创建虚拟硬盘”,点击 “创建”;
  • 硬盘文件类型:默认 “VDI(VirtualBox 磁盘映像)”,无需修改;
  • 存储方式:
    • 动态分配:初始占用空间小,随使用逐渐增加(推荐新手,节省硬盘空间);
    • 固定大小:创建速度慢,但运行时性能略好(适合服务器长期使用);
  • 文件位置:自定义路径(比如 “D:\VirtualBox\CentOS 7.9”),避免 C 盘;
  • 硬盘大小:至少 20G(推荐 20-40G),点击 “创建”。

3. 配置虚拟机并加载镜像

步骤 1:设置存储
  • 选中新建的虚拟机(比如 “CentOS 7.9”),点击 “设置”→“存储”;
  • 点击 “控制器:IDE” 下的 “空”,右侧 “属性” 中点击 “光盘图标”→“选择虚拟光盘文件”;
  • 选中下载好的 CentOS 7.9 ISO 文件,点击 “确定”。

步骤 2:设置网络(关键!避免连不上网)
  • 点击 “设置”→“网络”;
  • 连接方式:选择 “桥接网卡”(让虚拟机和主机在同一网段,方便远程连接);
  • 界面名称:选择主机当前使用的网卡(比如 WiFi 网卡或有线网卡,可在 Windows “网络连接” 中查看);
  • 点击 “确定”。

4. 安装 CentOS 7.9

步骤 1:启动虚拟机

选中虚拟机,点击 “启动”,进入安装界面:

  • 选择 “Install CentOS 7”(直接安装,不测试镜像);
  • 等待加载后,进入语言选择界面,推荐选 “English(United States)”(避免中文路径乱码),点击 “Continue”。
步骤 2:配置安装摘要

进入 “INSTALLATION SUMMARY” 界面,需完成以下关键配置(带黄色警告的必须处理):

  1. SOFTWARE SELECTION(软件选择)

    • 新手选 “Minimal Install”(最小安装,只装核心组件,适合学习命令行);
    • 如需图形界面,选 “GNOME Desktop”(带桌面环境,操作更直观);
    • 点击 “Done” 保存。
  2. INSTALLATION DESTINATION(安装目标)

    • 选择之前创建的虚拟硬盘(比如 “ATA VBOX HARDDISK(20GiB)”);
    • 分区方式:新手选 “Automatic partitioning(自动分区)”,高手可 “Custom(自定义分区)”;
    • 点击 “Done” 保存。
  3. NETWORK & HOST NAME(网络和主机名)

    • 打开网卡:右侧 “Ethernet(enp0s3)” 点击 “OFF” 切换为 “ON”,此时会自动获取 IP(DHCP);
    • 主机名:自定义(比如 “centos7”),点击 “Apply”;
    • 点击 “Done” 保存。
  4. KDUMP(内核崩溃转储):默认 “Enabled”,无需修改,直接 “Done”。

步骤 3:设置 root 密码和用户

点击 “Begin Installation” 开始安装,安装过程中配置用户:

  1. ROOT PASSWORD(root 密码)

    • root 是 Linux 超级管理员,拥有所有权限;
    • 密码:建议设简单密码(比如 “123456”,学习用,生产环境需复杂密码);
    • 提示 “密码太弱” 时,点击 “Done” 两次确认(忽略警告)。
  2. USER CREATION(创建普通用户)

    • 可选:创建一个普通用户(比如 “linuxuser”),避免直接用 root 操作(安全习惯);
    • 勾选 “Make this user an administrator”(给普通用户 sudo 权限);
    • 点击 “Done” 保存。

步骤 4:完成安装

等待安装完成(约 5-10 分钟),点击 “Reboot” 重启虚拟机,重启后输入 root 用户名和密码,登录成功!

四、Linux 入门避坑指南:常见问题及解决方案

装完系统后,新手常会遇到各种问题,这里整理 4 个高频问题及解决方法,帮你快速排障。

1. 问题 1:虚拟机启动报错 “VT-x/AMD-V 未启用”

  • 原因:电脑 BIOS 中未启用硬件虚拟化(VT-x/AMD-V),VirtualBox 无法创建 64 位虚拟机;
  • 解决方法:
    1. 关机,重启电脑时按快捷键进入 BIOS(不同品牌快捷键不同:ThinkPad 按 F1,戴尔按 F2,惠普按 F10);
    2. 找到 “Virtualization Technology(虚拟化技术)”,设置为 “Enabled”;
    3. 保存 BIOS 设置(按 F10),重启电脑。

2. 问题 2:虚拟机连不上网(无法 ping 通主机 / 外网)

  • 排查步骤:
    1. 检查网络配置:确认 VirtualBox 中 “网络”→“桥接网卡” 的 “界面名称” 是否选对(比如主机连 WiFi,就选 WiFi 网卡);
    2. 检查网卡是否启用:登录 Linux,执行ip addr,看 “enp0s3” 是否有 IP(比如 “192.168.1.100”);
    3. 重启网络服务:执行systemctl restart network,重新获取 IP。

3. 问题 3:远程工具(如 Xshell)连不上虚拟机

  • 排查步骤:
    1. 确认 IP 正确:Linux 中执行ip addr,记录 IP(比如 “192.168.1.100”);
    2. 确认网段一致:主机 IP(Windows 执行ipconfig)前三位需和虚拟机 IP 一致(比如主机 192.168.1.20,虚拟机 192.168.1.100,属于同一网段);
    3. 关闭防火墙:Linux 默认防火墙会拦截 SSH 端口(22),执行systemctl stop firewalld(临时关闭)或systemctl disable firewalld(开机不启动)。

4. 问题 4:VirtualBox 报错 “80004005”

  • 原因:常见于 Windows 系统,可能是虚拟机文件损坏、端口占用或权限问题;
  • 解决方法:
    1. 重启 VirtualBox 和电脑,释放占用资源;
    2. 检查虚拟机文件路径是否有中文 / 空格,建议改为纯英文路径;
    3. 右键 VirtualBox 图标,选择 “以管理员身份运行”,解决权限问题。

五、Linux 常用工具:远程连接与命令行必备

Linux 服务器大多是 “无桌面” 的,需要用远程工具连接,同时掌握常用命令是入门关键。

1. 远程连接工具(4 款常用工具)

工具名称 特点 适用场景
PuTTY 体积小(仅几百 KB),免安装 第一次连接服务器、堡垒机连接
Xshell 功能强(支持标签页、文件传输),免费版够用 日常远程管理(推荐新手)
SecureCRT 稳定性高,支持多种协议(SSH、Telnet) 企业级运维,长期使用
SSH Secure Shell 集成文件传输功能,界面简洁 新手入门,简单操作
连接步骤(以 Xshell 为例):
  1. 打开 Xshell,点击 “新建”;
  2. 名称:自定义(比如 “CentOS 7.9”);
  3. 主机:输入 Linux 的 IP(比如 “192.168.1.100”);
  4. 端口:默认 22(SSH 协议端口);
  5. 点击 “连接”,输入用户名(root)和密码,登录成功。

2. 必学常用命令(附示例)

Linux 命令格式:命令 + [选项] + [参数],以下是高频命令详解:

(1)文件 / 目录操作命令
  • ls:列出目录内容(最常用)

    • ls:列出当前目录下的文件 / 目录(简略);
    • ls -l(简写ll):列出详细信息(权限、所有者、大小、修改时间);
    • ls -S:按文件大小倒序排列;
    • ls -t:按修改时间倒序排列。
  • cd:切换目录

    • cd ..:进入上一级目录;
    • cd .:进入当前目录(几乎不用,但 “./” 表示当前目录下的文件,比如./startup.sh);
    • cd /home:通过绝对路径(以 “/” 开头)进入 /home 目录;
    • cd test:通过相对路径(相对于当前目录)进入 test 目录;
    • cd ~:回到当前用户的家目录(root 的家目录是 /root,普通用户是 /home/ 用户名);
    • cd -:回到上一个目录。
  • pwd:显示当前目录路径

    • 示例:pwd,输出/root(表示当前在 root 的家目录)。
  • rm:删除文件 / 目录

    • rm test.txt:删除文件(需确认,按 y 删除);
    • rm -f test.txt:强制删除文件(无需确认);
    • rm -r testdir:删除目录(递归删除目录下所有内容);
    • rm -rf testdir:强制删除非空目录(慎用! 避免误删系统文件)。
  • tar:压缩 / 解压文件(工作中常用)

    • 解压 tar.gz 文件:tar -zxvf jdk-8u231-linux-x64.tar.gz
      • z:用 gzip 算法处理;
      • x:解压;
      • v:显示解压过程(进度);
      • f:指定解压文件(必须放在最后)。
(2)系统管理命令
  • alias:设置命令别名(简化长命令)

    • 示例:alias cepp='cd /etc/ppp/peers',之后输入cepp就相当于执行cd /etc/ppp/peers
    • 删除别名:unalias cepp
    • 注意:临时别名重启后失效,如需永久生效,需写入/etc/profile文件。
  • history:查看历史命令

    • history:列出所有历史命令(默认保存 1000 条);
    • history | grep ls:搜索包含 “ls” 的历史命令(快速找之前执行过的命令)。
  • ip addr:查看 IP 地址

    • 示例:ip addr,输出中 “enp0s3” 下的 “inet” 后就是 IP(比如inet 192.168.1.100/24)。
(3)常用快捷键
  • Ctrl + C:终止当前正在执行的命令(比如命令卡住时);
  • Ctrl + L:清屏(相当于clear命令);
  • Ctrl + D:退出当前终端(相当于exit命令);
  • Shift + Insert:粘贴(远程工具中常用,避免快捷键冲突);
  • Ctrl + Insert:复制。

六、Linux 常用软件配置:Vim、JDK、Tomcat

        学会安装和配置常用软件,才能真正用 Linux 做开发或运维,这里以 Vim(文本编辑)、JDK(Java 环境)、Tomcat(Web 服务器)为例,详细讲解步骤。

1. Vim:Linux 下的 “万能文本编辑器”

        Vim 是 Linux 默认的文本编辑器,比记事本强大得多,支持多模式编辑,是修改配置文件的必备工具。

(1)安装 Vim

CentOS 最小安装默认没有 Vim,需手动安装:

  • 执行命令:yum -y install vim*-y表示自动确认,无需手动按 y);
  • 安装失败排查:如果报错 “无法连接镜像源”,大概率是防火墙拦截,执行systemctl stop firewalld关闭防火墙后再重试。

如果执行上面安装vim代码报错,总是安装失败,是因为虚拟机防火墙没关。要关闭一下防火墙。
# 查看防火墙状态
systemctl status firewalld.service
# 停止防火墙服务
systemctl stop firewalld.service
# 启动防火墙服务
systemctl start firewalld.service
# 取消防火墙服务的开机自启
systemctl disable firewalld.service

(2)Vim 的 3 种模式(核心!)

Vim 有 3 种核心模式,切换方式是入门关键:

模式名称 功能 进入方式 退出方式
普通模式 查看文件内容,不能编辑 启动 Vim 后默认进入(比如vim test.txt i/a/o等键进入编辑模式
编辑模式 编辑文件内容 普通模式下按i(插入)、a(追加) ESC键回到普通模式
命令行模式 执行保存、退出、搜索等操作 普通模式下按:(冒号) 执行命令后自动回到普通模式
(3)Vim 常用命令
  • 退出与保存(命令行模式):
    • :q:退出 Vim(文件未修改时);
    • :q!:强制退出,不保存修改(文件修改后不想保存时);
    • :w:保存修改(不退出);
    • :wq:保存并退出(最常用)。
  • 编辑操作(编辑模式):
    • i:在光标前插入内容;
    • a:在光标后追加内容;
    • o:在光标下一行新建行并插入;
    • R:进入替换模式(输入内容会覆盖光标后的字符)。

2. JDK:配置 Java 开发环境

        很多 Java 项目(如 Spring Boot)需要 JDK 环境,这里以 JDK 8 为例,讲解手动安装步骤(避免 yum 安装的 OpenJDK 功能不全)。

(1)准备工作
  • 下载 JDK 8:官网(Oracle.com)下载 Linux 版本(jdk-8u231-linux-x64.tar.gz),需注册 Oracle 账号;
  • 上传 JDK 到 Linux:用远程工具(如 Xshell 的文件传输功能)将压缩包上传到/usr/local/jdk目录(需先创建目录:mkdir -p /usr/local/jdk)。
(2)解压 JDK

执行命令:tar -zxvf /usr/local/jdk/jdk-8u231-linux-x64.tar.gz -C /usr/local/jdk

  • -C:指定解压目录,这里解压到/usr/local/jdk下,解压后会生成jdk1.8.0_231目录。
(3)配置环境变量

Linux 的环境变量保存在/etc/profile文件中,需用 Vim 修改:

  1. 打开文件:vim /etc/profile
  2. 跳转到文件末尾:按G(大写 G);
  3. 插入环境变量配置(编辑模式下输入):
# JDK环境变量
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_231
export JRE_HOME=$JAVA_HOME/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
  1. 保存退出:按ESC→输入:wq→回车。

(4)加载环境变量并验证
  • 加载配置:source /etc/profile(修改/etc/profile后需重新加载才生效);
  • 验证是否成功:javac -version,输出javac 1.8.0_231表示配置成功。

3. Tomcat:搭建 Web 服务器

Tomcat 是常用的 Java Web 服务器,用于部署 War 包(如 Java Web 项目),这里讲解安装和访问步骤。

(1)准备工作
  • 下载 Tomcat 8.5:官网(tomcat.apache.org)下载apache-tomcat-8.5.85.tar.gz
  • 上传到 Linux:创建/usr/local/tomcat目录(mkdir -p /usr/local/tomcat),将压缩包上传到该目录。
(2)解压 Tomcat

执行命令:tar -zxvf /usr/local/tomcat/apache-tomcat-8.5.85.tar.gz -C /usr/local/tomcat

(3)启动 Tomcat
  1. 进入 Tomcat 的 bin 目录:cd /usr/local/tomcat/apache-tomcat-8.5.85/bin
  2. 执行启动脚本:./startup.sh(注意:./表示执行当前目录下的脚本,不能省略,否则会提示 “命令不存在”);
  3. 启动成功提示:Tomcat started.
(4)访问 Tomcat 首页(关键!)
  1. 查看 Linux IP:执行ip addr,获取 IP(比如192.168.1.100);

  2. 宿主机访问:打开浏览器,输入http://192.168.1.100:8080(Tomcat 默认端口 8080);

  3. 访问失败排查:

    • 防火墙拦截:执行systemctl stop firewalld关闭防火墙;
    • 端口未开放:如果不想关闭防火墙,可开放 8080 端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent,然后重启防火墙:systemctl restart firewalld
    • 项目缺失:如果首页空白,可能是 Tomcat 的webapps目录下没有默认项目,重新解压 Tomcat 即可。
  4. 成功标志:浏览器显示 “Apache Tomcat/8.5.85” 首页,说明 Tomcat 搭建成功。

七、Linux 权限管理:看懂 “rwx”,学会 “chmod”

        Linux 是多用户系统,权限管理是安全的核心 —— 通过控制 “谁能操作文件 / 目录”,避免误操作或恶意修改。

1. 权限的 3 个维度

        Linux 权限分为 “权限类型”“用户分类”“权限表示” 三个维度,先理解这三个维度,再学命令就简单了。

(1)权限类型(3 种)
  • r(Read,读权限):能查看文件内容,或列出目录下的文件(比如ls);
  • w(Write,写权限):能修改文件内容,或在目录下新建 / 删除文件;
  • x(Execute,执行权限):能执行文件(比如脚本、可执行程序),或进入目录(比如cd)。
(2)用户分类(3 类)
  • u(User,所有者):文件 / 目录的创建者(比如 root 创建的文件,所有者是 root);
  • g(Group,所属组):所有者所在的用户组(比如 root 属于 root 组,文件默认所属组是 root 组);
  • o(Other,其他用户):既不是所有者,也不属于所属组的用户(比如普通用户 linuxuser)。
(3)权限的两种表示方式
  • 符号表示:比如rwxr-xr--,共 9 位,每 3 位对应一类用户(u、g、o):
    • 前 3 位(u):rwx(所有者有读、写、执行权限);
    • 中间 3 位(g):r-x(所属组有读、执行权限,无写权限);
    • 后 3 位(o):r--(其他用户只有读权限)。
  • 数字表示:用 0-7 的数字对应权限(二进制转换),每类用户对应一个数字:
    • r=4,w=2,x=1,无权限 = 0;
    • 比如rwx=4+2+1=7,r-x=4+0+1=5,r--=4+0+0=4;
    • 完整权限数字:rwxr-xr--=754。

2. chmod:修改权限的命令

chmod是修改文件 / 目录权限的核心命令,有两种用法:符号法和数字法。

(1)符号法:chmod u/g/o +/- r/w/x 文件名
  • +:添加权限;
  • -:移除权限;
  • 示例:
    • 给文件test.sh的所属组添加写权限:chmod g + w test.sh
    • 给文件test.sh的其他用户移除读权限:chmod o - r test.sh
    • 给文件test.sh的所有者添加执行权限:chmod u + x test.sh
(2)数字法:chmod 三位数字 文件名
  • 三位数字分别对应 u、g、o 的权限;
  • 示例:
    • 给文件test.sh设置权限rwxr-xr-x(所有者有全部权限,其他用户有读和执行权限):chmod 755 test.sh
    • 给文件test.sh设置所有用户都有读、写、执行权限(生产环境慎用! 不安全):chmod 777 test.sh
    • 给目录testdir设置权限rwxr-x---chmod 750 testdir
(3)查看权限

执行ll 文件名,即可查看文件的权限,比如:

ll version.sh
# 输出:-rwxr-x---. 1 root root 1908 Jan 10 2023 version.sh
# 权限部分:-rwxr-x---(-表示是文件,d表示是目录)

八、Shell 脚本:Linux 下的 “批处理”,比你想的更强大

        Shell 脚本是 Linux 运维的 “利器”—— 把一系列命令写在一个文件里,一次性执行,避免重复输入命令,还能实现循环、判断等逻辑,效率极高。

1. 什么是 Shell?

  • 本质:Shell 是 “命令解释器”,介于用户和 Linux 内核之间,负责把用户输入的命令翻译成内核能理解的指令;
  • Shell 脚本:把多个 Shell 命令按逻辑写在.sh文件中,执行文件就能批量运行命令;
  • 对比:比 Windows 批处理(.bat)功能强(支持函数、正则、管道等),比 Python/Java 更轻量(直接用 Linux 命令,无需编译)。

2. Shell 脚本的简单示例

比如写一个 “备份日志文件” 的脚本(backup_log.sh):

#!/bin/bash
# 备份/var/log目录下的所有.log文件到/backup/log
# 创建备份目录(如果不存在)
mkdir -p /backup/log
# 复制.log文件到备份目录
cp /var/log/*.log /backup/log/
# 输出备份完成信息
echo "日志备份完成!备份目录:/backup/log"
执行脚本步骤:
  1. 创建脚本文件:vim backup_log.sh,粘贴上述内容,保存退出;
  2. 给脚本添加执行权限:chmod u + x backup_log.sh(只有所有者能执行);
  3. 执行脚本:./backup_log.sh
  4. 查看结果:ls /backup/log,能看到复制的日志文件,且终端输出 “日志备份完成!”。

3. Shell 的进阶能力

Shell 不仅能批量执行命令,还支持:

  • 条件判断:比如判断文件是否存在、变量是否为空;
  • 循环:for 循环(遍历文件)、while 循环(持续监控);
  • 函数:把重复逻辑封装成函数,复用代码;
  • 管道与重定向:比如ls -l | grep .log(筛选.log 文件)、echo "test" > test.txt(把内容写入文件)。

后续学习可以从简单脚本入手,比如 “自动安装 JDK”“监控 Tomcat 进程” 等,逐步掌握复杂逻辑。

九、总结:Linux 入门的核心是 “多练”

        Linux 入门看似复杂,但只要按 “基础概念→安装系统→常用命令→软件配置” 的步骤学习,就能逐步掌握。这里给新手 3 个建议:

  1. 多敲命令:命令不是记出来的,是敲出来的 —— 比如lscdchmod这些命令,每天用 10 分钟练习,一周就能熟练;
  2. 多踩坑:遇到报错不要慌(比如连不上网、权限不足),先自己排查(看日志、百度报错信息),解决问题的过程就是进步的过程;
  3. 多实践:学完命令后,试着做一些小项目(比如用 Tomcat 部署一个 Web 项目、写一个备份脚本),把知识点用起来,才能真正掌握。

        Linux 的生态非常强大,从服务器运维到嵌入式开发,从大数据到人工智能,都离不开 Linux。入门只是开始,后续还可以学习 Shell 进阶、Linux 服务管理、Docker 容器等内容,逐步成为 Linux 高手!

        如果这篇笔记对你有帮助,欢迎点赞收藏,也欢迎在评论区分享你的 Linux 学习经验~

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐