尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

我的Linux学习方法:不会就问AI,动手熟能生巧

我的Linux学习方法:不会就问AI,动手熟能生巧
📅 发布时间:2026/7/23 17:06:43

文章目录

    • 我的方法:不懂就问,熟能生巧
    • Linux学习第一步:认识你的系统
      • 这个系统几个关键点
      • 装好系统先做三件事
    • Linux 学习第二步:常用命令动手练
      • 课前前提
      • 任务 0:先把常用工具补齐(之前已经执行过了,再运行一下看看是否安装成功)
      • 任务 1:认识当前身份与路径
      • 任务 2:目录查看与切换(Linux 最常用)
      • 任务 3:创建、删除、移动、复制文件 & 文件夹
      • 任务 4:查看文件内容
      • 任务 5:学会简单编辑文件(nano 新手友好)
      • 任务 6:查看系统资源状态
    • Linux学习第三步:用户与权限管理
      • 任务 1:查看系统已有用户
      • 任务 2:新建用户、设置密码
      • 任务 3:切换用户练习
      • 任务 4:用户相关常用删除 / 修改命令
      • 任务 5:理解文件权限(重中之重)
      • 任务 6:文件夹权限小区别
    • Linux 学习第四步:进程、磁盘与压缩解压
      • 一、进程是什么
      • 任务 1:查看进程
        • 1. top(实时动态查看,最常用)
        • 2. ps 静态查看进程快照
        • 3. 查看进程树 pstree
        • 4. 根据端口查进程(排查端口占用神器)
      • 任务 2:杀死异常进程
      • 任务 3:前后台任务(实操练习)
      • 二、磁盘管理全套命令
        • 1. 整体磁盘分区使用
        • 2. 查看当前目录各个文件夹大小
        • 3. 挂载 / 卸载(U 盘、数据盘必会)
      • 三、压缩 & 解压(日常打包备份必备)
        • 1. tar 打包压缩(Linux 最主流)
        • 2. zip / unzip 格式(Windows 互通)
        • 3. 常用解压万能口诀
      • 实在无法理解怎么办?
  • Linux 学习第五步:服务器网络排查与安全加固
    • 一、常用网络排查命令(排错必备)
      • 1、查看本机 IP、网卡信息
      • 2、测试连通性 ping
      • 3、路由查看
      • 4、查看监听端口(哪些程序对外开放端口)
      • 5、域名解析 nslookup / dig
      • 6、测试端口通不通
    • 二、UFW 防火墙实操(Ubuntu 默认防火墙)
      • 1、查看防火墙状态
      • 2、放行 SSH(必须先开!否则开启防火墙会被踢下线通常默认是开的)
      • 3、开启防火墙
      • 常用放行 / 删除规则
    • 三、SSH 安全加固(防暴力扫描、防入侵)
      • 编辑 SSH 配置文件
      • 核心修改项
      • 可选:修改 SSH 默认端口(示例 2222)
      • 重启 SSH 生效
      • 查看 SSH 状态
    • 四、日志查看(排查报错万能手段)
    • Linux学习第六步:服务管理与定时任务(了解
      • 第一部分 systemctl 系统服务(控制软件启停、开机自启)
        • 通用命令模板
        • 实操示例(ssh、nginx)
        • 辅助命令
      • 第二部分 Crontab 定时任务(服务器自动化核心)
        • 1. 基础操作命令
        • 2. crontab 时间格式(重点,必须记)
        • 3. 实战定时例子
        • 4. 查看定时任务执行日志
    • Linux学习第七步:Shell 脚本入门与实战
      • 一、什么是 Shell 脚本
      • 二、第一个脚本 hello.sh
        • 1. 创建脚本文件
        • 2. 给脚本添加执行权限
        • 3. 两种运行方式
      • 三、变量用法
      • 四、if 判断语句(最常用:判断文件 / 进程 / 端口)
      • 五、for 循环(批量操作文件)
      • 六、实战小脚本:服务器简易巡检脚本
      • 七、配合前面学的 crontab 自动化

我的方法:不懂就问,熟能生巧

学习 Linux,我只有一招:遇到不会的指令,直接问 AI,拿到答案后自己敲一遍,在反复实践中熟能生巧。

具体就三步:

  1. 问 AI——比如你想要干什么,就问这个使用 Linux 这么弄,直接截图发给它
  2. 自己敲——把 AI 给的命令原样敲进终端,看输出对不对。
  3. 举一反三——改改参数、换换条件,看看结果有什么不同。

就这么简单。命令忘不掉,是因为你用过了、改过了、踩过坑了。

Linux学习第一步:认识你的系统

如果是按照我上一篇文章做的话 0基础入门 Linux ,系统应该是Ubuntu 24.04.2 LTS,代号noble,属于Debian 家族。LTS 表示长期支持版,当学习服务器或线上业务服务器都很稳。

这个系统几个关键点

包管理器:apt

装东西、更新系统全用apt,不用旧版apt-get:

sudoaptupdate# 更新软件源索引sudoaptupgrade-y# 升级系统全部已装软件sudoaptinstallxxx# 安装软件

防火墙:ufw

Ubuntu 默认用ufw,不是 CentOS 的firewalld:

sudoufw allow22sudoufwenable

服务管理:systemctl

全 Linux 通用:

sudosystemctl start/stop/restart/enable 服务名

几个 24.04 的小细节

  • 默认没有ifconfig,查网卡用ip a
  • Python3 预装,但没有python命令,只有python3
  • 安全策略严格,默认禁止 root 直接 SSH 远程登录

装好系统先做三件事

1. 完整更新一遍(建议新手自己手敲熟悉一下,如果复制粘贴千万不要使用 ctrl+v)

sudoaptupdate&&sudoaptupgrade-y

2. 装常用工具,补齐新手命令

sudoaptinstallnet-tools treevimnanozipunzip-y
  • net-tools:找回ifconfig
  • tree:树形查看目录
  • vim/nano:两个编辑器,新手先熟悉nano

3. 确认当前是谁

whoami

如果输出不是root,后面装软件、改配置前面都得加sudo。

先把这几步跑一遍,系统就能用了,中间遇到不会的直接问 AI。

Linux 学习第二步:常用命令动手练

课前前提

你已经登录服务器,终端提示符一般类似:ubuntu@localhost:~$。所有命令前面带sudo的代表需要管理员权限,Ubuntu 24.04 日常不建议用 root 登录,新手使用也没事。

任务 0:先把常用工具补齐(之前已经执行过了,再运行一下看看是否安装成功)

复制整条运行:

sudoaptupdate&&sudoaptinstallnet-tools treevimnanozipunzip-y

作用:

  1. apt update:刷新软件源列表
  2. 安装:
    • net-tools:提供旧命令ifconfig
    • tree:树形展示文件夹
    • vim、nano:两个文本编辑器
    • zip、unzip:压缩解压工具

任务 1:认识当前身份与路径

依次逐条输入,看懂每条作用

whoami

查看你当前登录的用户名

pwd

Print Working Directory,打印你现在所在文件夹路径

hostname

查看服务器主机名

任务 2:目录查看与切换(Linux 最常用)

lsls-lls-a
  • ls:列出当前目录文件
  • ls -l:显示详细权限、大小、修改时间
  • ls -a:显示隐藏文件(以.开头的文件)
cd/etcpwd

cd /etc进入系统配置目录,再用 pwd 验证位置

cd..pwd

cd ..退回上一级目录

cd~pwd

cd ~快速回到你的个人家目录(日常存放自己文件的地方)

任务 3:创建、删除、移动、复制文件 & 文件夹

逐条执行练习:

# 创建空文件touchtest1.txt# 创建文件夹mkdirmydir# 复制 test1.txt 到 mydir 里面cptest1.txt mydir/# 重命名文件mvtest1.txt rename.txt# 移动文件进文件夹mvrename.txt mydir/# 删除单个文件rmmydir/rename.txt# 删除空文件夹rmdirmydir

⚠️ 高危命令演示(不要乱删系统文件)

rm -rf 目录名强制删除带内容的文件夹,一旦删除无法找回

任务 4:查看文件内容

三种方式:

# 一次性全部输出cat/etc/os-release# 查看前6行head-n6/etc/passwd# 查看最后8行tail-n8/var/log/syslog

任务 5:学会简单编辑文件(nano 新手友好)

nanohello.txt
  1. 随便输入一段文字:Hello Ubuntu 24.04 Linux
  2. 按Ctrl+O→ 回车确认文件名保存
  3. 按Ctrl+X退出编辑器

查看刚才写的内容:

cathello.txt

任务 6:查看系统资源状态

ipa# 或者ifconfig

查看服务器网卡、公网内网 IP

df-h

查看磁盘分区占用情况

free-h

查看总内存、已用、空闲内存

top

实时查看 CPU、内存、进程占用,按q退出

Linux学习第三步:用户与权限管理

Ubuntu 默认不让 root 远程登录,平时用普通账号干活,改系统配置前面加sudo临时获取管理员权限。(新手了解这个即可,学习使用 root 模式问题不大)

任务 1:查看系统已有用户

# 查看当前是谁whoami# 系统所有用户都存在这个文件里cat/etc/passwd

随便挑一行举例:ubuntu:x:1000:1000:Ubuntu:/home/ubuntu:/bin/bash

分段含义:

  • 用户名
  • 密码占位符
  • UID(用户 ID)
  • GID(组 ID)
  • 备注
  • 家目录
  • 登录 Shell

任务 2:新建用户、设置密码

我们新建一个练习用户user01:

sudoadduser user01

执行后按提示:

  1. 输入两次密码(自己记好)
  2. 后面全名、电话等一路回车跳过,最后输入Y确认创建

把user01加入管理员组,以后可以用 sudo:

sudousermod-aGsudouser01

验证是否添加成功:

iduser01

输出里出现sudo组就代表成功。

任务 3:切换用户练习

方式 1:临时切换到 user01

su- user01

输入刚才设置的密码,提示符会变化,代表切换成功。执行whoami确认身份。

切回你原来账号:

exit

任务 4:用户相关常用删除 / 修改命令

修改已有用户密码(自己改自己不用 sudo,改别人需要 sudo):

sudopasswduser01

删除用户(连带家目录一起删干净):

sudodeluser --remove-home user01

现在先别删,后面权限练习还要用,可以等本节全部做完再删。

任务 5:理解文件权限(重中之重)

先创建一个测试文件用来观察权限:

touchtestperm.txtls-ltestperm.txt

你会看到类似:-rw-r--r-- 1 ubuntu ubuntu 0 Jul 2 xxx testperm.txt

拆分权限-rw-r--r--:

  1. 第一位:文件类型(-普通文件,d文件夹,l软链接)
  2. 第 2~4 位:所有者权限(u)—— r 读、w 写、x 执行
  3. 第 5~7 位:所属组权限(g)
  4. 第 8~10 位:其他用户权限(o)

字母对应数字:r=4,w=2,x=1

例:rw-= 4+2=6,r--=4,整体就是644

修改权限 chmod 两种写法:

  1. 数字写法(最常用)
chmod755testperm.txtls-ltestperm.txt

755 含义:所有者读写执行,组和其他人读 + 执行

  1. 字母写法
# 给所有人增加执行权限chmod+x testperm.txt# 去掉其他用户写权限chmodo-w testperm.txt

修改文件归属用户 / 组 chown:

sudochownuser01:user01 testperm.txtls-ltestperm.txt

文件归属就变成 user01 了。

任务 6:文件夹权限小区别

文件夹必须有x权限才能进入浏览内容:

mkdirpermdirchmod600permdirls-ldpermdir# 尝试进入cdpermdir

此时会权限不足,修改权限后正常进入:

chmod700permdircdpermdir

Linux 学习第四步:进程、磁盘与压缩解压

一、进程是什么

程序运行起来就是进程。服务器卡顿、端口占用、卡死程序,都要靠进程命令排查,有的时候服务器CPU满了,只能重启服务器,所以下载东西之前要先看看服务器能不能带的动

任务 1:查看进程

1. top(实时动态查看,最常用)
top
  • 按P:按 CPU 占比排序
  • 按M:按内存占比排序
  • 按q:退出界面
2. ps 静态查看进程快照
psauxpsaux|grepbash

|是管道符,把前一个命令的输出传给后面命令做过滤。

3. 查看进程树 pstree
pstree

没装就执行:

sudoaptinstallpsmisc-y
4. 根据端口查进程(排查端口占用神器)
sudolsof-i:80

或者:

sudonetstat-tulnp

任务 2:杀死异常进程

格式:kill 进程 PID

温和终止:

kill1234

强制杀死(程序僵死无响应时用):

kill-91234

任务 3:前后台任务(实操练习)

# & 放到后台运行sleep300&# 查看后台任务jobs# 把后台任务调到前台fg编号# Ctrl+Z 暂停当前程序放入后台# bg 编号 让暂停任务继续后台运行

二、磁盘管理全套命令

1. 整体磁盘分区使用
df-h

-h表示人性化单位(GB/MB),容易看懂。

2. 查看当前目录各个文件夹大小
du-sh*
  • -s:汇总大小
  • -h:友好单位
3. 挂载 / 卸载(U 盘、数据盘必会)

先看磁盘列表:

lsblk

示例挂载用法(仅练习理解,不要乱挂载系统盘):

sudomkdir/mnt/testdisksudomount/dev/sdb1 /mnt/testdisk# 卸载sudoumount/mnt/testdisk

三、压缩 & 解压(日常打包备份必备)

1. tar 打包压缩(Linux 最主流)

创建测试文件夹用于练习:

mkdirtar_testtouchtar_test/a.txt tar_test/b.txt

打包压缩为 tar.gz:

tar-zcvftest.tar.gz tar_test/

参数解释:

  • z:gzip 压缩
  • c:创建包
  • v:显示过程
  • f:指定包名

解压 tar.gz:

tar-zxvftest.tar.gz

只打包不压缩:

tar-cvftest.tar tar_test/tar-xvftest.tar
2. zip / unzip 格式(Windows 互通)
# 压缩文件夹zip-rtest.zip tar_test/# 解压unziptest.zip
3. 常用解压万能口诀
  • tar.gz:tar -zxvf xxx.tar.gz
  • tar.bz2:tar -jxvf xxx.tar.bz2
  • zip:unzip xxx.zip

实在无法理解怎么办?

没事,多问 AI,多敲几次自然就熟了。

Linux 学习第五步:服务器网络排查与安全加固

一、常用网络排查命令(排错必备)

1、查看本机 IP、网卡信息

ipa# 老命令(需安装net-tools)ifconfig

可查看内网 IP、网卡状态、公网绑定网卡信息。

2、测试连通性 ping

# 持续 ping,Ctrl+C 停止pingwww.baidu.com# 发送4个包自动结束ping-c4www.baidu.com

ping 不通一般判断:服务器外网断网 / DNS 异常 / 网关问题

3、路由查看

route-niproute

4、查看监听端口(哪些程序对外开放端口)

# 传统命令sudonetstat-tulnp# 新版更快推荐sudoss-tulnp

参数说明:

  • t:tcp 端口
  • u:udp 端口
  • l:监听中端口
  • n:不解析域名,显示纯数字 IP
  • p:显示对应进程 PID

5、域名解析 nslookup / dig

nslookupwww.baidu.com# 安装 digsudoaptinstalldnsutils-ydigwww.baidu.com

用于排查:域名打不开、DNS 解析异常、DNS 污染问题。

6、测试端口通不通

# curl 测试本机端口curl127.0.0.1:80# telnet 测试端口sudoaptinstalltelnet-ytelnet127.0.0.180

二、UFW 防火墙实操(Ubuntu 默认防火墙)

1、查看防火墙状态

sudoufw status

默认:inactive 关闭状态

2、放行 SSH(必须先开!否则开启防火墙会被踢下线通常默认是开的)

sudoufw allow22/tcp

3、开启防火墙

sudoufwenable# 验证sudoufw status

常用放行 / 删除规则

# 放行80网页端口sudoufw allow80/tcp# 放行443 HTTPSsudoufw allow443/tcp# 放行一段端口 3000-4000sudoufw allow3000:4000/tcp# 查看规则编号sudoufw status numbered# 删除第2条规则sudoufw delete2# 关闭防火墙(测试用,不建议生产关闭)sudoufw disable# 重置所有防火墙规则sudoufw reset

三、SSH 安全加固(防暴力扫描、防入侵)

编辑 SSH 配置文件

sudonano/etc/ssh/sshd_config

核心修改项

PermitRootLogin no # 禁止 root 远程登录(最重要) PasswordAuthentication yes

可选:修改 SSH 默认端口(示例 2222)

# 先放行新端口sudoufw allow2222/tcp

配置文件添加/修改:

Port 2222

保存退出:Ctrl+O → 回车 → Ctrl+X

重启 SSH 生效

sudosystemctl restart sshd

改端口后连接方式:

ssh用户名@IP-p2222

查看 SSH 状态

systemctl status sshd

四、日志查看(排查报错万能手段)

# 实时查看系统日志tail-f/var/log/syslog# 查看登录认证日志(查爆破、登录记录)tail-n30/var/log/auth.log

Linux学习第六步:服务管理与定时任务(了解

第一部分 systemctl 系统服务(控制软件启停、开机自启)

Linux 所有后台程序(Nginx、MySQL、ssh、防火墙)都叫服务,统一用 systemctl 管理。

通用命令模板
sudosystemctl start 服务名# 立即启动sudosystemctl stop 服务名# 立即停止sudosystemctl restart 服务名# 重启(先停再开)sudosystemctl reload 服务名# 重载配置(不中断进程)sudosystemctlenable服务名# 设置开机自动启动sudosystemctl disable 服务名# 取消开机自启sudosystemctl status 服务名# 查看运行状态、报错日志
实操示例(ssh、nginx)
  1. 查看 SSH 服务状态
systemctl status sshd
  1. 安装 Nginx 练手
sudoaptinstallnginx-y
  1. 操作 Nginx
sudosystemctl start nginxsudosystemctlenablenginx systemctl status nginx

浏览器访问服务器IP就能看到 nginx 页面。

辅助命令
# 列出所有正在运行的服务systemctl list-units--type=service--state=running# 查看开机自启的服务systemctl list-unit-files--type=service|grepenabled

第二部分 Crontab 定时任务(服务器自动化核心)

作用:定时自动执行脚本、备份、清理日志、拉取数据。

1. 基础操作命令
crontab-e# 编辑当前用户定时任务(第一次选nano)crontab-l# 查看当前已有定时任务crontab-r# 删除当前用户所有定时任务(谨慎)sudocrontab-e# 编辑root用户定时任务(系统级)
2. crontab 时间格式(重点,必须记)
分 时 日 月 周 要执行的命令 * * * * * command

字段取值:

  1. 分:0-59
  2. 时:0-23
  3. 日:1-31
  4. 月:1-12
  5. 周:0-6(0 = 周日)

符号含义:

  • *每单位
  • */5每 5 分钟
  • 1,3,5第 1、3、5
  • 10-2010 到 20 区间
3. 实战定时例子
# 1. 每1分钟输出一段文字到日志*/1 * * * *echo"定时任务测试">>~/cron_log.txt# 2. 每天凌晨2点清理nginx日志02* * *sudotruncate-s0/var/log/nginx/access.log# 3. 每周日凌晨3点备份家目录03* *0tar-zcf/home/ubuntu/backup.tar.gz /home/ubuntu
4. 查看定时任务执行日志
tail-f/var/log/syslog|grepCRON

Linux学习第七步:Shell 脚本入门与实战

一、什么是 Shell 脚本

把多条 Linux 命令写到一个.sh文件里,一次性批量执行,替代手动重复敲命令,适合定时备份、批量操作、服务器巡检。

二、第一个脚本 hello.sh

1. 创建脚本文件
nanohello.sh

写入以下内容:

#!/bin/bash# 第一行叫解释器声明,固定格式,必须写开头# 井号是注释,程序不会执行echo"===== 我的第一个Shell脚本 ====="echo"当前用户名:$USER"echo"当前路径:$PWD"echo"当前系统时间:$(date)"

保存:Ctrl+O回车,退出Ctrl+X

2. 给脚本添加执行权限
chmod+x hello.sh
3. 两种运行方式
# 方式1(推荐)./hello.sh# 方式2bashhello.sh

三、变量用法

新建var.sh练习:

nanovar.sh

写入:

#!/bin/bash# 自定义变量,等号两边不能有空格name="Linux学习者"num=666# 输出变量用 $变量名echo$nameecho$num# 命令赋值变量now=$(date+"%Y-%m-%d %H:%M:%S")echo当前时间:$now

授权执行:

chmod+x var.sh ./var.sh

四、if 判断语句(最常用:判断文件 / 进程 / 端口)

新建if_test.sh:

#!/bin/bashfile="test.txt"# 判断文件是否存在if[-f$file];thenecho"$file文件存在"elseecho"$file文件不存在,自动创建"touch$filefi

运行测试:

chmod+x if_test.sh ./if_test.sh

常用判断参数:

  • -f 文件:是否是普通文件
  • -d 文件夹:是否存在目录
  • -x 文件:文件是否有执行权限

五、for 循环(批量操作文件)

创建loop.sh,批量创建 5 个测试文件:

#!/bin/bash# 循环1到5foriin{1..5}dotouch"file_$i.txt"echo"已创建 file_$i.txt"done

执行后家目录会多出 file_1 ~ file_5.txt

六、实战小脚本:服务器简易巡检脚本

新建check.sh,一键查看内存、磁盘、负载:

#!/bin/bashecho"========服务器巡检========"echo"当前时间:$(date)"echo""echo"1. 内存使用:"free-hecho""echo"2. 磁盘占用:"df-hecho""echo"3. 系统负载:"uptime

授权运行:

chmod+x check.sh ./check.sh

七、配合前面学的 crontab 自动化

需求:每 30 分钟自动执行巡检脚本,输出日志

  1. 先获取脚本完整路径
pwd# 假设输出 /home/ubuntu
  1. 编辑定时任务
crontab-e

添加一行:

*/30 * * * * /home/ubuntu/check.sh >> /home/ubuntu/check_log.txt

每 30 分钟自动巡检并保存日志,完全不用手动操作。

到这里你已经算基本入门了Linux了,剩下的就是靠你自己在实践中一点一点巩固,所谓是熟能生巧

相关新闻

  • 文献阅读 260722-Nonlinear increase of compound drought-heatwave events since the early 2000s
  • C++后端开发:基于libcpr实现HTTP断点续传的完整方案
  • Spring AI Alibaba Graph智能工作流-顺序执行

最新新闻

  • 塑料挤出制杯一体化设备怎么选?别只看参数,先搞清工艺匹配、成本结构和交付边界 - 中国品牌价值观察网
  • 从技术层级角度看多链路聚合通信技术
  • 集团数据质量管控体系建设(数据治理)
  • IPv6相关知识(smb/ssh/scp/浏览器访问)及碰到的坑
  • 静态路由综合练习
  • 2026北京名包“非专柜渠道”回收警示:代购包、奥莱款、折扣村货,回收时被区别对待吗? - 日常财经早知道

日新闻

  • 亨得利盐城维修点在哪里?手表维修保养地址指南**公示(2026年7月最新) - 亨得利官方
  • 提升.NET API安全性:Boxed.AspNetCore.Swagger认证授权最佳实践
  • 帝舵佛山**网点地址更新:2026年7月售后热线电话与服务客户指南 - 帝舵中国官方服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号