当前位置: 首页 > news >正文

Linux基础命令和文件系统结构:从入门到实践

目录

1. 引言

2. Linux文件系统结构概述

2.1 根目录

​编辑

2.2 常见目录介绍:

1. /home:用户的家目录

2. /etc:存放配置文件的目录

3. /var:可变数据

4. /bin 和 /sbin:常见命令和系统管理工具

5. /tmp:临时文件存放目录

3. Linux常用基本命令

3.1 文件操作命令

ls:列出文件和目录

pwd:显示当前路径

cd:更改当前目录

touch:创建空文件

mkdir:创建新目录

cp:复制文件或目录

mv:移动或重命名文件

rm:删除文件或目录

3.2 查看文件内容命令

cat:查看文件内容

more:逐屏显示文件内容

less:分页查看文件内容

head:显示文件前几行

tail:显示文件最后几行

3.3 查找文件命令

find:在指定目录中查找文件

grep:搜索文件中的内容

3.4 压缩与解压命令

zip、unzip:压缩和解压文件

tar:打包和解包文件

3.5 日期和时间命令

date:查看当前时间

cal:显示日历

3.6 系统信息命令

uname:显示系统信息

bc:计算器工具

4. Linux用户管理与权限

4.1 基础概念

4.2 用户账户管理

4.2.1 查看当前登录用户

4.2.2 用户账户文件

4.2.3 用户管理命令

添加用户

删除用户

修改用户

设置/修改密码

4.3 组管理

4.3.1 组管理命令

4.3.2 /etc/group 文件结构

4.4 权限管理

4.4.1 Linux权限模型

4.4.2 查看文件权限

4.4.3 修改文件权限

chmod 命令

方式1:符号方式

方式2:数字方式

4.4.4 修改文件所有者或组

4.5 特殊权限

4.5.1 SUID(Set User ID)

4.5.2 SGID(Set Group ID)

4.5.3 Sticky Bit

4.6 用户切换与权限提升

        4.6.1 su 命令

        4.6.2 sudo 命令

总结表

5. 总结与实践建议

如何灵活应用这些命令?

如何进行练习与实践?


1. 引言

  • 简介:Linux是一个开源、自由的类Unix操作系统,它自1991年由Linus Torvalds首次发布以来,逐渐成为全球最广泛使用的操作系统之一。无论是在服务器、嵌入式系统,还是个人电脑中,Linux都占有重要地位。在Linux操作系统中,命令行界面(CLI)是最常用的交互方式。尽管Linux提供了图形界面(GUI),但命令行的效率、灵活性和强大功能是GUI无法比拟的。

  • 目标:本篇博客将涵盖Linux最常用的命令和文件系统结构,帮助读者掌握基础命令并能在实际工作中运用。

2. Linux文件系统结构概述

2.1 根目录

根目录 /:Linux的文件系统结构是层次化的,根目录 / 是文件系统的起点,所有其他的文件和目录都位于这个根目录下。

2.2 常见目录介绍

/home:用户的家目录。

/etc:存放配置文件的目录。

/var:可变数据,如日志文件、邮件等。

/bin/sbin:常见命令和系统管理工具。

/tmp:临时文件存放目录。

1. /home:用户的家目录

  • 作用/home 目录是存储普通用户个人文件和配置文件的地方。每个用户在此目录下都有一个子目录,通常以用户名命名。

  • 常见文件

    • 用户文件:如文档、图片、音乐等。

    • 隐藏文件:以点号 . 开头的文件,通常是用户的配置文件,例如 .bashrc(bash shell配置),.profile(用户环境设置)。

  • 用途/home 目录允许每个用户在自己的空间内存储和管理文件,不同用户的文件彼此隔离,保证了系统的安全性。

2. /etc:存放配置文件的目录

  • 作用/etc 目录包含了系统和应用程序的配置文件。这些文件用于定义系统的行为和设置。

  • 常见文件

    • /etc/passwd:存储所有用户的基本信息,如用户名、用户ID、主目录、默认Shell等。

    • /etc/fstab:定义文件系统的挂载点信息。

    • /etc/network/:网络配置文件所在目录,如 interfaces(网络接口配置)。

    • /etc/hostname:定义系统的主机名。

  • 用途/etc 目录中的配置文件在系统启动时加载,用户和管理员可以修改这些文件来调整系统设置。需要注意的是,修改这些配置文件时应谨慎操作,以免影响系统稳定性。

3. /var:可变数据

  • 作用/var 目录包含系统和应用程序产生的可变数据。这些数据会随着时间推移而变化,比如日志文件、邮件队列、数据库等。

  • 常见文件

    • /var/log/:存储系统和应用程序的日志文件,如 syslogauth.log 等。

    • /var/spool/:存放邮件队列和打印队列等任务的目录。

    • /var/tmp/:存放临时文件的目录,这些文件在系统重启后仍然保留。

  • 用途/var 目录用于存储运行时产生的动态数据,这些数据的大小可能会随时间增加,例如日志文件。因此,定期清理 /var/log/ 中的日志文件是系统维护的常见任务。

4. /bin 和 /sbin:常见命令和系统管理工具

  • 作用

    • /bin:存放系统启动和正常运行所必需的基本命令。这些命令对所有用户都可用,常见的命令如 lscpmvcatrm 等。

    • /sbin:存放系统管理和维护相关的命令,通常只有管理员(root)可以执行。它包含了如 ifconfigshutdownreboot 等命令。

  • 常见文件

    • /bin/ls:列出当前目录的文件。

    • /bin/cp:复制文件。

    • /sbin/reboot:重启系统。

    • /sbin/shutdown:关闭系统。

  • 用途/bin/sbin 目录包含了最基础的命令和系统管理工具,是Linux系统日常操作的核心。

5. /tmp:临时文件存放目录

  • 作用/tmp 目录用于存放临时文件,这些文件通常在程序运行时创建,任务完成后会删除。

  • 常见文件

    • 临时文件:系统和应用程序创建的临时数据文件,可能会被操作系统或用户删除。

  • 用途/tmp 目录允许应用程序在运行期间存储临时文件。然而,这些文件的生存周期较短,通常在系统重启后会清空。需要注意的是,/tmp 目录是公共的,所有用户都可以访问,因此必须小心保护存储在此的敏感数据。

3. Linux常用基本命令

        以下是一些Linux系统中常见且重要的基本命令,它们在日常的系统管理和操作中非常有用。笔者将对每个命令进行详细介绍,帮助你理解其功能、用法和实际应用。

3.1 文件操作命令

  1. ls:列出文件和目录

    • 功能:列出指定目录中的文件和子目录。

    • 常用选项

      • ls -l:显示详细信息(包括文件权限、所有者、大小等)。

      • ls -a:显示所有文件,包括以点 . 开头的隐藏文件。

      • ls -h:以可读性更强的格式显示文件大小(如KB、MB)。

    • 示例

      ls -al

      这个命令列出当前目录的所有文件和子目录,包括隐藏文件,并显示详细信息。

  2. pwd:显示当前路径

    • 功能:显示当前工作目录的绝对路径。

    • 示例

      pwd

      输出如:/home/user/Documents,表示当前所在的路径。

  3. cd:更改当前目录

    • 功能:改变当前工作目录。

    • 常用选项

      • cd ..:返回上级目录。

      • cd /path/to/dir:跳转到指定路径。

      • cd ~:跳转到当前用户的主目录(/home/username)。

    • 示例

      cd /home/user

      将当前目录切换到 /home/user

  4. touch:创建空文件

    • 功能:创建一个空文件,如果文件已存在,则更新其修改时间。

    • 示例

      touch newfile.txt

      创建一个名为 newfile.txt 的空文件。

  5. mkdir:创建新目录

    • 功能:创建新的目录。

    • 常用选项

      mkdir -p:创建多级目录(如果父目录不存在时也会创建)。
    • 示例
      • mkdir new_folder

        创建一个名为 new_folder 的新目录。

  6. cp:复制文件或目录

    • 功能:复制文件或目录到指定位置。

    • 常用选项

      • cp -r:递归复制目录及其内容。

      • cp -i:覆盖文件时提示确认。

    • 示例

      cp file1.txt /home/user/Documents/

      file1.txt 文件复制到 /home/user/Documents/ 目录。

  7. mv:移动或重命名文件

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

    • 示例

      mv oldname.txt newname.txt

      将文件 oldname.txt 重命名为 newname.txt

  8. rm:删除文件或目录

    • 功能:删除指定的文件或目录。

    • 常用选项

      • rm -r:递归删除目录及其内容。

      • rm -f:强制删除,不提示确认。

    • 示例

      rm -r old_folder

      删除名为 old_folder 的目录及其所有内容。


3.2 查看文件内容命令

  1. cat:查看文件内容

    • 功能:显示文件的内容,适用于小文件。

    • 示例

      cat file.txt

      显示 file.txt 文件的内容。

  2. more:逐屏显示文件内容

    • 功能:分页显示文件内容,适用于较大的文件。

    • 常用操作

      • 按空格键翻页。

      • q 退出查看。

    • 示例

      more largefile.txt
  3. less:分页查看文件内容

    • 功能:类似 more,但提供更多功能,如上下滚动。

    • 示例

      less largefile.txt

      使用箭头键滚动文件内容,按 q 退出查看。

  4. head:显示文件前几行

    • 功能:默认显示文件的前10行,可以指定显示的行数。

    • 示例

      head -n 20 file.txt

      显示 file.txt 文件的前20行。

  5. tail:显示文件最后几行

    • 功能:默认显示文件的最后10行,可以指定显示的行数。

    • 示例

      tail -n 20 file.txt

      显示 file.txt 文件的最后20行。


3.3 查找文件命令

  1. find:在指定目录中查找文件

    • 功能:根据条件查找文件或目录。

    • 常用选项

      • find /path -name "pattern":查找匹配模式的文件。

      • find /path -type f:只查找文件。

    • 示例

      find /home/user -name "*.txt"

      查找 /home/user 目录下所有 .txt 扩展名的文件。

  2. grep:搜索文件中的内容

    • 功能:在文件中查找匹配指定模式的行,并显示出来。

    • 常用选项

      • grep -i:忽略大小写。

      • grep -r:递归搜索目录。

    • 示例

      grep "search_term" file.txt

      file.txt 文件中查找包含 search_term 的行。


3.4 压缩与解压命令

  1. zipunzip:压缩和解压文件

    • 功能zip 用于压缩文件,unzip 用于解压。

    • 示例

      zip archive.zip file1.txt file2.txt 
      unzip archive.zip

      file1.txtfile2.txt 压缩成 archive.zip

      解压该文件。

  2. tar:打包和解包文件

    • 功能tar 用于创建归档文件,支持多种压缩格式(如 .gz.bz2 等)。

    • 常用选项

      • tar -cvf archive.tar file1 file2:创建 .tar 归档文件。

      • tar -xvf archive.tar:解压 .tar 归档文件。

    • 示例

      tar -czvf archive.tar.gz folder/ tar -xzvf archive.tar.gz

3.5 日期和时间命令

  1. date:查看当前时间

    • 功能:显示当前的日期和时间。

    • 示例

      date

      输出当前日期和时间,例如:Tue Apr 27 16:38:29 UTC 2025

  2. cal:显示日历

    • 功能:显示当前月份的日历。

    • 示例

      cal


3.6 系统信息命令

  1. uname:显示系统信息

    • 功能:显示操作系统和内核信息。

    • 常用选项

      uname -a:显示系统的完整信息(包括内核版本、机器类型等)。
    • 示例

      uname -a
  2. bc:计算器工具

    • 功能:提供一个命令行计算器,支持浮动小数点运算。

    • 示例

      echo "5+3" | bc

      输出结果为 8

4. Linux用户管理与权限

  • 创建和删除用户:如何使用 useraddusermoduserdel 创建和删除用户。

  • 权限管理

    • chmod:修改文件权限。

    • chown:修改文件所有者。

    • chgrp:修改文件所属组。


4.1 基础概念

  • 用户(User):系统中的一个账号,通常有自己的用户名和UID(用户ID)。

  • 组(Group):用户的集合,便于统一管理权限。

  • 权限(Permission):控制用户对文件、目录的访问方式。


4.2 用户账户管理

4.2.1 查看当前登录用户

whoami
  • 显示当前用户的用户名。

who
  • 查看当前登录系统的所有用户。

w
  • 查看详细的用户登录信息(包括登录时间、正在运行的程序等)。


4.2.2 用户账户文件

文件说明
/etc/passwd存储用户基本信息(用户名、UID、GID、描述、家目录、Shell等)。
/etc/shadow存储用户密码及密码相关设置(加密后的密码、密码过期时间等)。
/etc/group存储组的信息。
/etc/gshadow存储组密码信息。

示例 /etc/passwd 文件一行内容:

root:x:0:0:root:/root:/bin/bash

字段含义(以冒号 : 分隔)

  • 用户名

  • 密码占位符(x,实际密码在 /etc/shadow

  • UID(用户ID)

  • GID(主组ID)

  • 用户描述(备注)

  • 家目录

  • 默认Shell程序


4.2.3 用户管理命令

添加用户
sudo adduser username

或者(不同发行版用法稍有差异):

sudo useradd username
  • adduser:交互式创建用户,会自动创建家目录。

  • useradd:更原始,需要加参数才创建家目录。

常用参数:

参数含义
-d /home/mydir指定家目录
-m创建家目录
-s /bin/zsh指定Shell
-u 1234指定UID
-g groupname指定主组

例子:

sudo useradd -m -s /bin/bash -g developers newuser

删除用户
sudo deluser username

sudo userdel username

常用选项:

  • -r:同时删除用户的家目录

sudo userdel -r username

修改用户

修改用户名:

sudo usermod -l newname oldname

修改用户Shell:

sudo usermod -s /bin/zsh username

修改用户家目录:

sudo usermod -d /new/home/dir username

设置/修改密码
sudo passwd username

禁用账户:

sudo usermod -L username

启用账户:

sudo usermod -U username

4.3 组管理

4.3.1 组管理命令

创建新组:

sudo groupadd groupname

删除组:

sudo groupdel groupname

将用户加入组:

sudo usermod -aG groupname username
  • -aG追加到附加组,不会移除原有组!

查看用户所属组:

groups username

4.3.2 /etc/group 文件结构

示例:

sudo:x:27:alice,bob
  • 组名

  • 密码占位符(x)

  • GID(组ID)

  • 属于这个组的用户列表(逗号分隔)


4.4 权限管理

4.4.1 Linux权限模型

每个文件或目录有三类访问者:

  • 所有者(User)

  • 同组用户(Group)

  • 其他人(Others)

每类访问者有三种权限:

权限文件含义目录含义
r(read)读取文件内容列出目录内容
w(write)修改文件内容增删目录中的文件
x(execute)执行文件进入目录(cd)

         最下面的第一个字符串开始的第二个字符,每三个为一组,分别代表所有者权限(user),组成员权限(Group),其他成员权限(Others)


4.4.2 查看文件权限

ls -l filename

输出示例:

-rw-r--r-- 1 user group 4096 Apr 28 12:00 example.txt

第一个字段解释:

  • 第1位:类型(-文件,d目录,l链接)

  • 接下来3位:所有者权限

  • 再3位:组权限

  • 最后三位:其他人权限

比如:

  • rw- → 读+写,不可执行

  • r-- → 只有读

  • rwx → 读+写+执行


4.4.3 修改文件权限

chmod 命令
方式1:符号方式
chmod u+x filename   # 给所有者添加执行权限
chmod g-w filename   # 移除组写权限
chmod o=r filename   # 将其他人权限设为只读
  • u:user(所有者)

  • g:group(组)

  • o:others(其他人)

  • a:all(所有人)

操作符:

  • + 添加

  • - 移除

  • = 赋值

方式2:数字方式

每种权限分值:

权限数值
r4
w2
x1

组合:

权限组合数字
rwx7
rw-6
r-x5
r--4
--x1
---0

例子:

chmod 755 filename

解释:

  • 所有者:7(rwx)

  • 组:5(r-x)

  • 其他人:5(r-x)


4.4.4 修改文件所有者或组

sudo chown newuser filename

修改文件的所属用户。

同时修改用户和组:

sudo chown newuser:newgroup filename

只改组:

sudo chgrp newgroup filename

4.5 特殊权限

4.5.1 SUID(Set User ID)

  • 针对可执行文件

  • 执行时,临时以文件所有者的身份运行。

设置SUID:

chmod u+s filename

ls -l 显示时,所有者执行位是 s

-rwsr-xr-x

应用场景passwd命令修改密码时,需要写 /etc/shadow,普通用户靠SUID以root身份写入。


4.5.2 SGID(Set Group ID)

  • 针对文件

    • 执行时以文件所属组的身份运行。

  • 针对目录

    • 新建文件自动继承目录的组。

设置SGID:

chmod g+s dirname

ls -l显示,组执行位是 s

drwxr-sr-x

应用场景:多个用户共享项目目录时自动归组。


4.5.3 Sticky Bit

  • 只针对目录

  • 目录内文件只能被自己或root删除,即使别人有写权限。

设置Sticky:

chmod +t dirname

ls -l显示,其他执行位是 t

drwxrwxrwt

应用场景/tmp目录。


4.6 用户切换与权限提升

        4.6.1 su 命令

        切换用户:

su username

        如果直接su,默认切换到root。

        退出:

exit

        4.6.2 sudo 命令

        以另一个用户(默认root)权限执行一条命令:

sudo command

        例子:

sudo apt update
  • /etc/sudoers 配置哪些用户有sudo权限。

安全修改sudoers:

sudo visudo

典型添加sudo权限方式:

usermod -aG sudo username

总结表

功能命令
添加用户adduser / useradd
删除用户deluser / userdel
修改用户usermod
添加组groupadd
修改权限chmod
修改所有者chown
修改组chgrp
查看权限ls -l
临时切换用户su
提权执行命令sudo

5. 总结与实践建议

        本文介绍了Linux操作系统中一些常见且非常重要的基本命令,包括文件操作、查看文件内容、查找文件、压缩与解压、日期时间管理以及系统信息获取等。每个命令在日常使用中都有其独特的作用和重要性。理解并灵活运用这些命令,不仅能提高我们在Linux环境下工作的效率,还能帮助我们深入理解操作系统的运作原理。

        掌握这些命令,并不要求死记硬背每一个选项和参数,而是需要在实际工作中根据需求进行灵活应用。通过理解每个命令的功能和常用选项,我们可以根据具体的工作场景选择合适的命令组合,完成文件管理、系统维护和任务自动化等工作。

如何灵活应用这些命令?

  1. 理解命令的功能与常见用法:了解每个命令的基本功能和常用选项,知道什么时候需要使用它。例如,ls 用来查看目录内容,cp 用来复制文件,rm 用来删除文件。对这些命令的基本用途有清晰的理解,你就可以在遇到文件操作问题时迅速找到合适的命令。

  2. 学习命令组合:很多时候,单一命令并不能完全解决问题,多个命令的组合才能完成任务。通过管道(|)和重定向(>>>)等技巧,将多个命令连接起来,进行复杂的文件处理或数据分析。例如,使用 find 查找文件并结合 grep 过滤内容,或者使用 tar 打包文件并通过管道传输到另一个命令。

  3. 培养查找命令的习惯:当你不记得某个命令的详细用法时,可以通过 man(手册)命令快速查找。例如,man ls 会显示 ls 命令的详细用法及所有选项。遇到不确定的命令或选项时,查阅文档是非常高效的学习方式。

  4. 将命令应用到实际工作中:在工作中不断应用这些命令,熟能生巧。例如,使用 tar 压缩日志文件,使用 find 查找特定的文件,使用 grep 快速定位日志中的错误信息,定期清理 /tmp 目录中的临时文件。

如何进行练习与实践?

  1. 创建一个Linux虚拟机环境:可以在本地计算机上使用虚拟机(如 VirtualBox)安装一个Linux发行版(如Ubuntu、CentOS),进行实际操作。这种方式可以让你随时练习并避免对主系统造成影响。

  2. 动手练习命令:对于每个新学的命令,立即在命令行中进行实践。比如,创建一些测试文件和目录,尝试使用 lscprm 等命令来管理这些文件。通过这种“动手实践”的方式加深对命令的理解和记忆。

  3. 编写Shell脚本:结合所学的命令编写简单的Shell脚本,自动化重复性工作。比如,编写一个脚本来清理过期的临时文件、备份重要的日志文件,或者每天定时生成文件备份等。这不仅能加深对命令的理解,还能提高你在日常工作中的效率。

  4. 定期回顾和总结:通过博客或笔记记录自己的学习和使用经验。每完成一个小项目或任务后,总结所用的命令和遇到的难题,查阅文档并改进自己的操作方法。

相关文章:

Linux基础命令和文件系统结构:从入门到实践

目录 1. 引言 2. Linux文件系统结构概述 2.1 根目录 ​编辑 2.2 常见目录介绍: 1. /home:用户的家目录 2. /etc:存放配置文件的目录 3. /var:可变数据 4. /bin 和 /sbin:常见命令和系统管理工具 5. /tmp&…...

「Mac畅玩AIGC与多模态05」部署篇03 - 在 Mac 上部署本地向量化模型(Embedding Models)

一、概述 本篇介绍如何在 macOS 环境下,为 Dify 平台部署本地向量化模型(Embedding Models),支持知识库文档向量化、语义检索与智能体上下文增强。向量化模型是实现知识库问答与 RAG(检索增强生成)应用的基础组件。 二、部署流程 1. 环境准备 确认 Docker Desktop 正常…...

Java-Optional类

介绍 Optional是 Java 8 引入的一个类,用于解决空指针异常问题。它本质上是一个容器类,可以包含或不包含一个非空值。 示例 创建Optional对象 Optional.of(T value):创建一个包含非空值的Optional对象。如传入null值,会抛出Nu…...

Android 热点开发调试总结

Android 热点开发调试总结 文章目录 Android 热点开发调试总结一、前言二、热点开发1、开关和默认配置wifi和热点配置信息保存的位置: 2、主要流程3、相关日志4、相关广播5、demo示例 三、其他1、Android 热点开发调试小结2、其他热点相关知识小结(1&…...

【“星瑞” O6 评测】 — llm CPU部署对比高通骁龙CPU

前言 随着大模型应用场景的不断拓展,arm cpu 凭借其独特优势在大模型推理领域的重要性日益凸显。它在性能、功耗、架构适配等多方面发挥关键作用,推动大模型在不同场景落地 1. CPU对比 星睿 O6 CPU 采用 Armv9 架构,集成了 Armv9 CPU 核心…...

快乐数(双指针解法)

题目链接202. 快乐数 - 力扣(LeetCode) 题目拆解 1 取一个正整数每一位的平方和为,如果为1那么直接可以判定为快乐数,如果不为1,就重复这个过程,直到出现1 2 实际上,这道题只有两种情况&#xf…...

【Vue3-Bug】中路由加载页面直接显示空白

Vue3中路由加载页面直接显示空白 没有子路由 路由定义不能重复,请自己查看数据在main.js(或者)mina.ts入口文件中,需要将router的注入到vue中的执行放在,vue挂在元素之前 // 顺序不能变 app.use(router) app.mount(#app)在App.vue中 // 在…...

线性代数——行列式⭐

目录 一、行列式的定义⭐ 1-1、三阶行列式练习 1-2、下面介绍下三角行列式、上三角行列式、对角行列式 ​编辑 二、行列式的性质 2-1、性质1,2,3,4,5,6 ​编辑 2-2、性质7 2- 3、拉普拉斯定理、克莱姆法则 三…...

flume----初步安装与配置

目录标题 **flume的简单介绍**⭐flume的**核心组件**⭐**核心特点** **安装部署**1)**解压安装包**2)**修改名字** **(配置文件时,更方便)****3)⭐⭐配置文件**4)**兼容Hadoop**5)**…...

vscode源代码管理Tab-文件右侧标志(M、A 等)的含义

Git 常用标志(M、A 等)的含义 在 VSCode 的源代码管理(Source Control)标签页中,文件右侧显示的 Monaco 装饰徽章(Badge)(如 M、A 等),本质上是对 Git 文件状态标志 的可视化呈现。…...

【力扣刷题实战】丢失的数字

大家好,我是小卡皮巴拉 文章目录 目录 力扣题目:丢失的数字 题目描述 解题思路 问题理解 算法选择 具体思路 解题要点 完整代码(C) 兄弟们共勉 !!! 每篇前言 博客主页:小…...

具身智能机器人的应用场景及最新进展

具身智能机器人正通过“感知-学习-决策-行动”的闭环能力,重塑全球各行业的生产与服务模式。以下是其在当今世界的典型应用场景及最新进展: 一、工业制造:柔性生产与智能运维 高精度装配与检测 特斯拉Optimus通过双目视觉与惯性测量单元&…...

网络安全怎么入门?快速了解

网络安全是一个快速发展的领域,入门需要系统化的学习和实践。以下是适合零基础或转行者的分阶段学习路径,涵盖必备知识、学习资源、实战方法和职业方向: 一、基础阶段(1-3个月) 1. 掌握核心基础知识 计算机网络&#…...

STM32N6570-DK ISP调试

STM32N6570-DK之ISP调试应用 准备工作-下载安装软件包:一、使用STM32CubeProgrammer给板子烧入STM32N6_ISP_IQTune_App_revC01-v1.1.0-trusted.bin。二、打开STM32 ISP IQTune.exe ,出现可连接端口:三、根据教程进行相应调试:准备工作-下载安装软件包: https://www.st.co…...

Nacos源码—1.Nacos服务注册发现分析一

大纲 1.客户端如何发起服务注册 发送服务心跳 2.服务端如何处理客户端的服务注册请求 3.注册服务—如何实现高并发支撑上百万服务注册 4.内存注册表—如何处理注册表的高并发读写冲突 1.客户端如何发起服务注册 发送服务心跳 (1)Nacos客户端项目启动时为什么会自动注册服…...

NHANES指标推荐:CTI

文章题目:Association between the C-reactive protein-triglyceride-glucose index and endometriosis: a cross-sectional study using data from the national health and nutrition examination survey, 1996-2006 DOI:10.1186/s12905-024-03541-x 中…...

开源模型应用落地-全能音频新纪元-Kimi-Audio-7B-Instruct-重塑多模态交互边界

一、前言 在AI技术持续突破的2025年,音频交互正从单一任务处理迈向全场景融合的新阶段。4月27日,月之暗面(Moonshot AI)开源的​​Kimi-Audio-7B-Instruct​​,以“全能音频通才”之姿,为这一进程树立了里程碑式标杆。这款基于70亿参数架构的模型,首次在单一框架内整合语…...

mtrace和memleak源码分析

文章目录 1. 内存泄漏2. 定位工具2.1 memleak 工具定位内存泄漏2.1.1 源码解读 2.2 mtrace 工具定位内存泄漏2.2.1 源码解读 嵌入式内存泄漏定位工具mtrace和memleak源码分析 1. 内存泄漏 内存泄漏(Memory Leak)指程序中已动态分配的堆内存因未正确释放或…...

Python爬虫技术全解析:从入门到实战的终极指南大纲(深度解读与扩展)

Python爬虫技术全解析:从入门到实战的终极指南大纲(深度解读与扩展) 文章目录 Python爬虫技术全解析:从入门到实战的终极指南大纲(深度解读与扩展)前言:数据时代的爬虫使命第一章:Py…...

【网络入侵检测】基于源码分析Suricata的统计模块

【作者主页】只道当时是寻常 【专栏介绍】Suricata入侵检测。专注网络、主机安全,欢迎关注与评论。 1. 概要 👋 在 Suricata 的配置文件中,stats 节点用于配置统计信息相关的参数,它的主要作用是控制 Suricata 如何收集和输出统计数据,帮助用户了解 Suricata 的运行状态和…...

JDBC之Blob类型使用的实现

目录 一、 MySql Blob类型简介 1. Mysql中的Blob类型 2. Blob类型使用的注意事项 二. 插入Blob类型数据 1. 创建表 2. 通过PreparedStatement存储Blob类型数据 三. 解除文件大小限制 四、 读取Blob类型数据 前言 本文来讲解JDBC中的Blob类型 个人主页:艺杯羹…...

truffle

文章目录 truffle目录结构各文件作用在本地测试合约 truffle 项目来自https://github.com/Dapp-Learning-DAO/Dapp-Learning/blob/main/basic/04-web3js-truffle/README-CN.md Truffle 是基于 Solidity 语言的一套开发框架,它简化了去中心化应用(Dapp&…...

网盘不限速

引言 哈喽小伙伴们!说到网盘下载,是不是感觉心头一紧?特别是像某度那样不开会员就限速到怀疑人生!就连之前号称不限速的阿里云盘,现在也是限的死死的。 随着阿里网盘开始限速,很多小伙伴开始转战其他平台。…...

TVM中的Pass两种实现方法?如何选择?

以下是TVM中基于DFPatternCallback和VisitDFPattern两种编写Pass的方法的详细对比与示例总结: 1. 核心概念对比 特性DFPatternCallbackVisitDFPattern (DFPatternFunctor)抽象层级声明式模式匹配命令式访问者模式适用场景简单/中等复杂度的模式匹配需要精细控制匹配…...

JAVA EE_网络原理_UDP与TCP

人海中未遇见时,我将独自前行... ----------陳長生. 1.UDP协议 1.1.UDP协议端格式 UDP(用户数据报协议)是由 源端口,目标端口,长度,校验和,数据 5种结构组成。16位是UDP报文中字段的长度&#…...

智能Python开发工具PyCharm v2025.1——AI层级功能重磅升级

JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。 立即获取PyCharm v2025.1正式版 具体更新内容: PyCh…...

15、项目搭建:绘制城堡蓝图——React 19 工程配置

一、魔法结界初始化 1. 召唤项目骨架 npx create-next-applatest hogwarts-castle --ts --tailwind 核心咒语: • --ts:激活预言水晶球(TypeScript类型安全) • --tailwind:注入飞天扫帚级原子样式(…...

docker搭建swarm集群

环境准备 主机名 IP 角色 manger1 192.168.111.47 管理节点 worker1 192.168.111.48 工作节点 worker2 192.168.111.49 工作节点 注:三台主机都已经拉去完swarm和…...

普通IT的股票交易成长史--20250428晚

声明:本文章的内容只是自己学习的总结,不构成投资建议。文中观点基本来自yt站Andylee,美股Alpha姐,综合自己的观点得出。感谢他的无私分享。 仓位就是生命,绝对不能满仓!!!&#xf…...

【React Native】精通 react native

活到老,学到老。 一、基础核心 JavaScript/TypeScript 基础 掌握 ES6+ 语法(箭头函数、解构、Promise、async/await)。熟悉 TypeScript(类型系统、接口、泛型)以提高代码质量。React 核心概念 组件化开发(函数组件、类组件)。状态管理(useState, useEffect, useContex…...

微信小程序-van-uploader的preview-size

preview-size支持数组格式 修改前修改后1、升级微信小程序里面的van版本:2、 重新构建npm3、重启微信开发工具 修改前 引用van组件的上传文件,设置预览图尺寸,刚开始设置的是preview-size“140”,出来的效果就是一个正方形。 修改后 1、升级…...

成员方法的详细说明(结合Oracle官方文档)

在Java的对象创建过程中,成员方法的地址并不存储在对象的堆内存中。Java虚拟机的设计说明(包括Oracle的Java虚拟机规范、OpenJDK文档、以及HotSpot的设计文档)都明确区分了对象的实例数据(存储在堆内存中)和类的元数据…...

[蓝桥杯刷题]---模拟法[2]日期问题

题目如下: 题目的意思是: 给出一个日期(格式是yy mm dd,注意年份只有两位数),要找出所有可能的真实日期(合法的yyyy-mm-dd格式)。 需要考虑: 年份范围在1960到2059。 输入的yy、mm、…...

阿里开源图生动画模型AnimateAnyone2

项目背景 近年来,基于扩散模型(diffusion models)的人物图像动画化方法取得了显著进展,例如 Animate Anyone 在生成一致性和泛化性方面表现优异。然而,这些方法在处理人物与环境之间的空间关系和人-物体交互&#xff0…...

02_使用 AES 算法实现文件加密上传至阿里云、解密下载

02_使用 AES 算法实现文件加密上传至阿里云、解密下载 一、文件上传下载接口 controller 层 RestController RequestMapping("/api/common/file") Api(tags "公共文件上传") AllArgsConstructor Slf4j public class FileV2Controller {private final Os…...

Linux运维——Vim基础

Vim基础 一、移动光标1.1、基础移动1.2、屏幕滚动 二、编辑操作2.1、插入模式2.2、删除与修改2.3、复制粘贴 三、搜索与替换3.1、搜索3.2、替换 4、分屏与窗口管理4.1、分屏操作4.2、窗口调整 五、宏与批量操作六、效率技巧 一、移动光标 1.1、基础移动 快捷键作用h j k l左/…...

从外卖大战看O2O新趋势:上门私厨平台系统架构设计解析

京东高调进军外卖市场,美团全力防守,两大巨头的竞争让整个行业风起云涌。但在这场外卖大战之外,一个更具潜力的细分市场正在悄然兴起——上门私厨服务。 与标准化外卖不同,上门私厨提供的是个性化定制服务。厨师带着新鲜食材上门现…...

【网络编程】ARP协议与主机之间的通信

1. 什么是ARP协议? ARP(地址解析协议,Address Resolution Protocol) 是一种用于在网络中将IP地址转换为MAC地址的协议。它属于TCP/IP协议栈中的网络层协议,通常在局域网(LAN)环境下使用&#x…...

JVM模型、GC、OOM定位

JVM模型 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来…...

什么是数据链路层的CRC检测以及为什么要放到帧尾?

数据链路层在封装过程中添加CRC(循环冗余校验)帧尾,主要目的是为了检测数据传输过程中可能出现的比特错误,确保数据的完整性和可靠性。具体原因如下: 1. 错误检测 物理层传输的不可靠性:数据在物理介质&am…...

Electron 入门指南

Electron 入门指南 Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架。通过 Electron,你可以利用 Web 技术开发出功能强大的桌面应用程序,并且能够运行在 Windows、Mac 和 Linux 系统上。 本文将带你从零开始构建一个简单的 Ele…...

目标检测YOLO实战应用案例100讲- 无人机平台下露天目标检测与计数

目录 知识储备 基于YOLOv8改进的无人机露天目标检测与计数 一、环境配置与依赖安装 二、核心代码实现(带详细注释) 1. 改进YOLOv8模型定义(添加注意力机制) 2. 无人机视角数据增强(drone_augment.py ) 3. 多目标跟踪与计数(tracking_counter.py ) 4. 完整推理流…...

ArkTS基础实验 (二)

任务一:使用模板字符串相关知识,实现多个变量的拼接。同学们可以把自己的姓名、年纪和爱好这三个变量进行拼接。把代码和日志中console.log的打印结果截图保留。 预期效果: 任务二:使用状态变量和点击事件相关知识实现计数器案例…...

【计算机视觉】Bayer Pattern与Demosaic算法详解:从传感器原始数据到彩色图像

Bayer Pattern与Demosaic算法详解:从传感器原始数据到彩色图像 一、引言 在现代数码相机和手机摄像头中,我们能够拍摄到丰富多彩的彩色图像。然而,你可能不知道的是,图像传感器本身并不能直接感知颜色——它们只能感知光的强度。…...

媒体查询使用

一、引言 为了确保网页在不同设备上都能提供良好的用户体验,响应式设计变得至关重要。而媒体查询(Media Queries)就是前端开发中实现响应式设计的核心技术之一。 二、媒体查询的概念 媒体查询是 CSS3 引入的一项强大功能,它允许开…...

deepseek对IBM MQ SSL 证书算法的建议与解答

在IBM MQ配置SSL TLS的命令中,如果参数SSLCIPH使用TLS_RSA_WITH_AES_128_CBC_SHA256,如下所示: DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) TRPTYPE(TCP) CONNAME(QM1.MACH.COM) XMITQ(QM2) SSLCIPH(TLS_RSA_WITH_AES_128_CBC_SHA256) DESCR(S…...

服务器文件同步工具有哪些?

服务器文件同步工具的选择取决于你的具体需求(如实时同步、单向/双向同步、跨平台支持、安全性等)。以下是几款主流的服务器文件同步工具推荐,适用于不同场景: 1. 实时同步工具(适合高频率、低延迟需求) rsync 特点:经典增量同步工具,支持本地/远程同步,高效节省带宽。…...

Numpy数组与矩阵——python学习

我前面提到过Numpy函数,但是不够全,在这里我顺便做一些补充。先说明一下我用的是Notebook。 一、数组的创建与操作 1、把列表转换为数组 np.array([1,2,3,4,5]) 2、把元组转换为数组 np.array((1,2,3,4,5)) 3、把range对象转换为数组 np.array(rang…...

CasaOS上部署1Panel开源运维面板远程在线访问配置实操指南

文章目录 前言1. 添加镜像源2. 部署1Panel3. 本地访问测试4. 安装内网穿透工具5. 配置公网地址6. 配置固定公网地址 前言 很多时候在尝试远程管理服务器时,常常会遇到各种各样的麻烦,尤其是缺乏公网IP或者路由器设置过于复杂时,更是让人感到…...

深入理解缓存淘汰策略:LRU 与 LFU 算法详解及 Java 实现

一、LRU (Least Recently Used - 最近最少使用) LRU 策略的核心思想是:当缓存空间不足时,优先淘汰最近最长时间未被访问的数据。它基于“时间局部性”原理,即最近被访问的数据,在未来被访问的概率也更高。 LeetCode 146. LRU 缓…...