最新资讯

  • Linux复习笔记(一)基础命令和操作

Linux复习笔记(一)基础命令和操作

2025-05-19 12:00:54 0 阅读

遇到的问题,都有解决方案,希望我的博客能为你提供一点帮助。

一、Linux中的基础命令和操作(约30%-40%)

1.用户和组(5%左右)

1.1用户简介(了解)

要求:了解,知道有三个用户类型,知道之间的区别

在Linux中,主要分为以下三种用户类型:

(1)root用户:在Linux系统中,root用户的uid为0,该用户对所有的命令和文件具有访问、修改、执行的权限。

(2)普通用户:系统中大多数的用户为普通用户,需要管理员用户进行创建,拥有的权限收到一定的限制,一般只在用户自己的主目录拥有完全权限,提升权限时,需要使用sudo命令。

(3)系统用户:通常会用于一个守护进程或者软件,这类用户在安装系统后默认存在,且默认情况下通常不允许通过shell的交互式登录系统,但此类用户方便系统管理,对于系统的正常运行是必不可缺的。

 1.2用户管理的三个配置文件

1.2.1 /etc/passwd(掌握)

文件格式如下:

 文件作用:

  • /etc/passwd 的角色/etc/passwd 是用于记录用户基本信息的文件,如同系统中用户的花名册,包含系统内所有用户的登录相关记载。例如系统中的 root 用户、普通用户等,都在该文件中有对应的记录行,记录着用户名、用户 ID(UID)、组 ID(GID)、家目录、登录 Shell 等基本信息。
  • 登录验证流程
    • 账号检查:当用户尝试登录系统时,系统首先会查阅 /etc/passwd 文件,查看是否存在用户输入的账号。比如输入用户名 testuser ,系统就在 /etc/passwd 中查找是否有以 testuser 为用户名的记录行。
    • 确定 UID:若找到对应的账号记录,系统就会从记录中提取该用户的用户 ID(UID) 。UID 是系统识别用户身份的重要标识,每个用户都有唯一的 UID 。
    • 密码核对:系统依据确定的 UID ,到 /etc/shadow 文件中找到对应的加密密码。因为 /etc/shadow 存储着用户加密后的密码以及相关密码属性信息。然后将用户输入的密码进行加密处理,并与 /etc/shadow 中存储的加密密码进行比对。
    • 登录成功:如果密码核实无误,说明用户身份合法,系统允许用户登录。登录后,系统会读取该用户的配置文件,加载用户个性化的设置,如环境变量、Shell 配置等,从而为用户提供相应的操作环境 。

要求:主要理解/etc/passwd文件的格式,看到具体的文件内容可以知道每一项代表的是啥

/etc/passwd/etc/shadow
主要存储内容用户名:密码占位符:用户 ID:组 ID:用户注释:家目录:登录 Shell用户名、加密密码、密码最后修改时间、密码最短有效期、密码最长有效期、密码警告期、密码不活动期、账号失效时间
文件权限通常为 rw-r--r--,所有用户可读,root 可写通常为 rw-------,仅 root 可读写
作用提供用户基本信息,供系统识别用户身份、确定用户家目录及默认 Shell 等用于验证用户输入密码是否正确,保障密码安全
密码相关早期存加密密码,现多为占位符(x存储经加密算法处理后的真实密码
互补关系体现为系统提供用户基本属性框架,与密码信息分离,保障安全性补充存储密码及相关属性,与基本信息配合完成用户身份验证

示例:

解释: 

  1. root:x:0:0:root:/root:/bin/bash
    • root:用户名,是用户登录系统时使用的名称 。
    • x:密码占位符,在早期系统中存放加密后的密码,现在密码通常存储在 /etc/shadow 文件,这里仅为占位 。
    • 0:用户 ID(UID),0 代表超级用户,具有系统最高权限 。
    • 0:组 ID(GID),表明该用户所属初始组的 ID ,这里 0 对应的组一般也是 root 组 。
    • root:用户描述字段,可用于记录用户相关信息,如真实姓名等,这里是 root 。
    • /root:用户的家目录,root 用户的家目录为 /root ,用于存放用户个人文件等 。
    • /bin/bash:用户登录后使用的默认 Shell,bash 是常用的交互式 Shell,提供命令行操作环境 。
  2. bin:x:1:1:bin:/bin:/sbin/nologin
    • bin:用户名,系统用户,主要用于运行一些系统相关的二进制文件程序 。
    • x:密码占位符 。
    • 1:用户 ID(UID) 。
    • 1:组 ID(GID) 。
    • bin:用户描述 。
    • /bin:家目录,存放相关程序文件 。
    • /sbin/nologin:表示该用户不能用于交互式登录系统,nologin 会阻止用户登录并提示该账号不可用 。
 1.2.2 /etc/shadow(一般了解就行)

文件格式:

示例: 

分析:

  1. root:用户名,代表系统的超级用户,拥有最高权限。
  2. $6$.fFMoeVPf9Kh5oGb$Il3UTpAdkyL63cZSewcK33jq r/8ZJJr04Ue.Cq6Fd1tjUxekl75W9K7ukjC57UntX/ :加密后的密码$6$ 表示采用 SHA - 512 加密算法 ,中间部分 .fFMoeVPf9Kh5oGb 是盐值(用于增强密码加密安全性 ),后面部分是加密后的密码字符串。
  3. :密码最后修改时间,指从 1970 年 1 月 1 日起到密码最后一次修改时的天数 ,这里表示密码最后修改时间距离 1970 年 1 月 1 日过去的天数
  4. 0:最小修改时间间隔,密码最近更改日期到下次允许更改日期之间的天数。0表示随时可以修改密码。
  5. 99999:密码最大使用期限,即密码必须修改的最长天数,超过此天数密码将失效,这里表示大约 274 年(99999÷365≈274 )才会强制要求修改密码。
  6. 7:密码警告时间,指密码过期前提前警告用户修改密码的天数 ,这里表示在密码过期前 7 天,系统会提醒用户修改密码。
  7. :::后面几个字段(密码最短使用期限、密码禁用期、账号失效时间、保留字段 )为空 ,表示未设置相关内容。
1.2.3 /etc/group(一般了解就行)

文件格式:

示例:

 分析:

  1. root:x:0:
    • root:用户组名,此为系统中权限最高的用户组,通常超级用户 root 属于该组。
    • x:密码占位符,在早期系统中用于存放用户组密码,但现在很少使用,一般仅为占位。
    • 0:组 ID(GID),0 这个 GID 具有特殊意义,与超级用户相关联。
    • 空字段:该字段用于记录属于这个用户组的用户名列表,这里为空,不代表没有成员 ,像 root 用户默认属于 root 组,但不一定在此列出。
  2. bin:x:1:
    • bin:用户组名,主要用于与系统二进制文件相关的程序或服务 。
    • x:密码占位符 。
    • 1:组 ID(GID) 。
    • 空字段:同样用于记录组成员,此处为空,但不意味着没有成员归属该组 。
1.2.4 /etc/gshadow (了解)

 文件格式:

1.3用户管理操作(掌握)

 经典四大件:增删改查

要求熟练掌握:增删改查操作

操作类型命令及示例解释
添加用户sudo useradd [options] username
示例:
sudo useradd -m username
sudo passwd username
useradd 用于创建新用户,[options] 是可选项。-m 选项表示在创建用户时自动为其创建家目录。创建用户后,使用 passwd 命令为该用户设置密码,执行该命令后会提示输入新密码及确认密码。
删除用户sudo userdel -r usernameuserdel 用于删除用户,-r 选项表示在删除用户的同时,会一并删除该用户的家目录和邮件目录,避免残留无用的数据。
修改用户信息 - 更改用户名sudo usermod -l newusername oldusernameusermod 用于修改用户的各种属性。-l 选项用于指定新的用户名,此命令将原用户名 oldusername 更改为 newusername
修改用户信息 - 更改用户登录 shellsudo usermod -s /bin/bash usernameusermod 的 -s 选项用于指定用户登录时使用的 shell。这里将用户 username 的登录 shell 设置为 /bin/bash
查看用户信息 - 显示当前用户whoami该命令会显示当前登录系统的用户的用户名。
查看用户信息 - 显示系统中所有用户who此命令会显示当前登录到系统的所有用户的相关信息,包括用户名、登录终端、登录时间等。
查看用户信息 - 显示当前登录系统的用户列表users该命令会以简洁的方式列出当前登录到系统的所有用户的用户名。

对ueradd的参数详细讲解:

1. -c:加上备注文字

sudo useradd -c "This is a test user" testuser

解释:此命令创建了一个名为 testuser 的新用户,并且添加了备注信息 “This is a test user”。你可以通过查看 /etc/passwd 文件中该用户的记录,在对应字段看到添加的备注内容。

2. -d:指定新账户的主目录

sudo useradd -d /home/newtestuser testuser2

解释:该命令创建了用户 testuser2,并将其主目录指定为 /home/newtestuser。默认情况下,useradd 会为用户在 /home 目录下创建以用户名命名的主目录,但使用 -d 选项可以自定义主目录位置。

3. -g:指定新账户主组的名称或 ID

# 通过组名指定
sudo useradd -g staff testuser3
# 通过组 ID 指定
sudo useradd -g 1001 testuser4

解释

第一条命令创建用户 testuser3,并将其主组设置为 staff 组。

第二条命令创建用户 testuser4,将其主组设置为 ID 为 1001 的组。可以通过 /etc/group 文件查看组名和对应的组 ID。

4. -G:设置新账户的附加组列表

sudo useradd -G staff,developers testuser5

解释:此命令创建了用户 testuser5,并将其添加到 staff 和 developers 这两个附加组中。除了主组外,用户可以属于多个附加组,从而拥有这些组的相关权限。

5. -p:设置加密后的新账户密码

# 假设加密后的密码是通过 openssl passwd -1 生成的
encrypted_password=$(openssl passwd -1 "password123")
sudo useradd -p "$encrypted_password" testuser6

解释:首先使用 openssl passwd -1 命令生成了密码 “password123” 的加密形式,然后将其作为参数传递给 -p 选项,为新创建的用户 testuser6 设置了加密后的密码。

6. -M:不创建用户的主目录

sudo useradd -M testuser7

解释:该命令创建了用户 testuser7,但不会为其创建默认的主目录。在某些场景下,如用户不需要在系统上有个人存储目录时可以使用此选项。

1.4群组管理操作(掌握)

 经典四大件:增删改查

要求熟练掌握:增删改查操作

操作类型命令及示例详细解释
添加组sudo groupadd groupname
示例:sudo groupadd developers
groupadd 是用于在 Linux 系统中创建新用户组的命令。使用 sudo 以超级用户权限执行此命令,确保有足够的权限进行操作。groupname 是要创建的组的名称,如示例中的 developers 组。执行该命令后,系统会在 /etc/group 文件中添加一条新的记录,记录该组的相关信息。
删除组sudo groupdel groupname
示例:sudo groupdel developers
groupdel 用于删除指定的用户组。同样需要 sudo 权限。groupname 是要删除的组的名称,如示例中的 developers 组。执行该命令时,系统会检查该组是否有用户属于它,如果有用户属于该组,通常不能直接删除,需要先将用户从该组移除或转移到其他组。删除成功后, /etc/group 文件中对应的组记录会被移除。
将用户添加到组sudo usermod -aG groupname username
示例:sudo usermod -aG developers john
usermod 用于修改用户的属性。-aG 选项表示将用户添加到一个附加的组,而不是主要组。-G 用于指定要将用户添加到的组,-a 表示追加,即把用户添加到指定组作为附加组,而不是替换其主要组,-g 则是添加到主组。groupname 是目标组的名称,username 是要添加到组的用户的名称,如示例中将用户 john 添加到 developers 组作为附加组。执行该命令后,用户会获得该组的相关权限。
从组中移除用户sudo gpasswd -d username groupname
示例:sudo gpasswd -d john developers
gpasswd 用于管理用户组的密码和成员。-d 选项表示从指定组中删除用户。username 是要从组中移除的用户的名称,groupname 是目标组的名称,如示例中将用户 john 从 developers 组中移除。执行该命令后,用户将不再拥有该组的相关权限。
查看组成员groups username
示例:groups john
groups 命令用于显示指定用户所属的所有组。username 是要查看其所属组的用户的名称,如示例中查看用户 john 所属的所有组。执行该命令后,系统会列出该用户所属的所有组的名称。

为群组某一成员(如YXS)设置root权限(修改/etc/sudoers)

[root@@localhost ~]#visudo
## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
YXS ALL=(ALL) ALL
  • root ALL=(ALL) ALL :这是一个 sudo 规则。第一个 root 表示用户名,即此规则针对 root 用户;ALL 表示该用户可以从任何主机登录;(ALL) 表示该用户可以以任何用户身份执行命令;最后的 ALL 表示该用户可以执行任何命令。这条规则意味着 root 用户可以不受限制地执行任何 sudo 命令。
  • YXS ALL=(ALL) ALL :这也是一个 sudo 规则。YXS是用户名,此规则表示用户 YXS 可以从任何主机登录,并且可以以任何用户身份执行任何命令。即用户YXS拥有和 root 一样的 sudo 权限,在执行需要 sudo 授权的命令时,等同于 root 权限(前提是输入正确密码等满足验证条件 )。 这样设置后,用户YXS就可以在系统中执行一些原本只有 root 权限才能进行的操作,如安装软件、修改系统配置文件等 。不过这种赋予全部权限的设置需要谨慎,因为如果用户YXS 账户被恶意利用,可能会对系统安全造成严重威胁 。

如何限制群组成员的权限 (修改/etc/sudoers)

 例子:

对于Z用户和L用户进行限制,允许Z用户可以执行/usr/bin、/bin下面的所有命令,限制Z用户不可以修改其他用户的密码和kill其他用户的进程,L用户可以使用/bin目录下面所有命令,但是不能修改其他用户的密码以及kill其他用户的进程和使用nmcli命令

1. 为 Zhang 用户设置权限

使用 visudo 命令在 /etc/sudoers.d 目录下创建与用户同名的策略文件并进行配置:

sudo visudo -f /etc/sudoers.d/Z

在打开的文件中添加如下内容:

Z ALL=(ALL) /usr/bin/*, /bin/*, !/usr/bin/passwd, !/bin/kill

解释:

  • Z :用户名,表明该规则针对用户 Z。

  • ALL=(ALL) :表示 Z可以从任何主机登录,并且可以以任何用户身份执行命令。

  • /usr/bin/*, /bin/* :允许 Z 执行 /usr/bin 和 /bin 目录下的所有命令 。

  • !/usr/bin/passwd, !/bin/kill :! 符号表示禁止,即不允许 Z 执行 /usr/bin/passwd (修改其他用户密码 )和 /bin/kill (终止其他用户进程 )命令。

2. 为 L 用户设置权限

同样使用 visudo 命令创建策略文件:

sudo visudo -f /etc/sudoers.d/L

在打开的文件中添加以下内容:

L ALL=(ALL) /bin/*, !/usr/bin/passwd, !/bin/kill, !/usr/bin/nmcli

解释:

  • L :用户名,此规则针对用户 L。

  • ALL=(ALL) :意味着 L 可以从任何主机登录,且能以任何用户身份执行命令。

  • /bin/* :允许 Li 执行 /bin 目录下的所有命令。

  • !/usr/bin/passwd, !/bin/kill, !/usr/bin/nmcli :禁止 Li 执行 /usr/bin/passwd (修改其他用户密码 ) 、/bin/kill (终止其他用户进程 )以及 /usr/bin/nmcli 命令。

1.5 几个特殊的命令 setuid(SUID)、setgid(SGID)和Sticky Bit(SBID)

1.5.1 setuid(SUID)

作用:

  • 当用户执行设置了SUID的二进制文件时,进程将以文件所有者的身份运行,而非执行者的身份。
  • 仅对可执行文件有效,脚本通常不继承SUID(出于安全考虑)。

典型场景:
例如/usr/bin/passwd命令,普通用户执行时,临时获得root权限以修改受保护的/etc/shadow文件。

设置方法:

符号模式:chmod u+s

数字模式:在权限前加4,如chmod 4755 (权限为-rwsr-xr-x)。

查看权限:
ls -l中所有者的执行位显示为s(若同时有执行权限)或S(无执行权限)。

说明:

  • 只有命令才能被设定setuid权限,其他文件和Shell脚本不能;
  • 只有具有可执行权限的命令,才能设置setuid ;
  • setuid权限,能够使命令的执行者在执行该命令时,自动获取该命令所有者身份,且只在命令执行过程中有效; 

1.5.2 setgid(SGID)(共享文件)

作用

对文件:执行时进程的有效组变为文件的所属组。

对目录:在该目录下新建的文件或子目录,继承目录的所属组(而非用户的主组)。

典型场景
共享目录(如/data/team)设置SGID后,所有新建文件自动归属团队组,便于协作。

 

设置方法

符号模式chmod g+s <目录或文件>

数字模式:在权限前加2,如chmod 2775

(权限为drwxr-sr-x)。

查看权限
ls -l中组的执行位显示为sS

说明:  

  • 设置setgid的目录时,前提用户对该目录具有r和x;   
  •  用户进入此目录有,被赋予该目录的用户组身份;     
  • 若用户在此目录下具有w,则创建的文件和目录,将属于此目录的用户组。

1.5.3 Sticky Bit(SBID)

2.文件/目录操作 (10%-20%左右)

2.1文件基础知识汇总

类别内容说明重点
文件类型普通文件 (-)文本、二进制、图像等常规文件。✔️ 最常见类型
目录 (d)存储文件和其他目录的容器。✔️ 使用 mkdir 创建
符号链接 (l)指向其他文件/目录的快捷方式。✔️ 使用 ln -s 创建
字符设备文件 (c)按字符流处理的设备(如终端 /dev/tty)。
块设备文件 (b)按块处理的设备(如硬盘 /dev/sda)。
套接字 (s)进程间通信文件。
管道 (p)进程间单向通信。
权限与所有权用户权限 (rwx)所有者权限:读(r)、写(w)、执行(x)。✔️ 权限管理核心
组权限 (rwx)所属用户组的权限。
其他用户权限 (rwx)其他用户的权限。✔️ 安全关键点
权限数字表示法r=4w=2x=1(如 755 表示 rwxr-xr-x)。✔️ 常用 chmod 755(目录)
所有者与所属组通过 chown 和 chgrp 修改文件所有者和组。
目录结构/(根目录)所有目录和文件的起点。✔️ 绝对路径起点
/bin 和 /usr/bin基础命令和用户命令的二进制文件。✔️ 常用命令存放位置
/etc系统配置文件(如网络配置、用户信息)。✔️ 关键配置文件位置
/home普通用户的家目录。✔️ 用户文件默认位置
/root超级用户的家目录。
/var可变数据(如日志、数据库)。✔️ 日志文件存放位置
路径类型绝对路径从根目录开始的完整路径(如 /home/user/file.txt)。✔️ 精确指向文件
相对路径相对于当前目录的路径(如 ./file.txt 或 ../folder)。✔️ 灵活但需注意当前目录
链接类型硬链接直接指向文件数据的多个入口,共享inode,不能跨文件系统。✔️ 修改同步,删除不影响原文件
符号链接(软链接)存储目标路径的快捷方式,可跨文件系统,原文件删除后失效。✔️ 常用,类似Windows快捷方式
常用命令ls -l查看文件详细信息(类型、权限、所有者等)。✔️ 基础命令
chmod修改 文件权限(如 chmod 755 file)。✔️ 权限管理核心命令
chown修改文件所有者(如 chown user:group file)。
mkdir/rmdir创建/删除目录。
touch创建空文件或更新文件时间戳。
cp/mv/rm复制/移动/删除文件。✔️ 高频操作命令
ln创建链接(ln file hardlink 或 ln -s file softlink)。✔️ 区分硬链接和软链接

2.2基础命令汇总(重点掌握红色标记的

类别命令语法/示例说明重点
文件操作lsls -l(详细信息)
ls -a(包含隐藏文件)
列出目录内容。-l显示权限、所有者、大小等。✔️ 最基础命令,-l必学
cdcd /path(切换目录)
cd ..(返回上级目录)
切换工作目录。✔️ 路径操作核心
cpcp file1 file2
cp -r dir1 dir2(复制目录)
复制文件或目录。✔️ -r用于目录复制
mvmv old.txt new.txt
mv file /target(移动文件)
移动或重命名文件。✔️ 高频操作
rmrm file
rm -r dir(删除目录)
rm -f(强制删除)
删除文件或目录。慎用✔️ -r-f需谨慎
mkdirmkdir dirname
mkdir -p dir1/dir2(递归创建)
创建目录。
touchtouch file.txt创建空文件或更新文件时间戳。
catcat file.txt
cat file1 > file2(合并内容)
查看或拼接文件内容。✔️ 快速查看文件
more/lessmore file.txt
less file.txt(支持上下滚动)
分页查看长文件内容。✔️ less功能更强大
findfind /path -name "*.txt"
find . -type f(搜索文件)
根据名称、类型等查找文件。✔️ 高级搜索必备
权限管理chmodchmod 755 file
chmod u+x file(添加执行权限)
修改文件权限(用户/组/其他)。✔️ 权限控制核心命令
chownchown user:group file修改文件所有者和所属组。✔️ 权限分配关键
chgrpchgrp group file修改文件所属组。
系统监控toptop实时监控系统进程和资源占用(CPU、内存等)。✔️ 性能分析工具
psps aux(查看所有进程)
ps -ef | grep "nginx"
显示当前进程状态。✔️ 进程管理常用
dfdf -h(以易读格式显示)查看磁盘空间使用情况。✔️ 磁盘管理必备
freefree -h查看内存使用情况。
unameuname -a(显示全部系统信息)查看系统内核信息。
网络操作pingping example.com测试网络连通性。✔️ 网络故障排查
curl/wgetcurl -O http://example.com/file
wget http://example.com/file
从网络下载文件。✔️ 常用下载工具
sshssh user@host远程登录服务器。✔️ 远程管理核心
scpscp file user@host:/path(上传)
scp user@host:/path/file .(下载)
安全复制文件(基于SSH)。✔️ 跨服务器传输文件
netstatnetstat -tuln(查看端口监听状态)显示网络连接、路由表等信息。
软件管理yum/dnf(RHEL)yum install package
dnf remove package
RHEL/CentOS/Fedora包管理工具。✔️ RHEL系必学
进程管理killkill -9 PID(强制终止进程)终止指定进程(kill 只是发送信号)。✔️ 强制终止进程
killallkillall process_name终止所有同名进程。
bg/fgbg(后台运行)
fg %1(前台恢复任务1)
控制后台/前台任务。

压缩与解压

(了解)

tartar -cvf archive.tar dir(打包)
tar -xvf archive.tar(解包)
归档和解压文件。✔️ 常用参数-c/x/v/z
gzip/gunzipgzip file(压缩)
gunzip file.gz(解压)
压缩/解压.gz文件。
zip/unzipzip archive.zip file
unzip archive.zip
压缩/解压.zip文件。
搜索与过滤grepgrep "text" file
grep -r "text" /dir(递归搜索)
在文件中搜索文本模式。✔️ 文本处理核心工具
findfind / -name "*.log" -mtime +7(查找7天前的日志文件)根据条件(名称、时间等)查找文件。✔️ 高级文件搜索
locatelocate file.txt快速查找文件(依赖数据库更新)。
用户管理useradduseradd username
useradd -m username(创建家目录)
添加新用户。✔️ 系统管理员常用
passwdpasswd username修改用户密码。
su/sudosu - username(切换用户)
sudo command(以root权限执行)
切换用户或提权操作。✔️ 权限提升核心
其他实用命令echoecho "Hello"
echo $PATH(输出环境变量)
输出文本或变量内容。
manman ls查看命令手册。✔️ 学习命令的权威文档
historyhistory
!100(执行历史记录第100条命令)
查看或重用命令历史。
aliasalias ll='ls -l'创建命令别名。✔️ 提升效率的小技巧

 2.3文件/目录管理(掌握)

2.3.1 ls 命令

要求:明确ls 命令的用法,并且能看懂ls 的结果(蓝色标记重点)

ls命令用于列出指定目录的目录内容;如果未指定目录,则列出当前目录的内容。

参数说明示例输出解析重点
无参数列出当前目录的非隐藏文件(短格式)。ls显示文件名列表,按字母顺序排列。基础查看
-a显示所有文件(含隐藏文件,以 . 开头的文件)。ls -a
输出:. .. file.txt .hidden
. 表示当前目录,.. 表示上级目录,.hidden 是隐藏文件。✔️ 查看隐藏文件
-l以长格式显示详细信息。ls -l
输出:
-rwxr--r-- 1 user group 1.2K Sep 1 10:00 file.txt
各列含义
1. 权限(如 -rwxr--r--
2. 硬链接数
3. 所有者
4. 所属组
5. 文件大小(默认字节)
6. 最后修改时间
7. 文件名
✔️ 核心参数,必学
-R递归列出子目录内容(常用于遍历多层目录结构)。ls -R dir
输出:
dir/file1 dir/subdir:
subdir/file2
按层级显示目录及其子目录内容。✔️ 目录结构分析
-h与 -l 结合使用,以易读格式显示文件大小(如 KB、MB)。ls -lh
输出:-rw-r--r-- 1 user group 1.2K Sep 1 10:00 file.txt
将字节转换为 KMG,便于阅读。✔️ 文件大小直观化
-t按修改时间排序(最新文件在前)。ls -lt常用于快速查找最新修改的文件。时间排序
-S按文件大小排序(从大到小)。ls -lS结合 -l 查看大文件。空间管理
-d仅显示目录本身(而非其内容),常用于查看目录属性。ls -ld dir
输出:drwxr-xr-x 2 user group 4.0K Sep 1 10:00 dir
避免递归显示子目录内容。目录属性查看
-i显示文件的 inode 编号(唯一标识文件系统对象)。ls -i
输出:123456 file.txt

示例:

# 执行ls -l命令
ls -l

total 16
drwxr-xr-x 2 user group 4096 May  6 10:00 dir1
-rw-r--r-- 1 user group 1024 May  6 10:00 file1.txt
-rw-r--r-- 1 user group 2048 May  6 10:00 file2.txt

解析

  • total 16:表示当前目录下所有文件和子目录占用的磁盘块总数。
  • 第一列(如drwxr-xr-x):表示文件的权限和类型。d 表示目录,- 表示普通文件;后面的 9 个字符分为三组,分别表示所有者、所属组和其他用户的读(r)、写(w)、执行(x)权限。
  • 第二列(如2):表示文件的硬链接数。
  • 第三列(如user):表示文件的所有者。
  • 第四列(如group):表示文件所属的组。
  • 第五列(如4096):表示文件的大小(以字节为单位)。
  • 第六列(如May 6 10:00):表示文件的最后修改时间。
  • 最后一列(如dir1):表示文件或目录的名称。
2.3.2  pwd命令

(1)每个shell和系统进程都有一个当前的工作目录。

(2)CWD当前工作目录:current work directory。

(3)pwd命令可以显示当前shell CWD的绝对路径。

2.3.3 cd命令
语法格式说明权限要求示例
1. cd pathname切换到指定路径(支持绝对路径或相对路径)。需有目录的 x 执行权限cd /var/log
cd ../downloads
2. cd 或 cd ~切换到当前用户的家目录(等价于 cd $HOME)。无需额外权限cd → 进入 /home/user
3. cd ~USERNAME切换到指定用户的家目录(如 ~root 为 /root~nginx 为 /var/www 等)。需管理员权限(sudosudo cd ~root → 进入 /root(普通用户无权直接访问)
4. cd -切换到前一个工作目录(类似“返回”功能)。需前目录有权限cd /opt → cd /var → cd - → 返回 /opt
5. cd -P DIR切换到物理路径(忽略符号链接,直接进入实际路径)。需目录的 x 权限若 link_dir 是符号链接:
cd -P link_dir → 进入目标真实目录而非链接路径
 2.3.4 mkdir命令

mkdir 命令基础

  • 全称:Make Directory(创建目录)

  • 作用:在指定路径创建新目录,支持单层或多级目录结构。

  • 默认行为:若父目录不存在,直接报错;目录权限由 umask 决定。

参数说明示例
无参数创建单层目录,若父目录不存在则报错。mkdir dir1 → 创建 dir1
-p自动创建所需父目录(递归创建),目录已存在时不报错。mkdir -p a/b/c → 创建 aa/ba/b/c(即使 a 或 b 不存在)
-v显示详细操作信息(Verbose),报告每个创建的目录。mkdir -v dir2 → 输出:mkdir: created directory 'dir2'
-m MODE直接指定目录权限(无需依赖 umask),使用数字模式(如 755)。mkdir -m 700 private → 创建权限为 rwx------ 的目录 private

例子:

场景 1:递归创建多级目录(-p 参数)

$ mkdir -p project/{src,doc,test}
  • 解析
    创建目录结构如下:

    project/
    ├── src/
    ├── doc/
    └── test/

  • 注意
    若 project 已存在,直接创建子目录;若不存在,先创建 project 再创建子目录。


场景 2:显示详细信息(-v 参数)

$ mkdir -pv logs/{2023,2024}/quarter{1..2}
mkdir: created directory 'logs'
mkdir: created directory 'logs/2023'
mkdir: created directory 'logs/2023/quarter1'
mkdir: created directory 'logs/2023/quarter2'
mkdir: created directory 'logs/2024'
mkdir: created directory 'logs/2024/quarter1'
mkdir: created directory 'logs/2024/quarter2'
  • 作用:明确显示每个被创建的目录,便于调试或确认操作结果。


场景 3:指定目录权限(-m 参数)

$ mkdir -m 750 shared_dir
$ ls -ld shared_dir
drwxr-x--- 2 user group 4096 Sep  5 15:30 shared_dir
  • 解析

    • 750 权限表示:

      • 所有者:rwx(7)

      • 所属组:r-x(5)

      • 其他用户:无权限(0)

    • 常用于创建需严格控制的目录(如团队共享目录)。


组合使用参数

$ mkdir -pm 755 /opt/app/{config,data,logs}
  • 效果

    • 递归创建 /opt/app 及其子目录 configdatalogs

    • 所有新目录权限设为 755rwxr-xr-x)。

权限对照表

数字模式

符号权限

说明

700

rwx------

仅所有者可读写执行。

755

rwxr-xr-x

所有者全权,其他用户只读。

777

rwxrwxrwx

所有用户全权(慎用!)。

2.3.5 touch命令 

touch 命令基础

  • 作用

    1. 创建空文件(若文件不存在)。

    2. 更新文件时间戳(访问时间 atime、修改时间 mtime、元数据变更时间 ctime)。

  • 默认行为

    • 若文件存在,更新 atime 和 mtime 为当前时间。

    • 若文件不存在,创建空文件并设置时间戳为当前时间。


命令语法与参数解析

参数

说明

示例

无参数

创建空文件(若不存在)或更新现有文件的 atime 和 mtime

touch file.txt → 创建或更新时间戳

-a

仅更新 atime(访问时间)。

touch -a file.txt → 更新访问时间

-m

仅更新 mtime(修改时间)。

touch -m file.txt → 更新修改时间

-c

不创建新文件(仅更新时间戳)。

touch -c non_exist.txt → 若文件不存在,不创建

--date

指定自定义时间戳(支持多种时间格式)。

touch --date="2023-01-01" file.txt → 设置时间为 2023 年 1 月 1 日

-r

同步其他文件的时间戳(复制参考文件的时间)。

touch -r source.txt target.txt → 使 target.txt 时间与 source.txt 相同


时间戳类型说明

时间戳

全称

触发条件

查看方式

atime

Access Time

文件被读取(如 catless)。

stat file.txt → Access

mtime

Modification Time

文件内容被修改(如写入数据)。

stat file.txt → Modify

ctime

Change Time

文件元数据变更(如权限、所有者、链接数等)。

stat file.txt → Change


示例与场景分析

场景 1:创建空文件

$ touch file1.txt file2.txt  # 创建两个空文件
$ ls -l
-rw-r--r-- 1 user group 0 Sep  6 10:00 file1.txt
-rw-r--r-- 1 user group 0 Sep  6 10:00 file2.txt

场景 2:更新时间戳

# 仅更新访问时间 (atime)
$ touch -a file.txt
$ stat file.txt
Access: 2023-09-06 10:05:00.000000000 +0800

# 仅更新修改时间 (mtime)
$ touch -m file.txt
$ stat file.txt
Modify: 2023-09-06 10:05:00.000000000 +0800

场景 3:自定义时间戳

# 设置文件时间为 2023 年 1 月 1 日
$ touch -m --date="2023-01-01" tsttime
$ stat tsttime
Modify: 2023-01-01 00:00:00.000000000 +0800

# 使用复杂时间格式
$ touch --date="2023-12-31 23:59:59" deadline.txt
$ stat deadline.txt
Modify: 2023-12-31 23:59:59.000000000 +0800

# 使用相对时间
$ touch --date="2 days ago" oldfile.txt
$ stat oldfile.txt
Modify: 2023-09-04 10:00:00.000000000 +0800

场景 4:同步其他文件时间戳

$ touch -r source.txt target.txt  # 使 target.txt 时间与 source.txt 一致
$ stat source.txt target.txt
Modify: 2023-09-05 08:00:00.000000000 +0800 (source.txt)
Modify: 2023-09-05 08:00:00.000000000 +0800 (target.txt)

时间格式支持

--date 参数支持多种时间字符串格式:

  • 绝对时间"2023-01-01""2023/01/01 12:00:00"

  • 相对时间"yesterday""2 hours ago""next Monday"

  • 时间戳"@1622505600"(Unix 时间戳,秒数)。


注意事项

更新时间戳需对文件有写权限。

创建文件需对目录有写权限。


常用组合命令

用途

命令示例

批量创建文件

touch file{1..10}.txt

快速更新所有文件时间戳

touch * 或 touch ./(更新当前目录下所有文件)

修复文件时间

touch -m --date="YYYY-MM-DD" filename


2.3.6 cp 命令​

​功能​​:复制文件或目录。

​核心选项​​:

  • -R/-r:递归复制目录(包括子目录和文件)。

  • -f:强制覆盖已存在的目标文件(不提示用户)。

  • -i:覆盖前询问用户(与 -f 冲突,默认行为可能因系统配置不同)。

  • ​示例​​:

    # 复制文件 file1 到 file2
    cp file1.txt file2.txt
    
    # 复制目录 dir1 到 dir2(递归复制)
    cp -r dir1 dir2
    
    # 强制复制文件,覆盖已存在的目标
    cp -f source.txt destination.txt
    
    # 复制多个文件到目录(目标目录必须存在)
    cp file1.txt file2.txt /target_dir/
2.3.7 mv 命令

mv(移动/重命名文件或目录)​

  • ​功能​​:移动文件/目录,或重命名。

  • ​特点​​:

    • 默认直接覆盖目标文件(无确认提示)。

    • 若目标为目录且存在,则将源移动到该目录;若不存在,则重命名。

  • ​示例​​:

    # 重命名文件
    mv old_name.txt new_name.txt
    
    # 移动文件到目录(目标目录必须存在)
    mv file.txt /target_dir/
    
    # 移动并重名文件到目录
    mv file.txt /target_dir/new_file.txt
    
    # 移动多个文件到目录
    mv file1.txt file2.txt /target_dir/
    
    # 移动目录 dir1 到 dir2(若 dir2 存在,dir1 成为其子目录)
    mv dir1 dir2
2.3.8 rm 命令

rm(删除文件/目录)​

  • ​功能​​:删除文件或目录。

  • ​核心选项​​:

    • -r/-R:递归删除目录(包括子目录和文件)。

    • -f:强制删除(忽略不存在的文件,无确认提示)。

    • -i:删除前确认(与 -f 冲突)。

  • ​示例​​:

    # 删除文件
    rm file.txt
    
    # 删除目录(必须用 -r)
    rm -r dir1
    
    # 强制删除目录(无提示)
    rm -rf dir1
    
    # 删除当前目录下所有内容(危险!)
    rm -rf *

2.4 文件/目录的查找与筛选(掌握)

2.4.1. 核心命令
​命令​​核心功能​​适用场景​​关键特性​
grep在文本内容中搜索匹配模式日志分析、代码搜索、文本过滤支持正则表达式、递归搜索
find根据属性查找文件或目录清理旧文件、批量操作、应急排查多条件组合、支持复杂逻辑
cat查看文件内容或合并文件快速预览、数据拼接、内容重定向简单高效、支持管道操作

2.4.​​2. 常用选项与示例​
​命令​​核心选项​​示例​​功能解析​
​grep​-i(忽略大小写)grep -i "error" log.txt在 log.txt 中查找所有包含 "error"(不区分大小写)的行
-r(递归搜索)grep -r "TODO" ~/projects递归搜索 ~/projects 目录下所有文件中包含 "TODO" 的内容
-n(显示行号)grep -n "#include" main.c在 main.c 中查找 #include 并显示匹配行号

-v(反向匹配)grep -v "^#" config.conf过滤掉 config.conf 中所有以 # 开头的注释行
​find​-name(按名称匹配)find /var/log -name "*.log"查找 /var/log 目录下所有 .log 文件

-mtime(按时间过滤)find /backup -mtime +30 -delete删除 /backup 下 30 天前修改的文件

-exec(执行操作)find . -type f -name "*.tmp" -exec rm {} ;删除当前目录下所有 .tmp 文件

-size(按大小过滤)find /data -size +100M -size -1G查找 /data 下大小在 100MB 到 1GB 之间的文件

​cat​查看文件内容cat config.ini直接显示 config.ini 的内容
合并文件cat file1.txt file2.txt > combined.txt将 file1.txt 和 file2.txt 合并为 combined.txt
创建文件cat > newfile.txt(输入内容后按 Ctrl+D 保存)创建 newfile.txt 并写入用户输入的内容
显示行号cat -n script.sh查看 script.sh 并显示行号

2.4.​​3. 典型场景示例分析​
​场景 1:日志分析(grep 与 cat 结合)​
cat access.log | grep "404" | grep -v "robots.txt"
  • ​功能​​:从 access.log 中筛选所有 404 错误,并排除与 robots.txt 相关的请求。
  • ​解析​​:
    • cat 输出日志内容;
    • 第一个 grep 匹配 404 状态码;
    • 第二个 grep -v 反向过滤掉无关条目
​场景 2:清理旧文件(find 高级用法)​
find /var/log -name "*.log" -mtime +7 -exec gzip {} ;
  • ​功能​​:查找 /var/log 下 7 天前的日志文件并压缩。
  • ​解析​​:
    • -name 和 -mtime 组合过滤目标文件;
    • -exec gzip 对匹配文件执行压缩操作
​场景 3:快速创建配置文件(cat 重定向)​
cat > settings.conf << EOF
[Database]
host=localhost
user=admin
password=secret
EOF
  • ​功能​​:通过重定向直接生成 settings.conf 文件。
  • ​解析​​:
    • << EOF 指定输入结束符;
    • 输入内容自动保存到文件

2.4.​​4. 核心要点总结​
​命令​​核心优势​​适用操作​​注意事项​
grep正则表达式支持、多文件递归搜索文本过滤、模式匹配复杂正则需用 -E 或 -P 选项
find多条件组合、支持批量操作文件查找、清理、权限管理慎用 -delete 避免误删
cat快速预览、简单合并内容查看、数据拼接大文件建议用 less 分页查看

2.4.​​5. 工具联动示例​(了解)
find /var/www -type f -name "*.php" -exec grep -Hn "mysql_connect" {} ;
  • ​功能​​:递归查找所有 .php 文件,并搜索包含 mysql_connect 的行。
  • ​解析​​:
    • find 定位文件;
    • grep -Hn 显示文件名、行号和匹配内容
2.4.6 高级文件/目录筛选--正则表达式(掌握)

grep 命令核心功能​

grep(Global Regular Expression Print)是 Linux/Unix 系统中用于​​文本模式匹配​​的工具,支持基本正则表达式(BRE)和扩展正则表达式(ERE),能快速搜索文件或输入流中符合特定模式的行

​基本语法​​:

grep [选项] "正则表达式" 文件

正则表达式核心语法​

正则表达式是描述文本模式的字符串,通过元字符和语法规则实现灵活匹配。以下是关键语法规则:

​1. 基础元字符​

  • ^​:匹配行首(如 ^abc 匹配以 "abc" 开头的行)

  • $​:匹配行尾(如 xyz$ 匹配以 "xyz" 结尾的行)

  • .​:匹配任意单个字符(如 a.c 匹配 "abc"、"a1c" 等)

  • *​:匹配前一个字符 0 次或多次(如 go*gle 匹配 "ggle"、"gogle" 等)

  • +​(需 -E):匹配前一个字符 1 次或多次(如 go+gle 匹配 "gogle" 但排除 "ggle")

  • ?​(需 -E):匹配前一个字符 0 次或 1 次(如 colou?r 匹配 "color" 和 "colour")

​2. 字符类与范围​

  • [abc]​:匹配括号内任意一个字符(如 [aeiou] 匹配元音字母)

  • [^abc]​:匹配不在括号内的字符(如 [^0-9] 排除数字)

  • [[:digit:]]​:预定义字符类(匹配数字,等效 [0-9]

​3. 分组与引用​

  • ()​:分组表达式(如 (ab)+ 匹配 "ab"、"abab" 等)

  • ​:引用第一个分组的匹配结果(如 (a) 匹配 "aa")

​4. 量词扩展​

  • {n}​:精确匹配 n 次(如 o{2} 匹配 "oo")

  • {n,m}​:匹配 n 到 m 次(如 a{2,4} 匹配 "aa"、"aaa"、"aaaa")


grep 常用选项​

  • -i​:忽略大小写(如 grep -i "error" log.txt

  • -v​:反向匹配(显示不包含模式的行)

  • -r​:递归搜索目录(如 grep -r "TODO" /project

  • -n​:显示匹配行的行号

  • -E​:启用扩展正则表达式(等效 egrep

  • -o​:仅输出匹配的内容(如提取 IP 地址)

  • -A/-B/-C​:显示匹配行的上下若干行(如 -C2 显示前后 2 行)


典型应用场景​

​1. 基础搜索​

  • ​查找包含特定字符串的行​​:

    grep "error" log.txt
  • ​忽略大小写匹配​​:

    grep -i "warning" system.log

​2. 复杂模式匹配​

  • ​匹配 IP 地址​​(使用扩展正则):

    grep -E "([0-9]{1,3}.){3}[0-9]{1,3}" access.log
  • ​提取邮箱地址​​:

    grep -E -o "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,6}" emails.txt

​3. 过滤与统计​

  • ​排除注释行​​:

    grep -v "^#" config.conf
  • ​统计匹配行数​​:

    grep -c "success" report.csv

​4. 文件与目录操作​

  • ​递归搜索目录​​:

    grep -r "function_name" src/
  • ​多文件批量处理​​:

    grep "pattern" *.log    # 搜索所有 .log 文件

高级技巧​

联合其他命令​

  • ​结合 find 定位文件后搜索​​:

    find /var/log -name "*.log" -exec grep "error" {} ;
  • ​管道处理输出​​:

    cat data.txt | grep "keyword" | sort | uniq

正则表达式优化​

  • ​精确匹配单词​​:

    grep -w "word" file.txt    # 匹配 "word" 而非 "wordpress"
  • ​使用预定义字符类​​:

    grep "[[:space:]]" file.txt    # 匹配包含空白字符的行

调试与可视化​

  • ​高亮显示匹配内容​​:

    grep --color=auto "pattern" file.txt
  • ​显示文件名与行号​​:

    grep -Hn "pattern" *.log
 2.4.7 管道符 | (掌握)

 核心作用​

管道符 | 是 Linux/Unix 系统中用于实现 ​​命令间数据传递​​ 的核心工具,其核心作用包括:

  1. ​串联命令​​:将一个命令的标准输出(stdout)作为另一个命令的标准输入(stdin),形成数据处理链

  2. ​高效过滤与组合​​:通过多命令协作,实现复杂的数据处理逻辑(如过滤、排序、统计等)

  3. ​进程间通信​​:基于匿名管道(Anonymous Pipe)实现进程间单向数据传输


基本语法与示例​

1. ​​基础语法​

command1 | command2 | command3 ...
  • ​规则​​:

    • 仅传递 command1 的标准输出(stdout),不传递错误输出(stderr

    • 数据流单向流动,读取后从管道中清除,不可逆

2. ​​典型用法示例​

​场景​

​示例命令​

​功能解析​

​过滤内容​

ls -l | grep ".txt"

列出当前目录文件,筛选文件名含 .txt 的行

​统计数量​

ps aux | grep "nginx" | wc -l

统计 nginx 进程的数量

​多级处理​

dmesg | grep "error" | tee log.txt

提取系统日志中的错误信息,同时输出到屏幕和文件 log.txt

​排序与去重​

cat data.txt | sort | uniq

对文件内容排序并去重

2.5 文件/目录权限管理(掌握)

图片源自网络 

内容分类具体内容
符号含义u: 所有者
g: 所有组
o: 其他人
a: 所有人 (u、g、o 的总和)
方法 1 语法chmod [{ugo a}{+- =}{rwx}] 文件或目录
方法 1 - 增加权限示例u+x, u+r, u+w, g+w, g+r, o+r, a+r 等
方法 1 - 取消权限示例u-x, u-r, u-w, g-w, g-r, o-r, a-r 等
方法 1 - “=” 的含义赋予给定权限,并取消其他所有权限(如原来 u 是 rwx,设置 u=r,u 就剩 r)
方法 2 语法chmod [mode=421][文件或目录]
方法 2 - 权限数值对应r=4
w=2
x=1
rwx=4+2+1=7
方法 2 - 无权限表示数字 0 表示
方法 2 - 全开权限表示数字 7 表示,即 7=4+2+1

2.6 向文件写入内容

2.6.1. 使用 echo 命令追加或覆盖内容(掌握)
  • 覆盖写入:借助 > 重定向符号,可将 echo 命令的输出覆盖写入到指定文件中。若文件不存在,会自动创建;若文件已存在,原内容会被新内容替代。

echo "这是新内容" > test.txt

在上述命令中,echo 输出的 “这是新内容” 会被覆盖写入到 test.txt 文件中。

  • 追加写入:使用 >> 重定向符号,能把 echo 命令的输出追加到指定文件的末尾。若文件不存在,同样会自动创建。

echo "追加的新内容" >> test.txt

此命令会将 “追加的新内容” 添加到 test.txt 文件的末尾。

2.6.2. 使用 cat 命令写入多行内容
  • 覆盖写入:利用 cat 结合 > 重定向符号,可实现多行内容的覆盖写入。输入完内容后,按 Ctrl + D 结束输入。

cat > test.txt << EOF
第一行内容
第二行内容
EOF

这里,EOF 是自定义的结束符,你也可以使用其他字符串。输入完内容后,按 Ctrl + D ,这些内容就会被覆盖写入到 test.txt 文件中。

  • 追加写入:使用 cat 结合 >> 重定向符号,可将多行内容追加到文件末尾。

cat >> test.txt << EOF
追加的第一行内容
追加的第二行内容
EOF

输入完内容并按 Ctrl + D 后,这些内容会被追加到 test.txt 文件的末尾。

2.6.3. 使用文本编辑器写入内容
  • 使用 vim 编辑器vim 是一款功能强大的文本编辑器,常用于编辑和写入文件内容。

vim test.txt

执行上述命令后,会进入 vim 编辑器。按下 i 键进入插入模式,此时就可以输入内容了。输入完成后,按下 Esc 键退出插入模式,然后输入 :wq 并回车,即可保存并退出编辑器。

3.进程管理(5%-10%)

3.1 核心命令汇总(重点蓝色

命令用途基本语法/常用选项重点说明示例分析
ps查看当前进程快照ps [选项]常用组合 ps aux:显示所有用户的所有进程(含资源占用)。
-e:显示全部进程。
ps aux | grep nginx:查找所有与 nginx 相关的进程(如查看服务是否运行)。
top实时监控进程及系统资源top交互式命令
k:终止进程;
M:按内存排序;
P:按CPU排序。
运行 top 后按 P 查看CPU占用最高的进程,按 k 输入PID终止异常进程。
htop增强版 top(需安装)htop可视化更强,支持鼠标操作和颜色标记。htop 中直接选中进程按 F9 发送信号终止。
kill终止进程kill [信号] PID常用信号
SIGTERM(15):默认,优雅终止;
SIGKILL(9):强制终止(慎用)。
kill -9 1234:强制终止PID为1234的进程(用于进程无响应时)。
pkill按进程名终止进程pkill [选项] 进程名模糊匹配进程名,支持正则表达式。pkill -f "python script.py":终止所有包含 python script.py 的进程。
killall按进程名终止所有同名进程killall [信号] 进程名精确匹配进程名(与 pkill 区别)。killall nginx:终止所有名为 nginx 的进程。
nice启动进程时指定优先级(-20~19,值越大越“谦让”)nice -n <优先级> 命令优先级调整:数值越低,CPU优先级越高(默认0)。nice -n 10 tar -zcf backup.tar.gz /data:以低优先级压缩文件,减少对系统影响。
renice修改运行中进程的优先级renice -n <优先级> -p PID需root权限调整其他用户的进程优先级。renice -n 5 -p 5678:将PID 5678的进程优先级调整为5。
pgrep按名称查找进程PIDpgrep [选项] 进程名常用于脚本中获取PID。pgrep -u root sshd:查找root用户运行的 sshd 进程PID。
pstree以树形结构显示进程关系pstree [选项]直观展示父子进程关系,适合分析进程依赖。pstree -p:显示带PID的进程树,查看某个进程的子进程。
jobs查看当前Shell的后台任务jobs结合 &bgfg 使用,管理后台任务。运行 sleep 100 & 后,jobs 显示后台任务列表;fg 1 将任务1切换到前台。
nohup运行不受退出终端影响的进程nohup 命令 &脱离终端运行,输出默认保存到 nohup.outnohup python server.py &:启动一个持久运行的Python服务,即使关闭终端仍继续运行。
systemctl管理系统服务(systemd系统)systemctl [动作] 服务名核心操作
start/stop/restart/status/enable/disable
systemctl status nginx:查看Nginx服务状态;systemctl restart sshd:重启SSH服务。
crontab管理定时任务crontab -e(编辑任务)格式分钟 小时 日 月 周 命令crontab -e 添加 0 3 * * * /backup.sh:每天凌晨3点执行备份脚本。
lsof列出被进程打开的文件lsof [选项]常用选项
-i:查看网络连接;
-p PID:按进程ID过滤。
lsof -i :80:查看占用80端口的进程;lsof -p 1234:查看PID 1234打开的文件。

3.2监控与调试(掌握)

要求:知道命令的用法,并且可以看懂命令的结果

Linux 进程状态表格

状态符号状态名称描述常见场景
R运行/可运行 (Running)进程正在执行或等待CPU调度(就绪状态)。执行计算密集型任务(如编译程序)或等待CPU时间片的进程。
S可中断睡眠 (Sleeping)进程等待事件完成(如用户输入、网络响应),可被信号唤醒。等待用户输入的命令(如read)、等待网络请求的Web服务器进程。
D不可中断睡眠 (Uninterruptible Sleep)进程等待硬件操作完成(如磁盘I/O),无法被信号或kill终止,需等待操作完成。执行磁盘写入操作(如sync命令)、内核级别的硬件交互。
T停止 (Stopped)进程被信号暂停(如SIGSTOPSIGTSTP),可通过信号恢复(如SIGCONT)。用户按下Ctrl+Z暂停前台进程,调试器暂停进程进行断点分析。
Z僵尸 (Zombie)进程已终止,但父进程未回收其资源(如PID、退出状态),占用极少量系统资源。父进程未正确处理子进程终止(编程缺陷),需由父进程调用wait()回收或终止父进程解决。
X死亡 (Dead)进程完全终止,仅在内核中短暂存在,通常不可见。进程结束后的最终状态,用户空间不可见。
t跟踪停止 (Tracing Stop)进程被调试器跟踪时暂停(如gdb断点)。

top/htop:实时查看CPU、内存占用,快速定位资源瓶颈。

ps aux | grep 进程名:确认进程是否存在及运行状态。

 3.2.1  ps 命令:进程快照

作用:显示当前系统中的进程状态(静态快照)。
常用语法

ps aux    # 显示所有用户的进程详细信息
ps -ef    # 显示完整进程列表(含父进程PPID)

示例 1:ps aux 输出解析

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 169316 13056 ?        Ss   Aug01   0:12 /sbin/init
nginx     1234  0.5  2.0 300000 20000 ?        S    Aug02   1:23 nginx: worker process
user      5678  2.0  0.5 250000 5000  pts/0    R+   12:30   0:10 python script.py
字段说明
  • USER:进程所有者。

  • PID:进程ID。

  • %CPU:CPU占用百分比。

  • %MEM:内存占用百分比。

  • VSZ:虚拟内存大小(KB)。

  • RSS:实际物理内存占用(KB)。

  • TTY:终端关联(?表示无终端,如守护进程)。

  • STAT:进程状态(如S=睡眠,R=运行,+=前台进程)。

  • START:进程启动时间。

  • TIME:累计CPU占用时间。

  • COMMAND:进程名称或命令行。

示例分析
  1. Nginx 进程(PID=1234):

    • CPU占用0.5%,内存2%,作为工作进程(nginx: worker process)运行。

    • 状态S表示可中断睡眠(可能在等待网络请求)。

  2. Python 脚本(PID=5678):

    • 高CPU占用(2.0%),状态R+表示正在运行且是前台进程。

    • 终端pts/0表示由用户通过SSH或终端直接启动。

示例 2:ps -ef 输出解析

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Aug01 ?        00:00:12 /sbin/init
root       567     1  0 Aug01 ?        00:00:05 /usr/lib/systemd/systemd-journald
nginx     1234  1233  0 Aug02 ?        00:01:23 nginx: worker process
字段说明
  • PPID:父进程ID(如PID=1233是Nginx主进程)。

  • C:CPU利用率(粗略值)。

  • CMD:完整命令行(可能包含参数)。

实际应用
  • 查找父进程关系:ps -ef | grep nginx 可查看Nginx主进程(PPID=1)及其子进程。

3.2.2. top 命令:实时进程监控

作用:动态显示系统资源使用情况和进程状态(实时刷新)。
基本操作

top          # 启动实时监控
按 `P`       # 按CPU使用率排序
按 `M`       # 按内存使用率排序
按 `k`       # 终止指定PID的进程
按 `q`       # 退出

top 输出解析

第一部分:系统资源概览(了解)

top - 14:20:30 up 10 days,  2:15,  2 users,  load average: 0.50, 0.30, 0.20
Tasks: 120 total,   1 running, 119 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.6 us,  2.3 sy,  0.0 ni, 91.8 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7986.2 total,   1024.5 free,   4096.0 used,   2865.7 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   3560.2 avail Mem
关键字段
  • load average:系统1/5/15分钟的平均负载(数值≈CPU核心数为理想状态)。

  • Tasks:进程总数及状态分布(运行、睡眠、停止、僵尸)。

  • %Cpu(s)

    • us:用户空间CPU占用(如应用程序)。

    • sy:内核空间CPU占用(如系统调用)。

    • wa:I/O等待时间(高表示磁盘瓶颈)。

    • id:空闲CPU百分比。

  • 内存:总内存、空闲、已用、缓存使用情况。

  • Swap:交换空间使用量(高使用率可能表示物理内存不足)。


第二部分:进程列表

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
5678 user      20   0  250000   5000   3000 R  20.0   0.1   0:10.05 python script.py
1234 nginx     20   0  300000  20000  10000 S   0.5   0.2   1:23.00 nginx: worker process
   1 root      20   0  169316  13056   8000 S   0.0   0.1   0:12.00 /sbin/init
关键字段
  • PR:进程优先级(值越小优先级越高)。

  • NI:进程的“谦让度”(Nice值,范围-20~19,影响优先级越小表示优先级越高)。

  • VIRT:虚拟内存总量(KB)。

  • RES:实际物理内存占用(KB)。

  • SHR:共享内存大小(KB)。

  • S:进程状态(同ps的STAT)。

  • %CPU/%MEM:CPU/内存占用百分比。

  • TIME+:累计CPU时间(精确到百分之一秒)。

总结:ps vs top
场景pstop
用途静态查看某一时刻的进程快照实时监控进程及系统资源动态变化
输出更新一次性输出,不刷新默认每3秒刷新一次
交互性支持按键排序、终止进程等操作
适用场景快速查找进程信息(如PID、启动命令)实时诊断资源瓶颈(如CPU、内存占用高)

 3.3终止进程(掌握)

kill -9 PID:强制终止无响应进程(可能导致数据丢失,慎用)。

pkill -f "pattern":批量终止匹配特定模式的进程。

kill 命令基础

  • 作用:向进程发送信号(默认发送 SIGTERM,请求进程终止)。

  • 语法

    kill [选项]           # 终止指定PID的进程
    kill -<信号名或编号>   # 发送特定信号

1.常用信号及作用(表格总结)
信号编号信号名默认行为典型用途示例场景
1SIGHUP挂起重新加载配置(守护进程常监听此信号以重载配置)。kill -1 1234:通知Nginx重载配置文件(等效于 nginx -s reload)。
2SIGINT中断键盘中断(等同于按 Ctrl+C),请求进程终止。前台进程按 Ctrl+C 终止时触发此信号。
9SIGKILL强制终止进程立即杀死进程,无法被捕获或忽略(慎用,可能导致数据丢失)。kill -9 5678:强制终止无响应的进程(如卡死的Python脚本)。
15SIGTERM默认终止信号请求进程正常退出,允许进程清理资源(优雅终止)。kill 1234 或 kill -15 1234:正常终止进程(推荐首选)。
18SIGCONT恢复进程执行恢复被暂停的进程(与 SIGSTOP 配合使用)。kill -18 1234:恢复PID 1234的进程(如被 Ctrl+Z 暂停的进程)。
19SIGSTOP暂停进程立即暂停进程,不可被捕获或忽略(进程进入 T 状态)。kill -19 1234:暂停进程(常用于调试或资源控制)。
3SIGQUIT终止并生成核心转储类似 SIGINT,但会触发核心转储(调试用途)。kill -3 1234:调试时获取进程崩溃的堆栈信息。
20SIGTSTP暂停进程(可捕获)终端暂停信号(等同于按 Ctrl+Z),进程可自定义处理。按 Ctrl+Z 暂停前台进程,进程可执行清理操作后暂停。

示例场景分析

1. 优雅终止进程(SIGTERM)

kill 1234          # 发送SIGTERM(15)请求进程正常退出
  • 适用场景:终止Web服务器(如Nginx)、数据库(如MySQL)等需要保存数据的进程。

  • 优势:进程可执行清理操作(如关闭文件、释放连接)。

2. 强制终止无响应进程(SIGKILL)
kill -9 5678       # 强制终止PID 5678的进程
  • 适用场景:进程卡死或拒绝响应 SIGTERM

  • 风险:可能导致数据丢失或资源泄漏(如未保存的文件、未释放的锁)。

3. 重新加载服务配置(SIGHUP)
kill -1 1234       # 通知进程重载配置(如Nginx、Apache)
  • 原理:守护进程(如Nginx)会监听 SIGHUP 信号并重新读取配置文件。

4. 暂停与恢复进程(SIGSTOP/SIGCONT)
kill -19 1234      # 暂停进程(进入停止状态)
kill -18 1234      # 恢复进程运行
  • 场景:临时释放CPU资源或调试进程状态。

3.4 服务管理/守护进程(掌握)

systemctl:管理系统服务(如Web服务器、数据库)。

journalctl -u 服务名:查看服务日志(配合systemctl使用)。

3.4.1  systemctl 核心功能

用于管理系统服务(启动、停止、重启)、查看状态、设置开机自启等,是 systemd 服务管理工具的核心命令。

3.4.2 常用命令及示例

1. 服务状态管理

命令作用示例分析
systemctl start <服务名>启动服务systemctl start nginx:启动 Nginx Web 服务器。
systemctl stop <服务名>停止服务systemctl stop mysql:停止 MySQL 数据库服务。
systemctl restart <服务名>重启服务systemctl restart sshd:重启 SSH 服务(应用新配置)。
systemctl reload <服务名>重新加载配置systemctl reload nginx:重新加载 Nginx 配置(不中断服务)。
systemctl status <服务名>查看服务状态systemctl status docker:查看 Docker 服务是否运行及详细日志。
systemctl enable <服务名>设置开机自启systemctl enable httpd:设置 Apache 服务开机自动启动。
systemctl disable <服务名>禁用开机自启systemctl disable postfix:禁止邮件服务开机启动。
systemctl is-enabled <服务名>检查服务是否开机自启systemctl is-enabled cron:查看定时任务服务是否启用开机启动。
systemctl mask <服务名>禁止服务被启动systemctl mask telnet.socket:彻底禁用 Telnet 服务(即使手动也无法启动)。
systemctl unmask <服务名>解除服务的禁止启动状态systemctl unmask telnet.socket:恢复 Telnet 服务的启动权限。

2. 系统与服务监控

命令作用示例分析
systemctl list-units列出所有已加载的服务systemctl list-units | grep running:筛选出当前正在运行的服务。
systemctl list-unit-files列出所有已安装的服务文件systemctl list-unit-files --type=service:仅显示服务类型的单元文件。
systemctl --failed查看启动失败的服务用于诊断系统启动失败的服务(如依赖缺失或配置错误)。
systemctl daemon-reload重载 systemd 配置修改服务文件(如 .service)后必须执行此命令,使配置生效。

3.服务日志查看

命令作用示例分析
journalctl -u <服务名>查看指定服务的日志journalctl -u nginx:查看 Nginx 服务的所有日志。
journalctl -u <服务名> -f实时跟踪服务日志journalctl -u mysql -f:实时监控 MySQL 日志输出(类似 tail -f)。
journalctl --since "时间"按时间过滤日志journalctl -u sshd --since "2023-08-01":查看 SSH 服务 8 月 1 日后的日志。

3.4.3 实际场景示例分析

场景 1:部署 Nginx 服务

# 1. 安装 Nginx
sudo apt install nginx

# 2. 启动服务并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx

# 3. 检查状态(确保显示 "active (running)")
sudo systemctl status nginx

# 4. 修改配置后重新加载(不中断服务)
sudo systemctl reload nginx

场景 2:诊断服务启动失败

# 1. 查看所有失败的服务
systemctl --failed

# 输出示例:
# UNIT          LOAD   ACTIVE SUB    DESCRIPTION
# mysql.service loaded failed failed MySQL Community Server

# 2. 查看详细日志
journalctl -u mysql

# 3. 根据日志修复问题(如配置错误、端口冲突)
# 4. 重启服务
sudo systemctl restart mysql
3.4.4 服务状态解释

通过 systemctl status <服务名> 可查看服务的详细状态,常见状态包括:

  • active (running):服务正在运行。

  • active (exited):服务已成功完成单次任务(如定时任务)。

  • inactive (dead):服务未运行。

  • failed:服务启动失败(需检查日志)。

4.网络基础配置(5%-10%)

 要求:

  • 会查看当前网络设备的信息
  • 会配置网络的基本参数如ip地址、子网掩码,网络地址,虚拟地址等
  • 指定一个虚拟的MAC地址,怎么指定
  • 知道如何去创建一个网络连接

4.1 网络配置文件(了解)

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens33
UUID=16862343-b55e-4248-b05d-a3ea662a84a4
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.80.10
PREFIX=24
GATEWAY=192.168.80.2
DNS1=192.168.80.2
DNS2=114.114.114.114

解释

  1. 网络类型
    • TYPE=Ethernet:指定网络连接类型为以太网,表明这是用于配置以太网网卡的文件 。
  2. 代理及浏览器相关
    • PROXY_METHOD=none:表示不使用代理方法。
    • BROWSER_ONLY=no:意味着不是仅用于浏览器相关的网络配置 。
  3. IP 地址获取方式
    • BOOTPROTO=none:说明网卡采用静态 IP 地址配置,不通过 DHCP 自动获取 IP ,等同于 ipv4.method manual 。
  4. 路由及 IPv4 相关
    • DEFROUTE=yes:表示该连接设置的路由为默认路由,即通过此连接发送没有特定路由的流量 。
    • IPV4_FAILURE_FATAL=no:IPv4 配置失败时,不会导致网络接口配置整体失效 。
  5. IPv6 相关
    • IPV6INIT=no:表示不启用 IPv6 功能 。
  6. 连接标识相关
    • NAME=ens33:连接的名称为 ens33 ,用于标识该网络连接 。
    • UUID=16862343-b55e-4248-b05d-a3ea662a84a4:通用唯一识别码,用于唯一标识该网络连接配置 。
    • DEVICE=ens33:指定网络设备名称为 ens33 ,即配置针对的是名为 ens33 的网卡 。
  7. 启动及 IP 配置相关
    • ONBOOT=yes:表示开机时自动启动该网络连接 。
    • IPADDR=192.168.80.10:设置网卡的 IPv4 地址为 192.168.80.10 。
    • PREFIX=24:子网掩码的前缀长度为 24,等同于 255.255.255.0 。
    • GATEWAY=192.168.80.2:设置网关地址为 192.168.80.2 。
    • DNS1=192.168.80.2:首选 DNS 服务器地址为 192.168.80.2 。
    • DNS2=114.114.114.114:备用 DNS 服务器地址为 114.114.114.114 。

其他补充参数解释

  • NETMASK:子网掩码,用于划分 IP 地址的网络部分和主机部分,和 PREFIX 作用相关,只是表示形式不同 。
  • BROADCAST:广播地址,在局域网中用于向所有主机发送消息的特殊地址 。
  • HWADDR/MACADDR:MAC 地址,网卡的硬件地址,全球唯一,用于在链路层标识设备 。
  • PEERDNS:决定是否根据 DHCP 设置修改 /etc/resolv.conf 中的 DNS 配置 。
  • NM_CONTROLLED:控制 Network Manager 是否管理该网络接口 。
  • USERCTL:用于控制非 root 用户是否有权限管理该网络接口 。
  • IPV6ADDR:用于设置 IPv6 地址及前缀长度 。

4.2  四个命令 ifconfig(被替代) nmcli   netstat   ip 

命令用途基本语法/示例说明状态
ifconfig配置和查看网络接口(传统工具)ifconfig eth0 up
ifconfig eth0 192.168.1.10 netmask 255.255.255.0
显示/设置IP地址、子网掩码、启用/禁用接口。已过时,推荐使用 ip 命令。
nmcli管理网络连接(NetworkManager工具)nmcli dev status
nmcli con up "WiFi-Profile"
动态管理WiFi、以太网连接,支持VPN、DNS等高级配置。现代工具,适合桌面/服务器动态网络。
netstat显示网络连接、路由表、端口监听状态netstat -tulnp
netstat -r
查看TCP/UDP端口监听、路由表、连接统计。部分过时,路由功能用 ip route,连接统计用 ss
ip多功能网络配置工具iproute2套件)ip addr show
ip route add default via 192.168.1.1
ip link set eth0 up
管理接口、IP地址、路由、ARP表等,替代 ifconfigroutearp 等命令。现代标准工具,功能全面。
4.2.1 nmcli 

ifconfig是临时的,nmcli会写到配置文件当中,变成一个永久有效的基本信息。

功能分类命令/操作示例说明
查看设备状态nmcli dev statusnmcli dev status列出所有网络设备(如 WiFi、以太网)及其连接状态。
查看连接配置nmcli con shownmcli con show显示所有已保存的网络连接配置(名称、UUID、类型等)。
启动/停止连接nmcli con up <连接名>
nmcli con down <连接名>
nmcli con up "有线连接 1"
nmcli con down eth0
激活或停用指定连接(按名称或 UUID)。
配置静态 IPnmcli con mod <连接名> ipv4.addresses
+ ipv4.gateway <网关>
nmcli con mod eth0 ipv4.addresses 192.168.1.10/24
ipv4.gateway 192.168.1.1
为连接设置静态 IP 地址和网关(需重启连接生效)。
配置 DNSnmcli con mod <连接名> ipv4.dns ""nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"设置 DNS 服务器(多个 DNS 用空格分隔)。
启用 DHCPnmcli con mod <连接名> ipv4.method autonmcli con mod eth0 ipv4.method auto将连接配置为自动获取 IP(DHCP)。
管理 WiFinmcli dev wifi list
nmcli dev wifi connect password <密码>
nmcli dev wifi connect MyWiFi password mypass123扫描可用 WiFi 并连接到指定网络。
创建新连接nmcli con add type <类型> ifname <接口> ...nmcli con add type ethernet ifname eth0 con-name "Static-LAN"创建新连接(如以太网),后续需配置 IP/DNS。
删除连接nmcli con del <连接名>nmcli con del "旧连接"删除已保存的连接配置。
详细场景示例分析
场景 1:配置静态 IP 和 DNS
# 1. 查看当前以太网连接名(假设为 "eth0")
nmcli con show

# 2. 设置静态 IP、网关和 DNS
nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod eth0 ipv4.method manual  # 指定手动配置

# 3. 重启连接使配置生效
nmcli con down eth0 && nmcli con up eth0

# 4. 验证
ip addr show eth0
ping google.com
场景 2:创建并配置新以太网连接
# 1. 创建名为 "Office-LAN" 的连接
nmcli con add type ethernet ifname eth0 con-name "Office-LAN"

# 2. 配置静态 IP 和 DNS
nmcli con mod "Office-LAN" ipv4.addresses 10.0.0.5/24
nmcli con mod "Office-LAN" ipv4.gateway 10.0.0.1
nmcli con mod "Office-LAN" ipv4.dns "10.0.0.2"

# 3. 启用连接
nmcli con up "Office-LAN"

常用选项说明
选项作用
con管理连接配置(如 con showcon up)。
dev操作物理设备(如 dev statusdev disconnect)。
-a 或 --active仅显示活动连接(如 nmcli con show --active)。
-p以友好格式输出(更易读,适合脚本调试)。
+ 修改多值参数使用 +ipv4.dns 添加 DNS(保留原有值),直接赋值会覆盖。

4.2.2 ip 
子命令用途常用选项/参数示例说明
ip addr管理 IP 地址adddelshowfluship addr show eth0
ip addr add 192.168.1.10/24 dev eth0
查看/添加/删除接口的 IP 地址。
ip link管理网络接口setshowupdownip link set eth0 up
ip link show
启用/禁用接口、设置 MTU、查看接口状态。
ip route管理路由表adddelshowfluship route show
ip route add default via 192.168.1.1
添加/删除路由、设置默认网关、查看路由规则。
ip neigh管理 ARP 表(邻居)showadddelfluship neigh show
ip neigh add 192.168.1.1 lladdr 00:11:22:33:44:55 dev eth0
查看/管理 ARP 缓存条目(IP 与 MAC 地址映射)。
ip rule管理策略路由规则adddelshowip rule show
ip rule add from 10.0.0.0/24 lookup 100
定义基于源 IP、标记等的路由策略(高级路由场景)。
ip tunnel管理隧道接口adddelshowip tunnel add mytun mode gre remote 203.0.113.1 local 198.51.100.1创建 GRE、IPIP 等隧道接口。
ip maddr管理多播地址adddelshowip maddr show dev eth0查看/配置接口的多播地址。
ip monitor实时监控网络事件addressroutelinkip monitor address
ip monitor route
实时跟踪 IP 地址、路由或链路状态变化。

常用操作示例详解

1. 查看网络接口信息

ip addr show      # 显示所有接口的 IP 地址
ip link show eth0 # 查看 eth0 接口的 MAC 地址和状态

2. 配置静态 IP 地址

ip addr add 192.168.1.10/24 dev eth0  # 为 eth0 添加 IPv4 地址
ip link set eth0 up                   # 启用接口

3. 设置默认网关

ip route add default via 192.168.1.1  # 设置默认网关
ip route show                         # 验证路由表

关键选项说明

选项适用子命令作用
addaddrroute添加 IP 地址、路由规则等。
deladdrroute删除指定配置。
show所有子命令显示当前配置信息(如 ip addr show)。
flushaddrroute清空所有配置(如 ip addr flush eth0 清空 eth0 的所有 IP)。
dev <接口>所有子命令指定操作的网络接口(如 dev eth0)。
via <网关>ip route指定网关地址(如 via 192.168.1.1)。

5.杂项

如何定义符号链接

假设在 Linux 系统中有以下文件和目录结构:

/home
└── user
    ├── documents
    │   └── file.txt
    └── links

定义符号链接

使用 ln -s 命令来创建符号链接,语法为 ln -s [目标文件或目录] [符号链接名称]。例如,要创建一个指向 /home/user/documents/file.txt 的符号链接 link.txt,可以在终端中输入 ln -s /home/user/documents/file.txt /home/user/links/link.txt

使用符号链接

通过符号链接 link.txt 来访问文件,例如使用 cat /home/user/links/link.txt ,系统会先读取 link.txt 中的目标路径 /home/user/documents/file.txt ,然后再去访问该路径下的 file.txt 文件并显示其内容。如果删除符号链接 link.txt ,使用 rm /home/user/links/link.txt 命令,这并不会影响到实际的 file.txt 文件及其内容。但如果删除了 file.txt 文件,再访问 link.txt 时,就会出现错误提示,因为它所指向的目标文件已不存在。

 如何创建命令的别名?

本文地址:https://www.vps345.com/11322.html

搜索文章

Tags

PV计算 带宽计算 流量带宽 服务器带宽 上行带宽 上行速率 什么是上行带宽? CC攻击 攻击怎么办 流量攻击 DDOS攻击 服务器被攻击怎么办 源IP docker 容器 运维 java-rabbitmq java 服务器安全 网络安全策略 防御服务器攻击 安全威胁和解决方案 程序员博客保护 数据保护 安全最佳实践 人工智能 自动化 linux 服务器 centos python 机器学习 深度学习 Deepseek Deepseek-R1 大模型 私有化部署 推理模型 deepseek DeepSeek-R1 API接口 游戏 云计算 数据库 oracle 关系型 安全 分布式 javascript 前端 chrome edge 网络工程师 网络管理 软考 2024 2024年上半年 下午真题 答案 ddos android 网络安全 web安全 c++ 神经网络 计算机视觉 卷积神经网络 物联网 ubuntu arm开发 架构 harmonyos 华为 tcp/ip 网络 服务器无法访问 ip地址无法访问 无法访问宝塔面板 宝塔面板打不开 DNS redis flutter Google pay Apple pay django ssh springsecurity6 oauth2 授权服务器 前后端分离 https 笔记 C 环境变量 进程地址空间 进程 YOLO conda pytorch vscode yolov5 数据库系统 php 开发语言 RTSP xop RTP RTSPServer 推流 视频 CH340 单片机 嵌入式硬件 串口驱动 CH341 uart 485 github git ai nlp AIGC 人工智能生成内容 Dify Ollama 模型联网 API CherryStudio 语言模型 udp macos MacMini Mac 迷你主机 mini Apple 网络结构图 mcp Flask FastAPI Waitress Gunicorn uWSGI Uvicorn windows oracle fusion oracle中间件 YOLOv8 NPU Atlas800 A300I pro asi_bench 网络协议 nginx 负载均衡 c语言 指令 vue.js spring boot outlook 错误代码2603 无网络连接 2603 Ubuntu DeepSeek DeepSeek Ubuntu DeepSeek 本地部署 DeepSeek 知识库 DeepSeek 私有化知识库 本地部署 DeepSeek DeepSeek 私有化部署 FTP服务器 node.js 策略模式 audio vue音乐播放器 vue播放音频文件 Audio音频播放器自定义样式 播放暂停进度条音量调节快进快退 自定义audio覆盖默认样式 操作系统 进程控制 Ubuntu pycharm ide agi 英语 npm Qwen2.5-coder 离线部署 unix gnu kubernetes 学习方法 经验分享 程序人生 ip协议 rpc 远程桌面 ROS 自动驾驶 gcc centos 7 计算机外设 bug 学习 opencv mysql UEFI Legacy MBR GPT U盘安装操作系统 程序 编程 内存 性能分析 gitea 面试 职场和发展 数据分析 CPU 使用率 系统监控工具 linux 命令 Ubuntu20.04 GLIBC 2.35 Linux xrdp 远程连接 cron crontab日志 无人机 机器人 llama deepseek-r1 大模型本地部署 环境迁移 kafka adb 阿里云 ipython 算法 自然语言处理 华为云 华为od apache tomcat mount挂载磁盘 wrong fs type LVM挂载磁盘 Centos7.9 游戏引擎 grub 版本升级 扩容 腾讯云 本地环回 bind 智能路由器 dell服务器 mysql离线安装 ubuntu22.04 mysql8.0 stm32 服务器配置 生物信息学 prometheus grafana 云原生 qt arm 快捷键 旋转屏幕 自动操作 ACL 流量控制 基本ACL 规则配置 jvm 虚拟机 typescript 鸿蒙 USB转串口 银河麒麟 dify 知识库 本地化部署 科技 个人开发 opengl react next.js 部署 部署next.js 外网访问 内网穿透 端口映射 iftop 网络流量监控 fstab axure 富文本编辑器 ArkUI 鸿蒙系统 ArkTS ollama 压力测试 大模型压力测试 EvalScope adobe AutoDL ssh漏洞 ssh9.9p2 CVE-2025-23419 spring cloud compose 持续部署 ip visualstudio intellij-idea 性能优化 雨云 NPS AI编程 计算机网络 rocketmq 缓存 目标检测 fastapi mcp-proxy mcp-inspector fastapi-mcp agent sse dash json 正则表达式 debian PVE live555 rtsp rtp 自定义客户端 SAS ubuntu 18.04 安装教程 教程 环境搭建 Java Maven C语言 开源 milvus 实时音视频 实时互动 嵌入式 http Alexnet word图片自动上传 word一键转存 复制word图片 复制word图文 复制word公式 粘贴word图文 粘贴word公式 websocket 开发环境 burpsuite 安全工具 mac安全工具 burp安装教程 渗透工具 交互 大数据 spark hive 远程工作 uni-app list 数据结构 cursor VMware FTP 服务器 selenium 虚拟现实 vite vue3 flask 媒体 jellyfin nas RAID RAID技术 磁盘 存储 centos-root /dev/mapper yum clean all df -h / du -sh svn 并查集 leetcode 数据挖掘 virtualenv react.js 前端面试题 gitlab unity gitee pygame c# postman 测试工具 Doris搭建 docker搭建Doris Doris搭建过程 linux搭建Doris Doris搭建详细步骤 Doris部署 ansible rust腐蚀 后端 jenkins maven excel 在线预览 xlsx xls文件 在浏览器直接打开解析xls表格 前端实现vue3打开excel 文件地址url或接口文档流二进 像素流送api 像素流送UE4 像素流送卡顿 像素流送并发支持 音视频 kylin 信息与通信 ffmpeg 视频编解码 pip ui vnc 镜像源 交换机 硬件 设备 GPU PCI-Express 阻塞队列 生产者消费者模型 服务器崩坏原因 eureka asp.net大文件上传 asp.net大文件上传下载 asp.net大文件上传源码 ASP.NET断点续传 k8s Linux 维护模式 devops elasticsearch spring IMM JDK LInux Windows rsyslog MCP mcu microsoft 灵办AI 孤岛惊魂4 上传视频文件到服务器 uniApp本地上传视频并预览 uniapp移动端h5网页 uniapp微信小程序上传视频 uniapp app端视频上传 uniapp uview组件库 vim perf chatgpt oneapi golang AI linux驱动开发 系统安全 工具分享 AI大模型 大模型技术 本地部署大模型 多层架构 解耦 华为认证 QT 5.12.12 QT开发环境 Ubuntu18.04 直播推流 cuda Qualcomm WoS Python QNN AppBuilder 微信 微信分享 Image wxopensdk 驱动开发 小程序 微信小程序域名配置 微信小程序服务器域名 微信小程序合法域名 小程序配置业务域名 微信小程序需要域名吗 微信小程序添加域名 matplotlib fonts-noto-cjk 虚拟局域网 C# MQTTS 双向认证 emqx 前端框架 ssrf 失效的访问控制 TCP WebServer maxkb ARG HarmonyOS Next 目标跟踪 OpenVINO 推理应用 课程设计 EtherCAT转Modbus EtherCAT转485网关 ECT转485串口服务器 ECT转Modbus485协议 ECT转Modbus串口网关 ECT转Modbus串口服务器 虚拟显示器 远程控制 iot python2 ubuntu24.04 VMware安装mocOS macOS系统安装 知识图谱 LLM 大模型教程 cpu 实时 使用 glibc ssl grep 多线程服务器 Linux网络编程 jupyter ubuntu20.04 ros ros1 Noetic 20.04 apt 安装 openvpn server openvpn配置教程 centos安装openvpn rtsp服务器 rtsp server android rtsp服务 安卓rtsp服务器 移动端rtsp服务 大牛直播SDK 镜像下载 freebsd bash 计算生物学 生物信息 基因组 ue4 着色器 ue5 虚幻 postgresql 硬件工程 浪潮信息 AI服务器 webdav Ubuntu 22.04 MySql 算家云 算力租赁 IIS服务器 IIS性能 日志监控 网易邮箱大师 运维开发 SRS 流媒体 直播 区块链 行情服务器 股票交易 速度慢 切换 股票量化接口 股票API接口 windows 服务器安装 eclipse 编辑器 微信小程序 miniapp 真机调试 调试 debug 断点 网络API请求调试方法 EtherNet/IP串口网关 EIP转RS485 EIP转Modbus EtherNet/IP网关协议 EIP转RS485网关 EIP串口服务器 zabbix mariadb C++ 电脑 NVML nvidia-smi 防火墙 端口号 开放端口 访问列表 集成学习 集成测试 开机黑屏 1024程序员节 rust stm32项目 WSL2 IP 地址 MobaXterm 文件传输 zotero WebDAV 同步失败 代理模式 反向代理 链表 宝塔面板访问不了 宝塔面板网站访问不了 宝塔面板怎么配置网站能访问 宝塔面板配置ip访问 宝塔面板配置域名访问教程 宝塔面板配置教程 DeepSeek AI-native gpt qps 高并发 filezilla 无法连接服务器 连接被服务器拒绝 vsftpd 331/530 大语言模型 LLMs 爬虫 nohup 异步执行 DevEco Studio 建站 统信 国产操作系统 虚拟机安装 Chatbox LDAP efficientVIT YOLOv8替换主干网络 TOLOv8 sql GPU环境配置 Ubuntu22 CUDA PyTorch Anaconda安装 jar 高级IO epoll asm 智能体开发 命名管道 客户端与服务端通信 firewall 进程程序替换 execl函数 execv函数 execvp函数 execvpe函数 putenv函数 网络药理学 生信 gromacs 分子动力学模拟 MD 动力学模拟 wsl gpu算力 IM即时通讯 QQ 企业微信 剪切板对通 HTML FORMAT 串口服务器 rdp 远程服务 hadoop Hyper-V WinRM TrustedHosts VM搭建win2012 win2012应急响应靶机搭建 攻击者获取服务器权限 上传wakaung病毒 应急响应并溯源 挖矿病毒处置 应急响应综合性靶场 ESP32 camera Arduino 电子信息 程序员 大模型入门 mac 软件需求 Linux Vim IPMI 实战案例 压测 ECS 大模型微调 frp 信号处理 tcpdump MQTT 消息队列 rag ragflow 大模型部署 一切皆文件 openjdk dubbo shell 私有化 本地部署 话题通信 服务通信 磁盘监控 系统架构 GaN HEMT 氮化镓 单粒子烧毁 辐射损伤 辐照效应 java-ee pillow pdf 进程优先级 调度队列 进程切换 go file server http server web server nvm remote-ssh 回显服务器 UDP的API使用 7z 桥接模式 vmware windows虚拟机 虚拟机联网 卡死 升级 CVE-2024-7347 漏洞 硅基流动 ChatBox 大模型应用 管道 匿名管道 protobuf 序列化和反序列化 安装 linuxdeployqt 打包部署程序 appimagetool RustDesk自建服务器 rustdesk服务器 docker rustdesk 其他 yum docker-compose docker compose kali 共享文件夹 网络爬虫 css css3 html5 HTML audio 控件组件 vue3 audio音乐播放器 Audio标签自定义样式默认 vue3播放音频文件音效音乐 自定义audio播放器样式 播放暂停调整声音大小下载文件 KylinV10 麒麟操作系统 Vmware 执法记录仪 智能安全帽 smarteye 3d 数学建模 etcd 数据安全 RBAC visual studio code 程序员创富 ECT转Modbus协议 EtherCAT转485协议 ECT转Modbus网关 HP Anyware es6 qt6.3 g726 transformer 冯诺依曼体系 webrtc odoo 服务器动作 Server action jmeter JAVA oceanbase 传统数据库升级 银行 kotlin android studio iphone localhost 券商 股票交易接口api 类型 特点 温湿度数据上传到服务器 Arduino HTTP iventoy VmWare OpenEuler 磁盘挂载 新盘添加 partedUtil 蓝桥杯C++组 蓝桥杯 aws 嵌入式实习 读写锁 windwos防火墙 defender防火墙 win防火墙白名单 防火墙白名单效果 防火墙只允许指定应用上网 防火墙允许指定上网其它禁止 clickhouse Cursor KingBase VMware Tools vmware tools安装 vmwaretools安装步骤 vmwaretools安装失败 vmware tool安装步骤 vm tools安装步骤 vm tools安装后不能拖 vmware tools安装步骤 vue termux Linux PID Trae IDE AI 原生集成开发环境 Trae AI yolov8 Cline express p2p 国产数据库 瀚高数据库 数据迁移 下载安装 系统 黑苹果 Kylin-Server 服务器安装 安卓模拟器 web 微服务 rustdesk DevOps 软件交付 数据驱动 应用场景 思科 mock mock server 模拟服务器 mock服务器 Postman内置变量 Postman随机数据 NFS 命令 IIS .net core Hosting Bundle .NET Framework vs2022 移动端开发 .netcore 智能合约 哈希算法 高效I/O Hive环境搭建 hive3环境 Hive远程模式 diskgenius Docker Desktop Invalid Host allowedHosts 毕设 python3.11 pyside6 界面 Redis Desktop rc.local 开机自启 systemd 麒麟 macbook kubeless 云电竞 云电脑 todesk springboot CNNs 图像分类 shell脚本免交互 expect linux免交互 html lighttpd安装 Ubuntu配置 Windows安装 性能测试 服务器优化 cnn googlecloud n8n 工作流 samba vSphere vCenter 软件定义数据中心 sddc ocr zip unzip 硬件架构 MCP server C/S 软件测试 vr web3.py tcp gateway Clion Nova ResharperC++引擎 Centos7 远程开发 ip命令 新增网卡 新增IP 启动网卡 多线程 xcode Ubuntu22.04 虚拟化 开发人员主页 burp suite 抓包 WLAN arkUI arkTs 安全威胁分析 Mermaid 可视化图表 自动化生成 open webui Kali Linux 黑客 渗透测试 信息收集 MacOS录屏软件 jdk 实验 图像处理 通信工程 毕业 王者荣耀 Maxkb RAG技术 本地知识库 ufw ruoyi 华为OD 华为OD机试真题 可以组成网络的服务器 智能手机 Agent CrewAI mongodb llm iTerm2 intellij idea numpy 大文件分片上传断点续传及进度条 如何批量上传超大文件并显示进度 axios大文件切片上传详细教 node服务器合并切片 vue3大文件上传报错提示错误 vu大文件秒传跨域报错cors vasp安装 linux环境变量 监控k8s集群 集群内prometheus 源码剖析 rtsp实现步骤 流媒体开发 PX4 notepad 聚类 ollama api ollama外网访问 ci/cd 代码规范 big data 安卓 ai小智 语音助手 ai小智配网 ai小智教程 智能硬件 esp32语音助手 diy语音助手 matlab kernel SSH Xterminal ecmascript nextjs reactjs 智慧农业 开源鸿蒙 团队开发 powerpoint sublime text sqlserver export import save load 迁移镜像 换源 国内源 Debian 低代码 统信UOS bonding 链路聚合 网络用户购物行为分析可视化平台 大数据毕业设计 基础环境 xml elk 大文件秒传跨域报错cors AD域 主从复制 Docker引擎已经停止 Docker无法使用 WSL进度一直是0 镜像加速地址 conda配置 conda镜像源 zerotier openwrt openstack Xen KVM 搜索引擎 GCC aarch64 编译安装 HPC 软件开发 信任链 EVE-NG nftables 拓扑图 隐藏文件 5G windows日志 单一职责原则 ROS2 进程信号 db TRAE WSL2 上安装 Ubuntu 域名服务 DHCP 符号链接 配置 锁屏不生效 P2P HDLC 具身智能 Isaac Sim 虚拟仿真 MS Materials Office Windsurf ftp服务 文件上传 SecureCRT sublime text3 日志分析 系统取证 软件工程 ICMP 框架搭建 GRE netty 政务 分布式系统 监控运维 Prometheus Grafana photoshop initramfs Linux内核 Grub 状态管理的 UDP 服务器 Arduino RTOS Mac内存不够用怎么办 ftp 深度求索 私域 gradle vm openssl seatunnel 录音麦克风权限判断检测 录音功能 录音文件mp3播放 小程序实现录音及播放功能 RecorderManager 解决录音报错播放没声音问题 腾讯云大模型知识引擎 游戏程序 ios UOS 统信操作系统 LLM Web APP Streamlit SSH 密钥生成 SSH 公钥 私钥 生成 云原生开发 K8S k8s管理系统 数码 联机 僵尸毁灭工程 游戏联机 开服 数据可视化 推荐算法 报错 llama3 Chatglm 开源大模型 iBMC UltraISO env 变量 计算机科学与技术 fork wait waitpid exit docker搭建nacos详解 docker部署nacos docker安装nacos 腾讯云搭建nacos centos7搭建nacos Reactor 设计模式 笔灵AI AI工具 工具 Dell R750XS cmos autoware ros2 开发 WSL resolv.conf VSCode 服务器扩容没有扩容成功 YOLOv12 RDP 测试用例 功能测试 内网渗透 靶机渗透 nohup后台启动 keepalived DrissionPage 宝塔 vmamba v10 软件 矩阵 显示器 ECS服务器 VPN wireguard su sudo sudo原理 su切换 HiCar CarLife+ CarPlay QT RK3588 langchain deep learning Claude Desktop Claude MCP Windows Cli MCP 产品经理 linux内核 Kali 渗透 Linux无人智慧超市 LInux多线程服务器 QT项目 LInux项目 单片机项目 服务器部署 本地拉取打包 多产物 arcgis 网卡的名称修改 eth0 ens33 显卡驱动持久化 GPU持久化 NAS Termux Samba 语音识别 wps 弹性计算 云服务器 裸金属服务器 弹性裸金属服务器 源代码管理 iperf3 带宽测试 web3 区块链项目 NAT转发 NAT Server ragflow 源码启动 cudnn anaconda bot Docker 常用命令 文本命令 目录命令 alias unalias 别名 中间件 Trae叒更新了? lvm 磁盘分区 飞腾处理器 国产化 .net Docker Compose Kubernetes VMware安装Ubuntu Ubuntu安装k8s 源码 毕业设计 宝塔面板无法访问 Web应用服务器 桌面环境 混合开发 环境安装 僵尸进程 r语言 openEuler 热榜 教育电商 webgl OpenCore flash-attention 电路仿真 multisim 硬件工程师 硬件工程师学习 电路图 电路分析 仪器仪表 umeditor粘贴word ueditor粘贴word ueditor复制word ueditor上传word图片 ueditor导入word ueditor导入pdf ueditor导入ppt 客户端 kamailio sip VoIP 设置代理 实用教程 ukui 麒麟kylinos openeuler 海康 论文阅读 Mac软件 ShapeFile GeoJSON Nginx 离线部署dify linux上传下载 Carla 智能驾驶 可信计算技术 智能电视 nacos webpack 豆瓣 追剧助手 迅雷 大屏端 WebUI DeepSeek V3 密码学 deepseak 文心一言 豆包 KIMI 腾讯元宝 unity3d GameFramework HybridCLR Unity编辑器扩展 自动化工具 权限 k8s部署 MySQL8.0 高可用集群(1主2从) VPS harmonyOS面试题 pyautogui CPU 主板 电源 网卡 互信 Linux24.04 deepin H3C log4j 软件构建 edge浏览器 onlyoffice dns 远程过程调用 Windows环境 昇腾 大模型训练/推理 推理问题 mindie 图文教程 VMware虚拟机 macOS系统安装教程 macOS最新版 虚拟机安装macOS Sequoia 弹性服务器 nvidia 云服务 考试 HCIE 数通 沙盒 需求分析 提示词 ESXi gpt-3 DocFlow 个人博客 联网 easyconnect 代理 Linux的权限 redhat firefox echarts k8s集群资源管理 镜像 TrueLicense Netty rancher Docker Hub docker pull daemon.json 软件卸载 系统清理 threejs 3D 监控k8s 监控kubernetes java-rocketmq AnythingLLM AnythingLLM安装 安全漏洞 信息安全 visual studio mamba Vmamba 全文检索 图搜索算法 数据集 rabbitmq kylin v10 麒麟 v10 WebRTC WebVM MAVROS 四旋翼无人机 自动化运维 流水线 脚本式流水线 智能体 autogen openai coze 视频监控 网站 bcompare Beyond Compare sysctl.conf vm.nr_hugepages 高德地图 鸿蒙接入高德地图 HarmonyOS5.0 网络编程 聊天服务器 套接字 Socket c VMware创建虚拟机 iis stable diffusion 创意 社区 EMQX 通信协议 database docker run 数据卷挂载 交互模式 tar sqlite3 自动化编程 高效日志打印 串口通信日志 服务器日志 系统状态监控日志 异常记录日志 键盘 物联网开发 make命令 makefile文件 服务器数据恢复 数据恢复 存储数据恢复 raid5数据恢复 磁盘阵列数据恢复 银河麒麟操作系统 scikit-learn moveit 机器人运动 kind 中兴光猫 换光猫 网络桥接 自己换光猫 laravel selete 内网环境 fpga开发 React Next.js 开源框架 kvm DigitalOcean GPU服务器购买 GPU服务器哪里有 GPU服务器 图形化界面 less netlink libnl3 单例模式 pyicu gunicorn k8s资源监控 annotations自动化 自动化监控 监控service 监控jvm 网工 retry 重试机制 充电桩平台 充电桩开源平台 docker desktop 影刀 PPI String Cytoscape CytoHubba Github加速 Mac上Github加速 Chrome浏览器插件 opcua opcda KEPServer安装 Unity Dedicated Server Host Client 无头主机 wsl2 x64 SIGSEGV SSE xmm0 cfssl zookeeper Linux权限 权限命令 特殊权限 top Linux top top命令详解 top命令重点 top常用参数 Ubuntu 24 常用命令 Ubuntu 24 Ubuntu vi 异常处理 docker搭建pg docker搭建pgsql pg授权 postgresql使用 postgresql搭建 java-zookeeper thingsboard Ardupilot powerbi 信息可视化 NFC 近场通讯 智能门锁 nac 802.1 portal 大版本升 升级Ubuntu系统 免费 树莓派 VNC ArkTs 开源软件 IO ubuntu安装 linux入门小白 隐藏目录 文件系统 管理器 通配符 gaussdb 分析解读 华为机试 软链接 硬链接 相差8小时 UTC 时间 交叉编译 csrf armbian u-boot FunASR ASR yaml Ultralytics 可视化 webstorm Reactor反应堆 AI代码编辑器 win11 无法解析服务器的名称或地址 ELF加载 chatbox 跨域请求 加解密 Yakit yaklang Wi-Fi 显卡驱动 我的世界 我的世界联机 宠物 免费学习 宠物领养 宠物平台 EasyConnect 小艺 Pura X cmake AimRT 动静态库 wireshark mybatis 强制清理 强制删除 mac废纸篓 华为证书 HarmonyOS认证 华为证书考试 word 金融 云计算面试题 mm-wiki搭建 linux搭建mm-wiki mm-wiki搭建与使用 mm-wiki使用 mm-wiki详解 springboot容器部署 springboot容器化部署 微服务容器化负载均衡配置 微服务容器多节点部署 微服务多节点部署配置负载均衡 DBeaver 数据仓库 kerberos vscode1.86 1.86版本 ssh远程连接 CosyVoice massa sui aptos sei 序列化反序列化 IPv4 子网掩码 公网IP 私有IP 产测工具框架 IMX6ULL 管理框架 Ubuntu共享文件夹 共享目录 Linux共享文件夹 Ark-TS语言 Linux的基础指令 gitee go MNN Qwen AI写作 SSL证书 sdkman 底层实现 深度优先 图论 并集查找 换根法 树上倍增 MVS 海康威视相机 springboot远程调试 java项目远程debug docker远程debug java项目远程调试 springboot远程 输入法 空间 查错 iDRAC R720xd 重启 排查 系统重启 日志 原因 asp.net上传文件夹 asp.net上传大文件 .net core断点续传 .net mvc断点续传 实时内核 双系统 进程间通信 lio-sam SLAM 远程 执行 sshpass 操作 uv trae xshell termius iterm2 Echarts图表 折线图 柱状图 异步动态数据 鸿蒙开发 可视化效果 neo4j 数据库开发 数据库架构 uni-file-picker 拍摄从相册选择 uni.uploadFile H5上传图片 微信小程序上传图片 视频平台 录像 视频转发 视频流 信号 内核 ubuntu24.04.1 curl wget 生活 金仓数据库 2025 征文 数据库平替用金仓 金仓数据库概述 金仓数据库的产品优化提案 微信公众平台 playbook 剧本 自学笔记 小米 澎湃OS Android ArcTS 登录 ArcUI GridItem X11 Xming 多进程 HistoryServer Spark YARN jobhistory js CLion Node-Red 编程工具 流编程 银河麒麟服务器操作系统 系统激活 linux安装配置 终端 firewalld 工业4.0 minio 安全架构 网络攻击模型 系统开发 binder 车载系统 framework 源码环境 AP配网 AK配网 小程序AP配网和AK配网教程 WIFI设备配网小程序UDP开 安装MySQL lsb_release /etc/issue /proc/version uname -r 查看ubuntu版本 workflow 图片增强 增强数据 博客 小智 负载测试 显示管理器 lightdm gdm iNode Macos 数据采集 Crawlee Playwright element-ui 上传视频并预览视频 vue上传本地视频及进度条功能 vue2选择视频上传到服务器 upload上传视频组件插件 批量上传视频 限制单个上传视频 视觉检测 Cookie HarmonyOS OpenHarmony vscode 1.86 jetty undertow 微信开放平台 微信公众号配置 WireGuard 异地组网 7-zip rpa Portainer搭建 Portainer使用 Portainer使用详解 Portainer详解 Portainer portainer Webserver 异步 网络文件系统 小游戏 五子棋 ShenTong 开机自启动 CentOS Stream CentOS springcloud systemctl composer 单元测试 DeepSeek行业应用 Heroku 网站部署 perl PyQt PySide6 Web服务器 多线程下载工具 PYTHON 分子对接 autodock mgltools PDB PubChem 飞牛nas fnos Docker快速入门 游戏机 prometheus数据采集 prometheus数据模型 prometheus特点 即时通信 NIO 迁移指南 yum源切换 更换国内yum源 SWAT 配置文件 服务管理 网络共享 健康医疗 OpenManus 京东云 nuxt3 版本 技术 边缘计算 DeepSeek r1 Open WebUI cd 目录切换 chromium dpi micropython esp32 mqtt 考研 在线office 玩游戏 Xinference 算力 授时服务 北斗授时 设备树 服务器管理 宝塔面板 配置教程 网站管理 命令行 基础入门 计算机 mq TCP服务器 qt项目 qt项目实战 qt教程 Bug解决 Qt platform OpenCV embedding 国标28181 监控接入 语音广播 流程 SIP SDP mosquitto 跨域 玩机技巧 软件分享 软件图标 WINCC ebpf uprobe 社交电子 harmonyosnext 办公自动化 pdf教程 高效远程协作 TrustViewer体验 跨设备操作便利 智能远程控制 ollama下载加速 xpath定位元素 chrome 浏览器下载 chrome 下载安装 谷歌浏览器下载 hibernate junit rclone AList fnOS SEO IP配置 netplan linux 命令 sed 命令 同步 备份 minicom 串口调试工具 向日葵 beautifulsoup 直流充电桩 充电桩 邮件APP 免费软件 hosts hosts文件管理工具 RagFlow RAG tensorflow ping++ fpga Ubuntu Server Ubuntu 22.04.5 网络穿透 自动化测试 飞牛NAS 飞牛OS MacBook Pro Nuxt.js 自动化任务管理 safari 恒源云 client-go k8s二次开发 prompt llamafactory 微调 servlet LVM lvresize 磁盘扩容 pvcreate fd 文件描述符 上传视频至服务器代码 vue3批量上传多个视频并预览 如何实现将本地视频上传到网页 element plu视频上传 ant design vue vue3本地上传视频及预览移除 蓝耘科技 元生代平台工作流 ComfyUI OD机试真题 服务器能耗统计 okhttp CORS 强化学习 Xshell AI作画 RAGFlow 能力提升 面试宝典 IT信息化 电脑桌面出现linux图标 电脑桌面linux图标删除不了 电脑桌面Liunx图标删不掉 linux图标删不掉 apt CUPS 打印机 Qt5 Kylin OS docker命令大全 程序化交易 量化交易 高频交易 mac设置host 移动云 CDN 监控 安防软件 c/c++ 串口 相机 nfs 网页设计 模拟实现 用户管理 AISphereButler rtc 大数据平台 路径解析 NVM Node Yarn PM2 服务器ssl异常解决 概率论 打不开xxx软件 无法检查其是否包含恶意软件 mvc 浏览器自动化 分布式账本 共识算法 蓝牙 SenseVoice RoboVLM 通用机器人策略 VLA设计哲学 vlm fot robot 视觉语言动作模型 云桌面 微软 AD域控 证书服务器 deepseek-v3 ktransformers g++ g++13 Pyppeteer 支持向量机 黑客技术 rime api pyqt Tabs组件 TabContent TabBar TabsController 导航页签栏 滚动导航栏 Attention NLP 大模型面经 大模型学习 DIFY ux 鲲鹏 npu 文件存储服务器组件 RTMP 应用层 opensearch helm 服务器主板 AI芯片 string模拟实现 深拷贝 浅拷贝 经典的string类问题 三个swap 游戏服务器 TrinityCore 魔兽世界 代码调试 ipdb shard 智能音箱 智能家居 动态规划 IPMITOOL BMC 硬件管理 GPU训练 计算机系统 医疗APP开发 app开发 USB网络共享 ssh远程登录 code-server SVN Server tortoise svn 群晖 文件分享 pppoe radius Typore 3GPP 卫星通信 雨云服务器 MQTT协议 消息服务器 代码 token sas dba RAGFLOW 服务器部署ai模型 机柜 1U 2U EMUI 回退 降级 浏览器开发 AI浏览器 远程看看 远程协助 代理服务器 三级等保 服务器审计日志备份 etl 嵌入式系统开发 框架 ldap Linux awk awk函数 awk结构 awk内置变量 awk参数 awk脚本 awk详解 Claude 云耀服务器 显示过滤器 Wireshark安装 copilot mysql安装报错 windows拒绝安装 telnet 远程登录 AI提示词优化 流式接口 磁盘清理 MAC 桌面快捷方式 环境配置 跨平台 免密 公钥 私钥 ajax 宕机切换 服务器宕机 pthread 星河版 accept 软件商店 信创 livecd systemtools vsxsrv autodl 小番茄C盘清理 便捷易用C盘清理工具 小番茄C盘清理的优势尽显何处? 教你深度体验小番茄C盘清理 C盘变红?!不知所措? C盘瘦身后电脑会发生什么变化? searxng DOIT 四博智联 工厂方法模式 ruby 数据管理 数据治理 数据编织 数据虚拟化 线程 稳定性 看门狗 NTP服务器 TCP协议 idm 抗锯齿 欧拉系统 postgres Dify重启后重新初始化 crosstool-ng 论文笔记 vue-i18n 国际化多语言 vue2中英文切换详细教程 如何动态加载i18n语言包 把语言json放到服务器调用 前端调用api获取语言配置文件 can 线程池 医院门诊管理系统 Logstash 日志采集 comfyui comfyui教程 vpn 动态库 GCC编译器 -fPIC -shared 百度云 矩池云 数据下载 数据传输 互联网医院 GRUB引导 Linux技巧 技能大赛 XFS xfs文件系统损坏 I_O error es 子系统 信创终端 中科方德 lb 协议 SoC anythingllm open-webui docker国内镜像 佛山戴尔服务器维修 佛山三水服务器维修 ceph wordpress 无法访问wordpess后台 打开网站页面错乱 linux宝塔面板 wordpress更换服务器 c/s 导航栏 风扇控制软件 MinIO web开发 Linux环境 rnn 匿名FTP 邮件传输代理 SSL支持 chroot监狱技术 #STC8 #STM32 Spring Security 技术共享 终端工具 远程工具 glm4 archlinux kde plasma 容器技术 线性代数 电商平台 SysBench 基准测试 服务器时间 ecm bpm jina Minecraft seleium chromedriver 备份SQL Server数据库 数据库备份 傲梅企业备份网络版 VR手套 数据手套 动捕手套 动捕数据手套 cocos2d 3dcoat 卸载 列表 数据库管理 达梦 DM8 dns是什么 如何设置电脑dns dns应该如何设置 Dell HPE 联想 浪潮 av1 电视盒子 机顶盒ROM 魔百盒刷机 对比 meld DiffMerge 顽固图标 启动台 端口聚合 windows11 android-studio 创业创新 思科模拟器 Cisco System V共享内存 进程通信 hdc 聊天室 sonoma 自动更新 image chrome devtools HarmonyOS NEXT 原生鸿蒙 惠普服务器 惠普ML310e Gen8 惠普ML310e Gen8V2 NLP模型 muduo PTrade QMT 量化股票 软负载 服务网格 istio csrutil mac恢复模式进入方法 恢复模式 飞牛 Masshunter 质谱采集分析软件 使用教程 科研软件 内存管理 Alist mount 挂载 网盘 fast 端口 查看 ss 合成模型 扩散模型 图像生成 Navidrome 网站搭建 serv00 本地部署AI大模型 notepad++ easyui 运维监控 可用性测试 磁盘镜像 服务器镜像 服务器实时复制 实时文件备份 banner 图形渲染 openvino SPI 音乐服务器 音流 HTTP 服务器控制 ESP32 DeepSeek llama.cpp Linux的基础开发工具 银河麒麟桌面操作系统 xfce 钉钉 毕昇JDK IPv6 IPv6测试 IPv6测速 IPv6检测 IPv6查询 OpenGL 抓包工具 半虚拟化 硬件虚拟化 Hypervisor regedit 开机启动 gru broadcom solidworks安装 qt5 客户端开发 sqlite pgpool 业界资讯 模拟退火算法 田俊楠 UDP 银河麒麟高级服务器 外接硬盘 Kylin UOS1070e 代码托管服务 finebi bat 服务器繁忙 d3d12 源代码 MDK 嵌入式开发工具 W5500 OLED u8g2 chfs ubuntu 16.04 docker部署翻译组件 docker部署deepl docker搭建deepl java对接deepl 翻译组件使用 mapreduce 定义 核心特点 优缺点 适用场景 AD 域管理 docker部署Python Java Applet URL操作 服务器建立 Socket编程 网络文件读取 Qwen3 qwen3 32b vllm Bandizip Mac解压 Mac压缩 压缩菜单 cpolar SSH 服务 SSH Server OpenSSH Server rsync 火绒安全 内网服务器 内网代理 内网通信 uniapp qemu libvirt 备选 调用 示例 历史版本 下载 致远OA OA服务器 服务器磁盘扩容 SystemV 实时云渲染 云渲染 3D推流 GeneCards OMIM TTD 网络原理 DenseNet pyscenic 生信教程 wpf deepseek r1 免费域名 域名解析 linux子系统 忘记密码 XCC Lenovo virtualbox 繁忙 解决办法 替代网站 汇总推荐 AI推理 ubuntu24 vivado24 端口测试 裸机装机 linux磁盘分区 裸机安装linux 裸机安装ubuntu 裸机安装kali 裸机 wsgiref Web 服务器网关接口 Sealos 用户缓冲区 SSL 域名 skynet 支付 微信支付 开放平台 怎么卸载MySQL MySQL怎么卸载干净 MySQL卸载重新安装教程 MySQL5.7卸载 Linux卸载MySQL8.0 如何卸载MySQL教程 MySQL卸载与安装 OpenManage 脚本 Charles 配置原理 cocoapods #影刀RPA# node ai工具 Jellyfin Helm k8s集群 LORA fiddler PostgreSQL15数据库 pxe h.264 VGG网络 卷积层 池化层 实习 URL 项目部署到linux服务器 项目部署过程 miniconda open Euler dde 自定义登录信息展示 motd 美化登录 检索增强生成 文档解析 大模型垂直应用 Python教程 pycharm安装 cpp-httplib MI300x 大模型推理 材料工程 电视剧收视率分析与可视化平台 Zoertier 内网组网 模拟器 logstash 增强现实 沉浸式体验 技术实现 案例分析 AR GoogLeNet scapy swift IPv4/IPv6双栈 双栈技术 网路规划设计 ensp综合实验 IPv4过渡IPv6 IPv4与IPv6 能源 trea idea 虚幻引擎 问题解决 Radius 崖山数据库 YashanDB 商用密码产品体系 可执行程序 嵌入式Linux IPC Linux find grep saltstack 无桌面 文件共享 做raid 装系统 多端开发 智慧分发 应用生态 鸿蒙OS risc-v GIS 遥感 WebGIS Python基础 Python技巧 计算机学习路线 编程语言选择 swoole 性能调优 安全代理 阿里云ECS 机架式服务器 1U工控机 国产工控机 Obsidian Dataview yashandb 流程图 mermaid dity make 多个客户端访问 IO多路复用 TCP相关API eNSP 网络规划 VLAN 企业网络 bootstrap Apache Beam 批流统一 案例展示 数据分区 容错机制 网页服务器 web服务器 联想开天P90Z装win10 web环境 IDEA tailscale derp derper 中转 triton 模型分析 deekseek homeassistant lua 多路转接 查看显卡进程 fuser ArtTS IO模型 vmware tools win向maOS迁移数据 sentinel MacOS qtcreator midjourney 项目部署 dock 加速 动态域名 devmem 我的世界服务器搭建 Putty 花生壳 OpenSSH 干货分享 黑客工具 密码爆破 RK3568 OS 红黑树封装map和set 带外管理 webview Python学习 Python编程 软考设计师 中级设计师 SQL 软件设计师 流量运营 C++软件实战问题排查经验分享 0xfeeefeee 0xcdcdcdcd 动态库加载失败 程序启动失败 程序运行权限 标准用户权限与管理员权限 ISO镜像作为本地源 NVIDIA 智能问答 向量数据库 Spring AI Milvus 事件驱动 集群管理 Erlang OTP gen_server 热代码交换 事务语义 欧标 OCPP AI员工 ranger MySQL8.0 Ubuntu 24.04.1 轻量级服务器 音乐库 模板 泛型编程 AI agent 网络建设与运维 烟雾检测 yolo检测 消防检测 mybase Qwen2.5-VL aac 实时日志 logs AI Agent 字节智能运维 接口优化 极限编程 deployment daemonset statefulset cronjob 游戏开发 hexo LSTM 语法 nosql 移动开发 react native 知行EDI 电子数据交换 知行之桥 EDI 捆绑 链接 谷歌浏览器 youtube google gmail IMX317 MIPI H265 VCU sequoiaDB xss access blocked 破解 win服务器架设 windows server minecraft hugo 能效分析 查询数据库服务IP地址 SQL Server whistle 分布式训练 解决方案 AzureDataStudio 状态模式 轮播图 鸿蒙NEXT VS Code 根服务器 三次握手 机械臂 小智AI服务端 xiaozhi TTS ubantu post.io 企业邮箱 搭建邮箱 GRANT REVOKE 规格说明书 移动魔百盒 企业网络规划 华为eNSP bigdata 线程同步 线程互斥 条件变量 学习路线 飞书 静态IP Headless Linux 手机 Python 视频爬取教程 Python 视频爬取 Python 视频教程 mcp服务器 client close flink navicat 漏洞报告生成 Web3 Telegram 大大通 第三代半导体 碳化硅 mcp协议 go-zero brew 蜂窝网络 频率复用 射频单元 无线协议接口RAN 主同步信号PSS 网络搭建 神州数码 神州数码云平台 云平台 docker search Multi-Agent bert 超融合 Async注解 yum换源 figma VM虚拟机 网络库 MLLMs VLM gpt-4v 接口返回 tidb 制造 easyTier 组网 Qt QModbus 粘包问题 搭建个人相关服务器 Anolis nginx安装 linux插件下载 僵尸世界大战 游戏服务器搭建 Modbus TCP 物理地址 页表 虚拟地址 finalsheel proxy模式 烟花代码 烟花 元旦 LVS 本地知识库部署 DeepSeek R1 模型 CPU架构 服务器cpu 设计规范 paddle LLaMA-Factory UFW 切换root 架构与原理 元服务 应用上架 输入系统 端口开放 pythonai PlaywrightMCP STL watchtower 容器化 Serverless 数字证书 签署证书 火山引擎 EMC存储 NetApp存储 vCenter服务器 ESXi主机 监控与管理 故障排除 日志记录 caddy qwen2vl 服务器正确解析请求体 fabric Unity插件 搜狗输入法 Ubuntu 24.04 搜狗输入法闪屏 Ubuntu中文输入法 4 - 分布式通信、分布式张量 计算虚拟化 弹性裸金属 orbslam2 anonymous tar.gz tar.xz linux压缩 华为鸿蒙系统 ArkTS语言 Component 生命周期 条件渲染 Image图片组件 超级终端 多任务操作 提高工作效率 macOS HAProxy ABAP 李心怡 安装部署 milvus安装 存储维护 数字比特流 模拟信号 将二进制数据映射到模拟波形上 频谱资源 振幅频率相位 载波高频正弦波 java毕业设计 微信小程序医院预约挂号 医院预约 医院预约挂号 小程序挂号 北亚数据恢复 oracle数据恢复 命令模式 lrzsz authing mujoco 中文输入法 ardunio BLE Metastore Catalog 零售 进程池实现 西门子PLC 通讯 jdk11安装 jdk安装 openjdk11 openjdk11安装 solr AWS 代码复审 wifi驱动 环境 非root 青少年编程 h.265 nginx默认共享目录 企业风控系统 互联网反欺诈 DDoS攻击 SQL注入攻击 恶意软件和病毒攻击 集成 janus BCLinux GKI KMI 流量 rtcp CAD瓦片化 栅格瓦片 矢量瓦片 Web可视化 DWG解析 金字塔模型 RAGflow nano GPUGEEK 华为昇腾910b3 风扇散热策略 曙光 海光 宁畅 中科可控 腾讯云服务器 轻量应用服务器 linux系统入门 linux命令 issue lvs isaacgym vue在线预览excel和编辑 vue2打开解析xls电子表格 浏览器新开页签或弹框内加载预览 文件url地址或接口二进制文档 解决网页打不开白屏报错问题 socket 站群 多IP RockyLinux 基本指令 scrapy AppLinking 应用间跳转 appium nmcli 网络配置 静态NAT python高级编程 Ansible elk stack 通用环境搭建 MySQL sse_starlette Starlette Server-Sent Eve 服务器推送事件 ANDROID_HOME zshrc IP地址 计算机基础 互联网实用编程指南 苹果电脑装windows系统 mac安装windows系统 mac装双系统 macbook安装win10双 mac安装win10双系统 苹果电脑上安装双系统 mac air安装win