Linux 常用指令详解
Linux 操作系统中有大量强大的命令行工具,下面我将分类介绍一些最常用的指令及其用法。
## 文件与目录操作
### 1. ls - 列出目录内容
```
ls [选项] [目录名]
```
常用选项:
- `-l`:长格式显示(详细信息)
- `-a`:显示所有文件(包括隐藏文件)
- `-h`:人类可读的文件大小(配合 -l 使用)
- `-t`:按修改时间排序
- `-r`:反向排序
示例:
```bash
ls -lah /home # 显示/home目录下所有文件的详细信息
```
### 2. cd - 切换目录
```
cd [目录路径]
```
特殊路径:
- `cd ~` 或 `cd`:返回用户主目录
- `cd ..`:返回上级目录
- `cd -`:返回上一次所在的目录
### 3. pwd - 显示当前工作目录
```
pwd
```
### 4. mkdir - 创建目录
```
mkdir [选项] 目录名
```
常用选项:
- `-p`:递归创建所需目录结构
- `-m`:设置目录权限
示例:
```bash
mkdir -p project/{src,doc,bin} # 创建project目录及其子目录
```
### 5. cp - 复制文件/目录
```
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
```
常用选项:
- `-r`:递归复制目录
- `-i`:覆盖前提示
- `-u`:只复制更新的文件
- `-v`:显示复制过程
示例:
```bash
cp -r /home/user/documents /backup/ # 递归复制目录
```
### 6. mv - 移动/重命名文件
```
mv [选项] 源文件 目标文件
mv [选项] 源文件... 目标目录
```
常用选项:
- `-i`:覆盖前提示
- `-v`:显示移动过程
示例:
```bash
mv oldname.txt newname.txt # 重命名文件
mv *.txt /target/dir/ # 移动所有txt文件
```
### 7. rm - 删除文件/目录
```
rm [选项] 文件...
```
常用选项:
- `-r`:递归删除目录
- `-f`:强制删除,不提示
- `-i`:删除前提示确认
示例:
```bash
rm -rf obsolete_dir/ # 强制递归删除目录(谨慎使用!)
```
### 8. find - 查找文件
```
find [路径] [表达式]
```
常用表达式:
- `-name "pattern"`:按名称查找
- `-type f/d`:查找文件/目录
- `-mtime +n`:查找n天前修改的文件
- `-size +10M`:查找大于10MB的文件
- `-exec command {} \;`:对找到的文件执行命令
示例:
```bash
find /home -name "*.txt" -type f # 查找/home下所有txt文件
find . -mtime -7 -exec ls -l {} \; # 查找7天内修改的文件并列出详细信息
```
### 9. grep - 文本搜索
```
grep [选项] 模式 [文件...]
```
常用选项:
- `-i`:忽略大小写
- `-r`:递归搜索目录
- `-n`:显示行号
- `-v`:反向匹配(不包含模式的行)
- `-l`:只显示包含匹配的文件名
- `-E`:使用扩展正则表达式
示例:
```bash
grep -rn "error" /var/log/ # 递归搜索/var/log/中包含"error"的行
ps aux | grep sshd # 过滤包含sshd的进程
```
## 文件内容查看与处理
### 10. cat - 连接并显示文件内容
```
cat [选项] [文件...]
```
常用选项:
- `-n`:显示行号
- `-b`:显示非空行行号
示例:
```bash
cat file1 file2 > combined # 合并文件
cat -n /etc/passwd # 显示带行号的文件内容
```
### 11. less/more - 分页查看文件
```
less [选项] 文件名
more [选项] 文件名
```
常用操作(less中):
- 空格:下一页
- b:上一页
- /pattern:搜索
- q:退出
### 12. head/tail - 查看文件开头/结尾
```
head [选项] 文件
tail [选项] 文件
```
常用选项:
- `-n NUM`:显示NUM行(默认10)
- `-f`:跟踪文件变化(常用于日志)
示例:
```bash
head -n 20 largefile.log # 显示文件前20行
tail -f /var/log/syslog # 实时查看日志更新
```
### 13. wc - 统计文件内容
```
wc [选项] 文件
```
常用选项:
- `-l`:行数
- `-w`:单词数
- `-c`:字节数
- `-m`:字符数
示例:
```bash
wc -l access.log # 统计文件行数
```
### 14. sort - 排序文件内容
```
sort [选项] 文件
```
常用选项:
- `-n`:按数值排序
- `-r`:逆序排序
- `-k N`:按第N列排序
- `-u`:去重
示例:
```bash
sort -nrk 3 data.txt # 按第三列数值逆序排序
```
### 15. uniq - 报告或忽略重复行
```
uniq [选项] [输入文件 [输出文件]]
```
常用选项:
- `-c`:统计重复次数
- `-d`:只显示重复行
- `-u`:只显示不重复行
通常与sort配合使用:
```bash
sort file.txt | uniq -c # 统计每行出现次数
```
### 16. cut - 提取文件列
```
cut [选项] 文件
```
常用选项:
- `-d DELIM`:指定分隔符(默认为制表符)
- `-f LIST`:选择指定字段
示例:
```bash
cut -d: -f1,7 /etc/passwd # 提取用户名和登录shell
```
### 17. sed - 流编辑器
```
sed [选项] '命令' 文件
```
常用命令:
- `s/pattern/replacement/`:替换
- `d`:删除行
- `p`:打印行
示例:
```bash
sed 's/foo/bar/g' file.txt # 全局替换foo为bar
sed -i.bak 's/old/new/' file # 直接修改文件并备份
```
### 18. awk - 文本处理工具
```
awk '模式 {动作}' 文件
```
常用变量:
- `$0`:整行
- `$1,$2,...`:第1,2,...字段
- `NF`:字段数
- `NR`:当前行号
示例:
```bash
awk -F: '{print $1, $7}' /etc/passwd # 同cut示例
awk '$3 > 100 {print $0}' data.txt # 打印第三列大于100的行
```
## 系统信息与进程管理
### 19. ps - 显示进程状态
```
ps [选项]
```
常用选项组合:
- `aux`:显示所有用户的所有进程
- `-ef`:全格式列表
示例:
```bash
ps aux | grep nginx # 查找nginx进程
```
### 20. top/htop - 动态显示进程信息
```
top
htop # 需要安装,功能更强大
```
常用操作:
- q:退出
- k:杀死进程(输入PID)
- M:按内存排序
- P:按CPU排序
### 21. kill - 终止进程
```
kill [选项] PID...
killall [选项] 进程名...
```
常用选项:
- `-9`:强制终止(SIGKILL)
- `-15`:正常终止(SIGTERM,默认)
示例:
```bash
kill -9 1234 # 强制终止PID为1234的进程
killall -u username # 终止某用户的所有进程
```
### 22. free - 显示内存使用情况
```
free [选项]
```
常用选项:
- `-h`:人类可读格式
- `-m`:以MB为单位
示例:
```bash
free -h # 显示易读的内存信息
```
### 23. df - 显示磁盘空间
```
df [选项] [文件...]
```
常用选项:
- `-h`:人类可读格式
- `-T`:显示文件系统类型
示例:
```bash
df -hT # 显示所有挂载点的磁盘使用情况
```
### 24. du - 估算文件/目录空间使用
```
du [选项] [文件...]
```
常用选项:
- `-h`:人类可读格式
- `-s`:只显示总计
- `--max-depth=N`:显示N级子目录
示例:
```bash
du -sh /var/log/ # 显示/var/log/的总大小
```
### 25. uname - 显示系统信息
```
uname [选项]
```
常用选项:
- `-a`:显示所有信息
- `-r`:内核版本
- `-m`:机器硬件名称
示例:
```bash
uname -a # 显示所有系统信息
```
### 26. uptime - 显示系统运行时间
```
uptime
```
输出示例:
```
10:30:45 up 15 days, 3:25, 2 users, load average: 0.15, 0.10, 0.05
```
## 网络相关
### 27. ifconfig/ip - 网络接口配置
```
ifconfig [接口] [选项] # 传统命令
ip addr show # 现代替代命令
```
示例:
```bash
ifconfig eth0 # 显示eth0接口信息
ip a # 显示所有接口信息
```
### 28. ping - 测试网络连通性
```
ping [选项] 主机名/IP
```
常用选项:
- `-c N`:发送N个包后停止
- `-i N`:设置间隔N秒
示例:
```bash
ping -c 4 google.com # 向google.com发送4个ping包
```
### 29. netstat/ss - 网络统计信息
```
netstat [选项] # 传统命令
ss [选项] # 现代替代命令
```
常用选项:
- `-t`:TCP连接
- `-u`:UDP连接
- `-l`:监听端口
- `-p`:显示进程信息
- `-n`:数字形式显示地址
示例:
```bash
ss -tulnp # 显示所有监听端口及相关进程
```
### 30. traceroute/tracepath - 跟踪路由路径
```
traceroute 主机名/IP
tracepath 主机名/IP # 不需要root权限
```
### 31. wget/curl - 下载工具
```
wget [选项] URL
curl [选项] URL
```
常用选项:
- `-O`:保存到文件(wget)
- `-o FILE`:保存到文件(curl)
- `-L`:跟随重定向
示例:
```bash
wget https://example.com/file.zip
curl -o file.zip https://example.com/file.zip
```
### 32. ssh - 安全远程登录
```
ssh [选项] 用户名@主机 [命令]
```
常用选项:
- `-p 端口`:指定端口
- `-i 密钥文件`:使用指定密钥
示例:
```bash
ssh user@example.com
ssh -p 2222 user@example.com 'ls -l /tmp'
```
## 权限管理
### 33. chmod - 更改文件权限
```
chmod [选项] 模式 文件...
```
模式格式:
- 数字模式:如 `755`
- 符号模式:如 `u+x,g-w,o=r`
示例:
```bash
chmod 755 script.sh # rwxr-xr-x
chmod +x script.sh # 添加执行权限
```
### 34. chown - 更改文件所有者
```
chown [选项] 用户[:组] 文件...
```
常用选项:
- `-R`:递归更改
示例:
```bash
chown user:group file.txt # 更改所有者和组
chown -R www-data:www-data /var/www # 递归更改
```
### 35. passwd - 更改用户密码
```
passwd [用户名] # 无参数更改当前用户密码
```
## 压缩与归档
### 36. tar - 归档工具
```
tar [选项] 文件...
```
常用选项:
- `-c`:创建归档
- `-x`:提取归档
- `-v`:显示过程
- `-f FILE`:指定归档文件
- `-z`:gzip压缩/解压
- `-j`:bzip2压缩/解压
- `-J`:xz压缩/解压
示例:
```bash
tar -czvf archive.tar.gz dir/ # 创建gzip压缩的归档
tar -xzvf archive.tar.gz # 解压gzip归档
```
### 37. gzip/gunzip - 压缩/解压
```
gzip [选项] 文件...
gunzip [选项] 文件...
```
常用选项:
- `-d`:解压(gzip)
- `-k`:保留原文件
- `-9`:最大压缩
示例:
```bash
gzip -9 largefile.log # 最大压缩
gunzip largefile.log.gz # 解压
```
### 38. zip/unzip - ZIP压缩/解压
```
zip [选项] 压缩包名 文件...
unzip [选项] 压缩包名
```
常用选项:
- `-r`:递归压缩目录
- `-d 目录`:指定解压目录
示例:
```bash
zip -r archive.zip dir/
unzip archive.zip -d target_dir/
```
## 系统管理
### 39. sudo - 以超级用户权限执行命令
```
sudo [选项] 命令
```
常用选项:
- `-i`:切换到root shell
- `-u 用户`:以指定用户身份执行
### 40. su - 切换用户
```
su [选项] [用户名]
```
无参数时切换到root
### 41. useradd/userdel - 添加/删除用户
```
useradd [选项] 用户名
userdel [选项] 用户名
```
常用选项:
- `-m`:创建用户主目录
- `-G 组`:指定附加组
- `-r`:删除用户时同时删除主目录
示例:
```bash
useradd -m -G sudo newuser # 创建有sudo权限的用户
userdel -r olduser # 删除用户及其主目录
```
### 42. groupadd/groupdel - 添加/删除组
```
groupadd [选项] 组名
groupdel 组名
```
### 43. crontab - 定时任务管理
```
crontab [选项]
```
常用选项:
- `-e`:编辑当前用户的crontab
- `-l`:列出当前用户的crontab
- `-r`:删除当前用户的crontab
### 44. systemctl - 系统服务管理
```
systemctl [命令] [服务]
```
常用命令:
- `start`:启动服务
- `stop`:停止服务
- `restart`:重启服务
- `status`:查看服务状态
- `enable`:设置开机启动
- `disable`:禁止开机启动
示例:
```bash
systemctl status nginx # 查看nginx状态
systemctl restart apache2 # 重启apache
```
## 其他实用命令
### 45. alias - 创建命令别名
```
alias 别名='命令'
```
示例:
```bash
alias ll='ls -alF'
```
### 46. history - 查看命令历史
```
history [选项]
```
常用选项:
- `-c`:清除历史
- `-d N`:删除第N条历史
常用操作:
- `!N`:执行历史中第N条命令
- `!!`:执行上一条命令
- `!str`:执行最近以str开头的命令
### 47. which/whereis - 查找命令位置
```
which 命令
whereis [选项] 命令
```
whereis选项:
- `-b`:只查找二进制文件
- `-m`:只查找手册页
### 48. man - 查看命令手册
```
man [章节] 命令
```
常用章节:
- 1:用户命令
- 5:文件格式
- 8:管理员命令
### 49. ln - 创建链接
```
ln [选项] 源文件 目标文件
```
常用选项:
- `-s`:创建符号链接
- `-f`:强制创建
示例:
```bash
ln -s /path/to/file linkname # 创建符号链接
```
### 50. dd - 磁盘/文件转换与复制
```
dd [选项]
```
常用选项:
- `if=FILE`:输入文件
- `of=FILE`:输出文件
- `bs=N`:块大小
- `count=N`:复制N个块
示例:
```bash
dd if=/dev/sda of=disk.img bs=4M # 创建磁盘映像
dd if=/dev/zero of=/swapfile bs=1M count=1024 # 创建1GB交换文件
```
## 总结
以上是Linux中最常用的50个命令及其主要用法。掌握这些命令可以完成大多数日常系统管理任务。要深入了解每个命令,可以使用`man 命令名`查看完整手册。随着使用经验的积累,你会发现Linux命令行工具的强大和高效。
相关文章:
Linux 常用指令详解
Linux 操作系统中有大量强大的命令行工具,下面我将分类介绍一些最常用的指令及其用法。 ## 文件与目录操作 ### 1. ls - 列出目录内容 ls [选项] [目录名] 常用选项: - -l:长格式显示(详细信息) - -a:显…...
DXFViewer进行中 : ->封装OpenGL -> 解析DXF直线
DXFViewer进行中,目标造一个dxf看图工具。. 目标1:封装OpenGL,实现正交相机及平移缩放功能 Application.h #pragma once #include <string> #include <glad/glad.h> #include <GLFW/glfw3.h> #include "../Core/TimeStamp.h" #includ…...
多序列比对软件MAFFT介绍
MAFFT(Multiple Alignment using Fast Fourier Transform)是一款广泛使用且高效的多序列比对软件,由日本京都大学的Katoh Kazutaka等人开发,最早发布于2002年,并持续迭代优化至今。 它支持从几十条到上万条核酸或蛋白质序列的快速比对,同时在准确率和计算效率之间提供灵…...
基于 HTML5 Canvas 实现图片旋转与下载功能
一、引言 在 Web 开发中,经常会遇到需要对图片进行处理并提供下载功能的需求。本文将深入剖析一段基于 HTML5 Canvas 的代码,该代码实现了图片的旋转(90 度和 180 度)以及旋转后图片的下载功能。通过对代码的解读,我们…...
学习路线(机器人系统)
机器人软件/系统学习路线(从初级到专家) 初级阶段(6-12个月)基础数学编程基础机器人基础概念推荐资源 中级阶段(1-2年)机器人运动学机器人动力学控制系统感知系统推荐资源 高级阶段(2-3年&#…...
基于EFISH-SCB-RK3576工控机/SAIL-RK3576核心板的网络安全防火墙技术方案(国产化替代J1900的全栈技术解析)
基于EFISH-SCB-RK3576/SAIL-RK3576的网络安全防火墙技术方案 (国产化替代J1900的全栈技术解析) 一、硬件架构设计 流量处理核心模块 多核异构架构: 四核Cortex-A72(2.3GHz):处理深度…...
基于 jQuery 实现复选框全选与选中项查询功能
在 Web 开发中,复选框是常见的交互元素,尤其是在涉及批量操作、数据筛选等场景时,全选功能和选中项查询功能显得尤为重要。本文将介绍如何使用 HTML、CSS 和 jQuery 实现一个具备全选、反选以及选中项查询功能的复选框组,帮助开发…...
Python中的JSON库,详细介绍与代码示例
目录 1. 前言 2. json 库基本概念 3. json 的适应场景 4. json 库的基本用法 4.1 导 json入 模块 4.2 将 Python 对象转换为 JSON 字符串 4.3 将 JSON 字符串转换为 Python 对象 4.4 将 Python 对象写入 JSON 文件 4.5 从 JSON 文件读取数据 4.6 json 的其他方法 5.…...
tensorflow 调试
tensorflow 调试 tf.config.experimental_run_functions_eagerly(True) 是 TensorFlow 中的一个配置函数,它的作用是: 让 tf.function 装饰的函数以 Eager 模式(即时执行)运行,而不是被编译成图(Graph&…...
iptables的基本选项及概念
目录 1.按保护范围划分: 2.iptables 的基础概念 4个规则表: 5个规则链: 3.iptables的基础选项 4.实验 1.按保护范围划分: 主机防火墙:服务范围为当前一台主机 input output 网络防火墙:服务范围为防…...
使用AI 将文本转成视频 工具 介绍
🎬 文字生成视频工具 一款为自媒体创作者设计的 全自动视频生成工具,输入文本即可输出高质量视频,大幅提升内容创作效率。视频演示:https://leeseean.github.io/Text2Video/?t23 ✨ 功能亮点 功能模块说明📝 智能分…...
Python生活手册-NumPy数组创建:从快递分拣到智能家居的数据容器
一、快递分拣系统(列表/元组转换) 1. 快递单号录入(np.array()) import numpy as np快递单号入库系统 快递单列表 ["SF123", "JD456", "EMS789"] 快递数组 np.array(快递单列表) print(f"…...
Cmake编译wxWidgets3.2.8
一、下载库源代码 去wxWidgets - Browse /v3.2.8 at SourceForge.net下载wxWidgets-3.2.8.7z 二、建立目录结构 1、在d:\codeblocks目录里新建wxWidgets_Src目录 2、把文件解压到该目录 3、建立 CB目录,并在该目录下分别建立 Debug 和 Release目录 三、使用Cmake…...
2.在Openharmony写hello world
原文链接:https://kashima19960.github.io/2025/03/21/openharmony/2.在Openharmony写hello%20world/ 前言 Openharmony 的第一个官方例程的是教你在Hi3861上编写hello world程序,这个例程相当简单编写 Hello World”程序,而且步骤也很省略&…...
「OC」源码学习——对象的底层探索
「OC」源码学习——对象的底层探索 前言 上次我们说到了源码里面的调用顺序,现在我们继续了解我们上一篇文章没有讲完的关于对象的内容函数,完整了解对象的产生对于isa赋值以及内存申请的内容 函数内容 先把_objc_rootAllocWithZone函数的内容先贴上…...
从0开始学习大模型--Day01--大模型是什么
初识大模型 在平时遇到问题时,我们总是习惯性地去运用各种搜索引擎如百度、知乎、CSDN等平台去搜索答案,但由于搜索到的内容质量参差不齐,检索到的内容只是单纯地根据关键字给出内容,往往看了几个网页都找不到答案;而…...
202533 | SpringBoot集成RocketMQ
SpringBoot集成RocketMQ极简入门 一、基础配置(3步完成) 添加依赖 <!-- pom.xml --> <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version&g…...
大模型学习专栏-导航页
概要 本专栏是小编系统性调研大模型过程中沉淀的知识结晶,涵盖技术原理、实践应用、前沿动态等多维度内容。为助力读者高效学习,特整理此导航页,以清晰脉络串联核心知识点,搭建起系统的大模型学习框架,助您循序渐进掌握…...
互联网大厂Java面试:从Java SE到微服务的全栈挑战
场景概述 在这场面试中,谢飞机,一个搞笑但有些水的程序员,面对的是一位严肃的大厂面试官李严。面试官的目的是考察谢飞机在Java全栈开发,特别是微服务架构中的技术能力。面试场景设定在内容社区与UGC领域,模拟一个社交…...
2024年408真题及答案
2024年计算机408真题 2024年计算机408答案 2024 408真题下载链接 2024 408答案下载链接...
【datawhaleAI春训营】楼道图像分类
目录 图像分类任务的一般处理流程为什么使用深度学习迁移学习 加载实操环境的库加载数据集,默认data文件夹存储数据将图像类别进行编码自定义数据读取加载预训练模型模型训练,验证和预测划分验证集并训练模型 修改baseline处理输入数据选择合适的模型Ale…...
Unity:输入系统(Input System)与持续检测键盘按键(Input.GetKey)
目录 Unity 的两套输入系统: 🔍 Input.GetKey 详解 🎯 对比:常用的输入检测方法 技术底层原理(简化版) 示例:角色移动 为什么会被“新输入系统”替代? Unity 的两套输入系统&…...
day04_计算机常识丶基本数据类型转换
计算机常识 计算机如何存储数据 计算机底层只能识别二进制。计算机底层只识别二进制是因为计算机内部的电子元件只能识别两种状态,即开和关,或者高电平和低电平。二进制正好可以用两种状态来表示数字和字符,因此成为了计算机最基本的表示方…...
rvalue引用()
一、先确定基础:左值(Lvalue)和右值(Rvalue) 理解Rvalue引用,首先得搞清楚左值和右值的概念。 左值(Lvalue):有明确内存地址的表达式,可以取地址。比如变量名、引用等。 复制代码 int a = 10; // a是左值 int& ref = a; // ref也是左值右值(Rval…...
【Web3】上市公司利用RWA模式融资和促进业务发展案例
香港典型案例 朗新科技(充电桩RWA融资) 案例概述:2024年8月,朗新科技与蚂蚁数科合作,通过香港金管局“Ensemble沙盒”完成首单新能源充电桩资产代币化融资,募资1亿元人民币。技术实现:蚂蚁链提供…...
什么是IIC通信
IIC(Inter-Integrated Circuit),即IC,是一种串行通信总线,由飞利浦公司在1980年代开发,主要用于连接主板、嵌入式系统或手机中的低速外围设备1。IIC协议采用多主从架构,允许多个主设备和从设备连接在同一总线上进行通信。 IIC协议的工作原理: IIC协议使用两根信号线进…...
网络原理 TCP/IP
1.应用层 1.1自定义协议 客户端和服务器之间往往进行交互的是“结构化”数据,网络传输的数据是“字符串”“二进制bit流”,约定协议的过程就是把结构化”数据转成“字符串”或“二进制bit流”的过程. 序列化:把结构化”数据转成“字符串”…...
掌纹图像识别:解锁人类掌纹/生物识别的未来——技术解析与前沿数据集探索
概述 掌纹识别是一种利用手掌表面独特的线条、纹理和褶皱模式进行身份认证的生物识别技术。它具有非侵入性、高准确性和难以伪造的特点,被广泛应用于安全认证领域。以下将结合提供的链接,详细介绍掌纹识别的技术背景、数据集和研究进展。 提供的链接分析 香港理工大学掌纹数…...
【FPGA开发】Xilinx DSP48E2 slice 一个周期能做几次int8乘法或者加法?如何计算FPGA芯片的GOPS性能?
Xilinx DSP48E2 slice 在一个时钟周期内处理 INT8(8 位整数)运算的能力。 核心能力概述 一个 DSP48E2 slice 包含几个关键计算单元: 预加器 (Pre-Adder): 可以执行 A D 或 A - D 操作,其中 A 是 30 位,D 是 27 位。…...
APP 设计中的色彩心理学:如何用色彩提升用户体验
在数字化时代,APP 已成为人们日常生活中不可或缺的一部分。用户在打开一个 APP 的瞬间,首先映入眼帘的便是其色彩搭配,而这些色彩并非只是视觉上的装饰,它们蕴含着强大的心理暗示力量,能够潜移默化地影响用户的情绪、行…...
残差网络实战:基于MNIST数据集的手写数字识别
残差网络实战:基于MNIST数据集的手写数字识别 在深度学习的广阔领域中,卷积神经网络(CNN)一直是处理图像任务的主力军。随着研究的深入,网络层数的增加虽然理论上能提升模型的表达能力,但却面临梯度消失、…...
科学养生,开启健康生活新篇章
在快节奏的现代生活中,健康养生成为人们关注的焦点。科学合理的养生方式,能帮助我们远离疾病,提升生活质量,无需依赖传统中医理念,也能找到适合自己的养生之道。 饮食是养生的基础。遵循均衡饮食原则,每…...
如何扫描系统漏洞?漏洞扫描的原理是什么?
如何扫描系统漏洞?漏洞扫描的原理是什么? 漏洞扫描是网络安全中识别系统潜在风险的关键步骤,其核心原理是通过主动探测和自动化分析发现系统的安全弱点。以下是详细解答: 一、漏洞扫描的核心原理 主动探测技术 通过模拟攻击者的行为…...
Scrapy分布式爬虫实战:高效抓取的进阶之旅
引言 在2025年的数据狂潮中,单机爬虫如孤舟难敌巨浪,Scrapy分布式爬虫宛若战舰编队,扬帆远航,掠夺信息珍宝!继“动态网页”“登录网站”“经验总结”后,本篇献上Scrapy-Redis分布式爬虫实战,基于Quotes to Scrape,从单机到多机协同,代码简洁可运行,适合新手到老兵。…...
开元类双端互动组件部署实战全流程教程(第1部分:环境与搭建)
作者:一个曾在“组件卡死”里悟道的搬砖程序员 在面对一个看似华丽的开元类互动组件时,很多人以为“套个皮、配个资源”就能跑通。实际上,光是搞定环境配置、组件解析、控制端响应、前后端互联这些流程,已经足够让新手懵3天、老鸟…...
【实验笔记】Kylin-Desktop-V10-SP1麒麟系统知识 —— 开机自启Ollama
提示: 分享麒麟Kylin-Desktop-V10-SP1系统 离线部署Deepseek后,实现开机自动启动 Ollama 工具 的详细操作步骤 说明:离线安装ollama后,每次开机都需要手动启动,并且需要保持命令终端不能关闭;通过文档操作方法能实现开机自动后台启动 Ollama 工具 一、前期准备 1、离…...
Redis:现代服务端开发的缓存基石与电商实践-优雅草卓伊凡
Redis:现代服务端开发的缓存基石与电商实践-优雅草卓伊凡 一、Redis的本质与核心价值 1.1 Redis的技术定位 Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,由Salvatore Sanfilippo于2009年创建。它不同于传…...
认识并理解什么是链路层Frame-Relay(帧中继)协议以及它的作用和影响
帧中继(Frame Relay)是一种高效的数据链路层协议,主要用于广域网(WAN)中实现多节点之间的数据通信。它通过**虚电路(Virtual Circuit)**和统计复用技术,优化了传统分组交换网络(如X.25)的性能,特别适合带宽需求高、时延敏感的场景。 一、帧中继的核心设计目标 简化协…...
Python基本语法(类和实例)
类和实例 类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象是这个 类的实例,类使用class关键字创建。类的域和方法被列在一个缩进块中,一般函数 也可以被叫作方法。 (1)类的变量:甴一个类…...
Netty的内存池机制怎样设计的?
大家好,我是锋哥。今天分享关于【Netty的内存池机制怎样设计的?】面试题。希望对大家有帮助; Netty的内存池机制怎样设计的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty的内存池机制是为了提高性能ÿ…...
Python学习之路(七)-绘画and动画
Python 虽然不是专为图形设计或动画开发的语言,但凭借其丰富的第三方库,依然可以实现 2D/3D 绘画、交互式绘图、动画制作、游戏开发 等功能。以下是 Python 在绘画和动画方面的主流支持方式及推荐库。建议前端web端展示还是用其他语言好╮(╯▽╰)╭ 一、Python 绘画支持(2D…...
【HarmonyOS 5】鸿蒙应用数据安全详解
【HarmonyOS 5】鸿蒙应用数据安全详解 一、前言 大家平时用手机、智能手表的时候,最担心什么?肯定是自己的隐私数据会不会泄露!今天就和大家唠唠HarmonyOS是怎么把应用安全这块“盾牌”打造得明明白白的,从里到外保护我们的信息…...
动态指令参数:根据组件状态调整指令行为
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
Linux:权限的理解
目录 引言:为何Linux需要权限? 一、用户分类与切换 1.1、用户角色 1.2、用户切换命令 二、权限的基础概念 2.1、文件属性 三、权限的管理指令 3.1、chmod:修改文件权限 3.2、chown与chgro:修改拥有者与所属组 四、粘滞位…...
/etc/kdump.conf 配置详解
/etc/kdump.conf 是 Linux kdump 机制的核心配置文件,用于定义内核崩溃转储(vmcore)的生成规则、存储位置、过滤条件及触发后的自定义操作。以下是对其配置项的详细解析及常见用法示例: 一、配置文件结构 文件通常位于 /etc/kdu…...
Redis 中简单动态字符串(SDS)的深入解析
在 Redis 中,简单动态字符串(Simple Dynamic String,SDS)是一种非常重要的数据结构,它在 Redis 的底层实现中扮演着关键角色。本文将详细介绍 SDS 的结构、Redis 使用 SDS 的原因以及 SDS 的主要 API 及其源码解析。 …...
GPIO引脚的上拉下拉以及转换速度到底怎么选
【摘要】本文讲述在进行单片机开发当中,新手小白常常为GPIO端口的种种设置感到迷惑,例如到底设置什么模式?它们之间的区别是什么?到底是设置上拉还是下拉电阻,有什么讲究?端口的输出速度又该如何设置&#…...
day16 numpy和shap深入理解
NumPy数组的创建 NumPy数组是Python中用于存储和操作大型多维数组和矩阵的主要工具。NumPy数组的创建非常灵活,可以接受各种“序列型”对象作为输入参数来创建数组。这意味着你可以将Python的列表(List)、元组(Tuple)…...
深入探索 51 单片机:从入门到实践的全面指南
深入探索 51 单片机:从入门到实践的全面指南 一、引言 在嵌入式系统发展的漫长历程中,51 单片机犹如一颗璀璨的明星,虽然诞生已有数十年,但至今仍在众多领域发挥着重要作用。它以结构简单、易于学习、成本低廉等优势,…...
架构思维:构建高并发读服务_热点数据查询的架构设计与性能调优
文章目录 一、引言二、热点查询定义与场景三、主从复制——垂直扩容四、应用内前置缓存4.1 容量上限与淘汰策略4.2 延迟刷新:定期 vs. 实时4.3 逃逸流量控制4.4 热点发现:被动 vs. 主动 五、降级与限流兜底六、前端/接入层其他应对七、模拟压…...