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

Linux探秘:驾驭开源,解锁高效能——基础指令


♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥

♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥

♥♥♥我们一起努力成为更好的自己~♥♥♥

♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥

♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥

✨✨✨✨✨✨ 个人主页✨✨✨✨✨✨

这一篇博客我们将开启新的专栏——Linux学习~准备好了吗~我们发车啦~🚗🚗🚗🚗🚗🚗

目录

什么是Linux

开源

多账号管理

创建用户

设置密码

修改用户信息

删除用户

基本指令

mkdir

touch

ls

stat

pwd

tree

cd

路径知识【理论小课堂】

家目录【理论小课堂】

根目录和家/主目录对比【理论小课堂】

cd指令使用

rmdir

rm

man

which

cat

echo

Linux下,一切皆文件!【理论小课堂】

输出重定向【重新改变输出的方向】

输入重定向【重新改变输入的方向】

cp


什么是Linux

Linux是一款开源的操作系统,具备多用户多任务、高度稳定、可定制和跨平台等多重特点

       Linux的开源性使得全球范围内的开发者能够共同合作,不断改进和完善系统。Linux提供了丰富的工具和应用程序,满足用户的不同需求。同时,Linux在网络支持和安全性方面也表现出色,成为服务器和关键应用的理想选择。此外,Linux还具备跨平台性,能够运行在不同的硬件平台上,为用户提供了更广泛的选择和适应性。

       Linux是一款功能强大、灵活多变的操作系统~

开源

Linux是⼀种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年
⾸次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本⾝,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用⼯具。
GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被 使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自 由软件的定义, 任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须 公开源代码
Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何
个⼈和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux
操作系统飞速发展,各种集成在Linux上的开源软件和实用⼯具也得到了应用和普及,因此, Linux也成为了开源软件的代名词。

多账号管理

        我们都知道云服务器是有一点小贵的,那么我们就可以进行多账号管理,多创建几个账号共同使用一个云服务器~ 以下是Linux进行多账号管理的详细过程:

创建用户
  • 使用adduser命令创建新用户(注意:使用root【管理员】账号进行)
  • 例如,adduser xiaodu会创建一个新用户,但不会自动创建用户的主目录。
  • 若要同时创建用户主目录,可以使用adduser -m username

设置密码
  • 使用passwd命令为用户设置密码。例如,passwd xiaodu会提示你输入并确认新密码。

修改用户信息
  • 使用usermod命令修改用户信息。例如,usermod -l newname oldname可以修改用户名。
  • usermod -aG groupname username可以将用户添加到附加组。
删除用户
  • 使用userdel命令删除用户。例如,userdel username会删除用户,但不会删除其主目录。
  • 若要同时删除用户主目录,可以使用【userdel -r username】,我们更加建议使用这一个,避免出现问题~

基本指令

基础指令部分会理论与实践结合,大家可以使用自己的环境进行尝试一下,混合使用方便理解~

(小编使用的云服务器操作系统是CentOS7.6 ,大家可以参考借鉴一下效果)

mkdir

语法

mkdir [选项] dirname...

功能

在当前目录下创建一个名为 “dirname” 的目录~

mkdir 命令用于创建新的空目录~

常用选项

  • -p--parents:此选项允许 mkdir 命令创建多级目录~
  • 如果指定的路径中包含不存在的父目录,mkdir 会自动创建这些父目录,直到整个路径都被创建出来~这样可以一次性创建多个嵌套的目录。

touch

语法

touch [选项]... 文件...

功能

touch 命令用于更改文档(文件或目录)的日期时间戳,包括存取时间(atime)和修改时间(mtime),或者新建一个不存在的文件~

常用选项

  • -a:仅更改访问时间(atime)。当使用这个选项时,touch 命令会更新文件的最后访问时间,但不会改变文件的修改时间~

  • -c--no-create:如果指定的文件不存在,则不创建该文件,也不会返回错误。这个选项主要用于脚本中,以避免因文件不存在而导致的错误中断。当文件已存在时,touch 会更新其时间戳

  • 后面的博客对文件属性修改进一步讲解

ls

可以理解成list简写~

重要结论:【文件=文件内容+属性】,那么如果文件没有内容,也是需要占用磁盘空间的(文件属性)~

ls是用来打印文件属性的~

语法:

       ls [选项] [目录或文件]

功能:

对于目录,该命令列出该目录下的所有子目录与文件

对于文件,将列出文件名以及其他信息


常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件


-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls ‒d 指定目录

*显示我们想要的后缀或者前缀文件


-i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件


-k 以 k 字节的形式表示文件的大小。ls ‒alk 指定文件


-l 列出文件的详细信息


-n 用数字的 UID,GID 代替名称

-F 在每个文件名后附上一个字符以说明该文件的类型

        “*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)


-r 对目录反向排序


-t 以时间排序(后面创建的在前面)


-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)


-R 列出所有子目录下的文件。(递归)


-1 一行只输出一个文件~

我们也可以将上面的指令进行混合使用~

例:

ls -la 或者 ls -al ,它们的效果是一样的~都是显示所有文件以及它们的详细信息

我们可以看见文件的详细信息有着不同的前缀~

事实上,以 d 开头的前缀是目录文件,而以 -r 开头的前缀是普通文件~

stat

stat 是 用于查看文件或文件系统详细信息的命令~

  1. 文件元数据
    • 文件类型(普通文件/目录/符号链接等)
    • 权限、所有者、所属组
    • 大小(字节)、inode 号、块数量
    • 三个关键时间戳:
      • Access:最后一次访问时间(atime
      • Modify:最后一次内容修改时间(mtime
      • Change:最后一次元数据变更时间(ctime,如权限修改)
  2. 文件系统信息(需 -f 选项)
    • 文件系统类型(如 ext4、xfs)
    • 块大小、总空间、空闲空间等

选项作用
-l以易读格式显示权限(同 ls -l
-f显示文件系统信息(而非文件信息)
-t简洁输出(适合脚本解析)
--printf=格式自定义输出格式(如 %n: %s bytes

pwd

语法:
      pwd
功能:
     显示用户 当前所在的目录

例:

tree

事实上,无论是Linux 还是 Windows 的目录结构,都是树状结构,也就是数据结构阶段我们提到的树~

Linux指令中的tree,就可以显示目前Linux的树状结构~

在此之前,我们还需要安装点东西~我们在不同操作系统输入下面的指令~

CentOS —— yum install -y tree

ubuntu ——  apt install -y tree

比如小编的CentOS操作系统安装好之后使用tree显示当前目录是树状结构~

cd

我们首先需要了解一些理论知识~什么是路径?

路径知识【理论小课堂】

路径存在的价值在于标识文件的唯一性定位目标文件~

•理解路径存在的意义:树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性

Linux中路径用 / 作为路径分隔符

绝对路径:一般从 / 【根目录】开始,不依赖其他目录的定位文件的方式(从根目录开始,定位一个文件——配件文件中写入某些文件的配置路径时使用


相对路径相对于当前用户所处目录,定位文件的路径方式——命令行操作使用较多


• 绝对路径一般不会随着用户的路径变化而丧失唯一性,一般在特定服务的配置文件中经常被使用
• 相对路径因为它的便捷性,一般在命令行中使用较多

• Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
• 普通文件一定是目录树的叶子节点
• 目录可能是叶子(空目录),也可能是路径上的节点

总结:路上节点(路径上的节点)一定是目录叶子节点是空目录或者普通文件

家目录【理论小课堂】

        在 Linux 系统中,家目录(Home Directory) 是每个用户专属的私人存储空间,用于存放个人文件、配置和程序数据~

        指定用户登录的时候默认所处的路径就是家目录~

》位置:默认位于 /home/用户名(如 /home/xiaodu

》作用:隔离用户数据,确保不同用户间的文件和设置互不干扰(不去别人家进行操作)

符号表示

  • ~ 符号(如 cd ~)直接指向当前用户的家目录。
  • 绝对路径 /home/用户名 明确指定具体用户的家目录。

    特殊用户:root

    家目录位置/root(而非 /home/root),体现超级用户的独立性

    根目录和家/主目录对比【理论小课堂】

    根目录(Root Directory)

    1. 定义根目录是Linux文件系统的最顶层,用斜杠 / 表示。它是所有其他目录和文件的起点。

    2. 用途

      • 包含系统中的所有其他目录和文件。
      • 是文件系统层次结构的基础。
    3. 权限:通常只有系统管理员(root用户)有权限对其进行修改。

    主/家目录(Home Directory)

    1. 定义主目录是每个用户在Linux系统上的个人目录,通常位于 /home/username 下,其中 username 是用户的登录名。

    2. 用途

      • 存储用户的个人文件、配置文件和应用程序数据。
      • 用户可以在自己的主目录中自由创建、修改和删除文件和目录。
    3. 权限:用户对其主目录拥有完全的访问权限,而其他用户通常只有读权限或没有权限。

    总结

    • 根目录是整个文件系统的顶层,是系统管理员管理的主要区域。
    • 主/家目录是用户的个人空间,用户可以在其中自由管理自己的文件。

    cd指令使用

    语法: cd  目录名
    功能:改变工作目录,将当前工作目录改变到指定的目录下
    cd 文件名:
    cd -
    回到上一次的路径(最近一次路径)

    cd ~

    回到当前目录的家目录

    (# root用户在安装操作系统的时候,就已经内置了工作目录: /root)
    (每⼀次新建⼀个用户都会在/home目录下为新用户创建新的工作目录,目录以新用户名称命名)

    家目录指定用户登录的时候,默认所处的路径就是家目录

    cd /

    进入 / 目录

    cd ..

    返回上级目录

    rmdir

    rmdir 是一个与 mkdir 相对应的命令,mkdir 是建立目录,而 rmdir 是删除目录命令~

    语法:rmdir [-p] [dirName]

    适用对象:具有当前目录操作权限的所有使用者

    功能:删除空目录

    常用选项:

    -p:当子目录被删除后,如果父目录也变成空目录的话,就连带父目录一起删除,也就是删除连续的父子目录

    例:d1/d2/d3/d4

    我们直接使用rmdir d1是无法进行删除的,我们需要加上- p

    如果使用rmdir d1/d2/d3/d4,也就只能删除d4目录

    使用rmdir -p d1/d2/d3就可以删除父子目录~

    rm

    起初树状结构:

    功能:删除文件或目录

    (不仅仅是删除目录了,如果是目录需要加 -r )

    删除文件test.txt

    它会询问是否删除,我们输入y / n ,也就是yes/no的意思~

    语法rm [-f -i -r -v] [dirName/dir]

    适用对象:所有使用者

    常用选项

    • -f:即使文件为只读属性,也直接删除,不询问意见~
    • -i:删除前逐一询问确认(默认情况是询问的)
    • -r-R:递归删除目录及其下所有文件
    • -v:显示详细删除信息

    我们通过前面的使用也可以发现,这些指令是可以混合使用的~

    man

    Linux的命令有很多参数,我们使用的时候可以通过查看联机手册获取帮助

    语法: man [选项] 命令

    使用:

    man ls

    man pwd

    如果需要使用手册页,就需要进行手册页的安装:

    基于 Debian/Ubuntu 的系统:

            sudo apt update

            sudo apt install manpages-dev

    基于 RHEL/CentOS 的系统:

            sudo yum install man-pages

    常用选项
    -k 根据关键字搜索联机帮助


    num 只在第num章节查找
    -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕


    解释:一般情况下,man 手册分为9章,不同系统可能会有差别~

    man man 就可以查询到相关内容~


    1 、普通的命令

    man printf 【printf也是Linux里面的命令】,在1号手册可以查询到~

    使用Linux里面的printf命令:


    2 、系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)

    man 2 open


    3 、库函数,如printf,fread(目前仅限于C语言)

    man 3 printf

    后面的手册使用得比较少,有点印象就可以了~
    4 、特殊文件,也就是/dev下的各种设备文件(此处略过详细说明)
    5 、指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
    6 、给游戏留的,由各个游戏自己定义
    7 、附件还有一些变量,比如像environ这种全局变量在这里就有说明
    8 、系统管理用的命令,这些命令只能由root使用,如ifconfig

    • 9 ....

    which

            which 是用于查找可执行文件的位置(查找命令的所在路径)~

    它会搜索用户的 PATH 环境变量中定义的目录,并返回第一个匹配的可执行文件的路径~

    which使用:

    我们可以发现它们前面都是/usr/bin

    当我们ls /usr/bin 就会显示出Linux下所有的命令~

    理论知识

            所谓的命令其实就是Linux指定目录下的(/usr/bin)可执行文件!!!

            指令本质就是别人写的可执行程序或者某些脚本,被放在了系统的特定路径下(/usr/bin)

            我们输入指令不需要带路径直接输入就可以执行,就是因为执行命令时默认就去/usr/bin里面找命令~

    我们进一步得到:

            所谓的安装软件核心其实就是把目标软件拷贝的系统认识的指定路径下!

    接下来,我们可以来发现一个神奇的现象:

    【ll 】和【 ls -l】可以达到相同的效果~

    我们which查询一下:

            前面有一个alias(别名),也就是说【ll 】是【 ls -l --color=auto 】的别名,提供了一种更方便的方式来执行常用的 ls 命令选项~

            ls -l 是列出目录内容的详细信息(如权限、所有者、大小、修改时间等)~

       --color=auto 是根据终端类型自动添加颜色,以便更容易区分不同类型的文件~

    那么我们的系统就是支持给命令起别名的~

    比如:

    alias mypwd='pwd'

    命令行输入mypwd就可以达到pwd的效果~

    关于别名的删除:

    第一种方法:直接关闭Xshell

    第二种方法:alias 别名=‘ ’   【把别名设置为空】

    cat

    语法:cat [选项] [文件]

    功能:查看普通目标文件的内容

    Linux系统中直接输入 cat 命令而不添加任何参数或文件名时,它会进入一种交互式输入模式【输入后按Enter键打印输入内容,按Ctrl+c终止输入】

    常用选项:

    • -b 对非空输出行编号【空行不进行编号】
    • -n 对输出的所有行编号【空行也有内容('\n')】
    • -s 不输出多行空行【相邻空行压缩为一行】

    echo

    echo 用于在终端输出文本或变量的值

    这里首先输出一个重要结论【Linux下,一切皆文件!

    Linux下,一切皆文件!【理论小课堂】

    比如:

    1》打印数据到显示器上——>转换成为理解成对文件的操作——>向显示器文件进行写入
    2》从键盘读取数据到内存——>从键盘文件里面读取内容

    那么我们使用到的echo命令就是向我们的显示器文件写入后续字符串内容~

    接下来,我们进一步操作~

    输出重定向【重新改变输出的方向】

            输出重定向是命令行中重定向命令输出到文件或程序的技术~

    核心操作包括:

          >覆盖写入文件,>>追加写入;

          2>重定向错误,2>>追加错误;

          &>2>&1合并输出与错误;

                       管道符|可将输出传给其他命令处理

    典型用途为日志记录、静默执行、批量处理结果~

    我们来看看>覆盖写入文件【如果写入文件不存在,它就会创建一个新文件,清除旧内容,写入新内容】

            我们可以看到echo命令加上>,将字符串内容写入到了log.txt,而不是显示器文件~我们再次写入新内容查看结果~

            我们可以看到新内容覆盖了原来的内容~它的操作就是【清除旧内容,写入新内容

            同时,如果写入文件不存在,它就会创建一个新文件~

            如果我们不希望旧内容被清空呢?我们就可以使用【>>】进行追加重定向追加内容~

    输入重定向【重新改变输入的方向】

            输入重定向(Input Redirection)是命令行操作中用于将命令或程序的输入源从默认设备(通常是键盘)重定向到其他位置(如文件、字符串或另一个命令的输出)~

    cat < log.txt:这个命令使用输入重定向将 log.txt 文件的内容传递给 cat 命令~

    cat 命令会读取 log.txt 的内容并输出到标准输出【显示器】~

    cp

    语法:cp [选项] 源文件或目录(src) 目标文件或目录(dst)


    功能:复制文件或目录
    说明:

    • cp指令用于复制文件或目录
    • 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中

    使用:

    1、拷贝文件到家目录

    2、拷贝文件到上级目录【这里也就是我们的家目录】

    也就是说如果后面是单纯的目录,那么就会把文件拷贝到指定目录~

    3、拷贝文件到上级目录并且更改名字

    也就是说如果后面是目录+新文件名,那么就会把文件拷贝到指定目录并且重新命名~

    常用选项

    • -f--force 强行复制文件或目录,不论目的文件或目录是否已经存在
    • -i--interactive 覆盖文件之前先询问用户
    • -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

    4、拷贝目录到上级目录

    我们可以看到单纯的拷贝是不能达到效果的,我们还需要加【-r】选项~

    5、拷贝目录到指定目录并且重新命名

    例:拷贝d1到上级目录下的lesson2并且重新命名为mydir

    6、拷贝文件到指定目录,覆盖文件之前先询问用户【-i】【-ri】

    7、拷贝文件到指定目录,覆盖文件之前不询问用户【-f】【-rf】

    这一篇博客到这里就结束啦~后续基础指令我们下一篇博客再见~


      ♥♥♥本篇博客内容结束,期待与各位优秀程序员交流,有什么问题请私信♥♥♥

      ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥

      ✨✨✨✨✨✨个人主页✨✨✨✨✨✨


      相关文章:

      Linux探秘:驾驭开源,解锁高效能——基础指令

      ♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...

      【Linux】第二十二章 访问网络附加内存

      1. NFS的主要功能是什么&#xff1f; NFS是由Linux、UNIX及类似操作系统使用的互联网标准协议&#xff0c;主要功能就是提供网络文件共享&#xff0c;允许不同的计算机系统之间通过网络共享文件&#xff0c;它使得网络上的计算机能够像访问本地文件系统一样访问远程计算机上的…...

      Revit BIM 模型批量转换为 Datasmith 格式教程

      Revit BIM 模型批量转换为 Datasmith 格式教程 一、背景与痛点 在建筑信息模型(BIM)与游戏开发的协同工作中,常需将 Revit 模型导入虚幻引擎(UE)。虽然 Revit 的 Datasmith 插件可实现单文件转换,但面对成百上千个模型时,手动操作效率极低。本文将分享如何开发一个自动…...

      Linux 磁盘扩容实战案例:从问题发现到完美解决

      Linux 磁盘扩容实战案例&#xff1a;从问题发现到完美解决 案例背景 某企业服务器根目录 (/) 空间不足&#xff0c;运维人员通过 df -h 发现 /dev/vda1 分区已 100% 占满&#xff08;99G 已用&#xff09;。检查发现物理磁盘 /dev/vda 已扩展至 200G&#xff0c;但分区和文件…...

      Linux 系统不终止进程的情况下关闭长连接

      使用 tcpkill 中断指定 TCP 连接 适用场景&#xff1a;需主动中断已知源IP或目标端口的连接&#xff0c;无需进程重启。 安装 dsniff 工具&#xff08;包含 tcpkill&#xff09;&#xff1a; yum -y install dsniff 捕获并杀死特定连接&#xff08;例如目标IP 192.168.1.10…...

      从零开始创建React项目及制作页面

      一、React 介绍 React 是一个由 Meta&#xff08;原Facebook&#xff09; 开发和维护的 开源JavaScript库&#xff0c;主要用于构建用户界面&#xff08;User Interface, UI&#xff09;。它是前端开发中最流行的工具之一&#xff0c;广泛应用于单页应用程序&#xff08;SPA&a…...

      Unity-编辑器扩展

      之前我们关于Unity的讨论都是针对于Unity底层的内容或者是代码层面的东西&#xff0c;这一次我们来专门研究Unity可视化的编辑器&#xff0c;在已有的基础上做一些扩展。 基本功能 首先我们来认识三个文件夹&#xff1a; Editor&#xff0c;Gizmos&#xff0c;Editor Defaul…...

      系分论文《论遗产系统演化》

      系统分析师论文范文系列 摘要 2022年6月,某金融机构启动核心业务系统的技术升级项目,旨在对其运行超过十年的遗留系统进行演化改造。该系统承担着账户管理、支付结算等关键业务功能,但其技术架构陈旧、扩展性不足,难以适应数字化转型与业务快速增长的需求。作为系统分析师,…...

      Django基础(二)Django 项目基础操作

      一、实验目标 熟悉 Django 基本命令 理解 Django 项目和应用的目录结构 掌握项目初始化、应用创建与注册、项目启动、视图函数编写、路由配置、数据库配置等基础操作 二、Django 项目初始化 进入虚拟环境 source venv/bin/activate创建 Django 项目 django-admin startproje…...

      【图像大模型】Stable Video Diffusion:基于时空扩散模型的视频生成技术深度解析

      Stable Video Diffusion&#xff1a;基于时空扩散模型的视频生成技术深度解析 一、架构设计与技术演进1.1 核心模型架构1.2 技术创新点1.2.1 运动预测网络1.2.2 层级式训练策略 二、系统架构解析2.1 完整生成流程2.2 性能指标对比 三、实战部署指南3.1 环境配置3.2 基础推理代码…...

      【免杀】C2免杀技术(七)远程线程注入

      远程线程注入&#xff08;Remote Thread Injection&#xff09;是一种常见的进程注入技术&#xff0c;经常用于红队渗透、恶意软件加载、持久化控制等场景中&#xff0c;尤其在免杀&#xff08;AV/EDR bypass&#xff09;应用领域中&#xff0c;是一种历史悠久但依然有效的手段…...

      二、【环境搭建篇】:Django 和 Vue3 开发环境准备

      【环境搭建篇】&#xff1a;Django 和 Vue3 开发环境准备 前言为什么我们需要特定的开发环境&#xff1f;准备工作第一步&#xff1a;搭建后端开发环境 (Python, Django, DRF)1. 安装 Python2. 创建和激活 Python 虚拟环境3. 在虚拟环境中安装 Django 和 DRF 第二步&#xff1a…...

      【神经网络与深度学习】激活函数的可微可导

      引言&#xff1a; 在深度学习领域&#xff0c;激活函数扮演着至关重要的角色。它不仅影响神经网络的非线性建模能力&#xff0c;还直接关系到梯度计算的稳定性。在优化过程中&#xff0c;我们通常要求激活函数具有良好的数学性质&#xff0c;其中可微性是一个关键条件。相比简单…...

      【Tauri2】046—— tauri_plugin_clipboard_manager(一)

      目录 前言 正文 安装 Rust中的使用 对文字的操作 看看write_text的函数签名 看看read_text的函数签名 对图像的操作 对html的操作 总结 前言 这篇就来看看clipboard这个插件。 参考如下 Clipboard | Taurihttps://tauri.app/plugin/clipboard/ 正文 安装 执行下…...

      高效选课系统:一键管理你的课程表

      选课流程 数据模型 我的课程表Controller Api(value "我的课程表接口", tags "我的课程表接口") Slf4j RestController public class MyCourseTablesController {Autowiredprivate MyCourseTablesService myCourseTablesService;ApiOperation("添加…...

      Pytorch分布式训练,数据并行,单机多卡,多机多卡

      分布式训练 所有代码可以见我github 仓库&#xff1a;https://github.com/xiejialong/ddp_learning.git 数据并行&#xff08;Data Parallelism&#xff0c;DP&#xff09; 跨多个gpu训练模型的最简单方法是使用 torch.nn.DataParallel. 在这种方法中&#xff0c;模型被复制…...

      Secarmy Village: Grayhat Conference靶场

      Secarmy Village: Grayhat Conference 来自 <Secarmy Village: Grayhat Conference ~ VulnHub> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶…...

      centos 9 Kickstart + Ansible自动化部署 —— 筑梦之路

      目标 利用 Kickstart 完成 centos 9 系统的全自动安装&#xff08;裸金属/虚拟机&#xff09;。 安装完成后自动接入 Ansible 进行软件包、服务、用户、配置等系统初始化操作。 实现一套通用、可重复、可维护的自动化交付流程。 KS文件 # ks.cfg 示例 install lang zh_CN.…...

      HarmonyOS应用开发入门宝典——项目驱动学习法实践

      学习一项新技能&#xff0c;最好也是最快的方法就是动手实战。学习鸿蒙也一样&#xff0c;给自己定一个小目标&#xff0c;直接找项目练&#xff0c;这样进步是最快的。记住&#xff0c;最好的学习时机永远是现在&#xff0c;最好的老师永远是你正在开发的项目。 一、为什么选择…...

      Python类的力量:第六篇:设计模式——Python面向对象编程的“架构蓝图”

      文章目录 前言&#xff1a;从“代码堆砌”到“模式复用”的思维跃迁 一、创建型模式&#xff1a;对象创建的“智能工厂”1. 单例模式&#xff08;Singleton&#xff09;&#xff1a;全局唯一的“资源管家”2. 工厂模式&#xff08;Factory&#xff09;&#xff1a;对象创建的“…...

      第50天-使用Python+Qt+DeepSeek开发AI运势测算

      1. 环境准备 bash 复制 下载 pip install pyside6 requests python-dotenv 2. 获取DeepSeek API密钥 访问DeepSeek官网注册账号 进入控制台创建API密钥 在项目根目录创建.env文件: env 复制 下载 DEEPSEEK_API_KEY=your_api_key_here 3. 创建主应用框架 python 复制…...

      CentOS系统上挂载磁盘

      在CentOS系统上挂载磁盘&#xff0c;主要包括查看磁盘设备、分区&#xff08;若需要&#xff09;、格式化、创建挂载点和挂载等步骤&#xff0c;以下是详细操作&#xff1a; 1. 查看磁盘设备 使用fdisk -l或lsblk命令查看系统识别到的磁盘设备。 fdisk -l&#xff1a;列出所…...

      (一) 本地hadoop虚拟机系统设置

      1.配置固定IP地址&#xff08;每一台都配置&#xff09; 开启node1&#xff0c;修改主机名为node1&#xff0c;并修改固定IP为&#xff1a;192.168.88.131 # 修改主机名 hostnamectl set-hostname node1# 修改IP vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR"…...

      亿级核心表如何优雅扩展字段

      1 导语 亿级数据的核心表新增一个字段&#xff0c;远不止一句简单的“ALTER TABLE”&#xff0c;锁表风险、页分裂、索引性能衰减……每一个问题都可能引发线上事故。如何在不影响业务的前提下&#xff0c;只需简单的配置&#xff0c;即可实现字段的动态扩展&#xff1f;本文将…...

      单端传输通道也会有奇偶模现象喔

      奇模&#xff08;Odd mode&#xff09;与偶模&#xff08;Even mode&#xff09;对差动对是很关键的要素&#xff0c;其会影响奇/偶模阻抗与相位速度&#xff0c;设计不良甚会让共模噪声引入整个差动对使讯号质量下降。 然而对单端信号系统而言呢&#xff1f; 如果说一对side b…...

      VUE3 中的 ResizeObserver 警告彻底解决方案

      问题背景 今天在使用 Vue 3 Ant Design Vue 开发后台管理系统时&#xff0c;在页面频繁触发 元素尺寸变化&#xff08;如表格滚动、窗口缩放&#xff09; 的时候&#xff0c;控制台频繁出现如下警告&#xff1a; ResizeObserver loop completed with undelivered notificati…...

      IDEA2025版本使用Big Data Tools连接Linux上Hadoop的HDFS

      目录 Windows的准备 1. 将与Linux上版本相同的hadoop压缩包解压到本地 ​编辑2.设置$HADOOP HOME环境变量指向:E:\hadoop-3.3.4 3.下载hadoop.dll和winutils.exe文件 4.将hadoop.dll和winutils.exe放入$HADOOP HOME/bin中 IDEA中操作 1.下载Big Data Tools插件 2.添加并连…...

      Gas优化利器:Merkle 树如何助力链上数据效率革命

      目录 前言原理Merkle树示意图实战演示:构建 Merkle 树并在合约中验证离线构建 Merkle 树(手动计算Merkle树、生成mermaid示意图)编写Merkle.js脚本执行Merkle.js脚本执行结果展示mermaid流程图展示离线构建 Merkle 树(merkletreejs计算Merkle树、验证哈希路径)编写Merkle.…...

      R语言空间分析实战:地理加权回归联合主成份与判别分析破解空间异质性难题

      在自然和社会科学领域有大量与地理或空间有关的数据&#xff0c;这一类数据一般具有严重的空间异质性&#xff0c;而通常的统计学方法并不能处理空间异质性&#xff0c;因而对此类型的数据无能为力。以地理加权回归为基础的一系列方法&#xff1a;经典地理加权回归&#xff0c;…...

      kafka入门(二)

      Java客户端访问Kafka 引入maven依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka‐clients</artifactId> <version>2.4.1</version> </dependency> 消息发送端代码 package com.tuling.kafka.ka…...

      学习日记-day11-5.20

      完成目标&#xff1a; comment.java package com.zcr.pojo; import org.hibernate.annotations.GenericGenerator;import javax.persistence.*; //JPA操作表中数据&#xff0c;可以将对应的实体类映射到一张表上Entity(name "t_comment")//表示当前的实体类与哪张表…...

      手淘不易被清洗销量的4个成交入口

      在淘宝运营中&#xff0c;销量是店铺权重的重要指标之一&#xff0c;但平台对虚假交易的打击力度越来越大&#xff0c;许多商家因销量被清洗而损失惨重。那么&#xff0c;通过什么样的手淘成交入口稳定不易清洗呢&#xff1f;经过实测&#xff0c;我们总结了以下手淘4个不易被清…...

      【Linux】Linux 多线程

      目录 1. Linux线程概念2. 重谈进程地址空间---页表2.1 如何由虚拟地址转化为物理地址的 3. pthread库调用接口3.1 线程的创建---pthread_create3.2 线程等待---pthread_join3.3 线程的退出3.4 分离线程 4. 线程库5. 线程ID6. Linux线程互斥6.1 锁6.2 锁的接口6.2.1 互斥量的初始…...

      DAY31

      知识点回顾 规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解 作业&#xff1a;尝试针对之前的心脏病项目&#xff0c;准备拆分的项目文件&#xff0c;思考下哪些部分可以未来复用。 浙大疏锦行...

      大模型应用开发“扫盲”——基于市场某款智能问数产品的技术架构进行解析与学习

      本文将从一款问数产品相关技术架构&#xff0c;针对大模型应用开发中的基础知识进行“扫盲”式科普&#xff0c;文章比较适合新手小白&#xff0c;属于是我的学习笔记整理&#xff0c;大佬可以划走啦~产品关键信息已经进行模糊处理&#xff0c;如有侵权请联系删除。 文章目录 前…...

      List优雅分组

      一、前言 最近小永哥发现&#xff0c;在开发过程中&#xff0c;经常会遇到需要对list进行分组&#xff0c;就是假如有一个RecordTest对象集合&#xff0c;RecordTest对象都有一个type的属性&#xff0c;需要将这个集合按type属性进行分组&#xff0c;转换为一个以type为key&…...

      打破建筑与制造数据壁垒:Revit 到 STP 格式转换全攻略(含插件应用 + 迪威模型实战)

      引言 在建筑信息模型&#xff08;BIM&#xff09;与计算机辅助设计&#xff08;CAD&#xff09;领域&#xff0c;数据在不同软件和系统间的高效流转至关重要。Revit 作为 BIM 技术应用的主流软件&#xff0c;常用于建筑设计、施工和运维管理&#xff1b;而 STP&#xff08;STE…...

      RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头)

      视频讲解&#xff1a; RISC-V 开发板 MUSE Pi Pro USB 测试&#xff08;3.0 U盘&#xff0c;2.0 UVC摄像头&#xff09; 总共开发板有4个USB的A口&#xff0c;1个USB的TypeC口&#xff0c;我们插上两个USB3.0的U盘和一个USB2.0的UVC摄像头来进行测试 lsusb -tv 可以看到有3个US…...

      驱动相关基础

      一、驱动分类与区别 字符设备驱动 一个字节一个字节进行读写操作的设备&#xff0c;以字符流的形式进行数据传输&#xff08;如鼠标、键盘、串口&#xff09;。 块设备驱动 以块为单位进行读写操作的设备&#xff0c;块的大小通常为 512 字节、1024 字节。 块设备驱动主…...

      【node.js】核心进阶

      个人主页&#xff1a;Guiat 归属专栏&#xff1a;node.js 文章目录 1. Node.js高级异步编程1.1 Promise深入理解1.1.1 创建和使用Promise1.1.2 Promise组合模式 1.2 Async/Await高级模式1.2.1 基本使用1.2.2 并行执行1.2.3 顺序执行与错误处理 1.3 事件循环高级概念1.3.1 事件循…...

      高频Java面试题深度拆解:String/StringBuilder/StringBuffer三剑客对决(万字长文预警)

      文章目录 一、这道题的隐藏考点你Get到了吗&#xff1f;二、内存模型里的暗战&#xff08;图解警告&#xff09;2.1 String的不可变性之谜2.2 可变双雄的内存游戏 三、线程安全背后的修罗场3.1 StringBuffer的同步真相3.2 StringBuilder的裸奔哲学 四、性能对决&#xff1a;用数…...

      量子计算的曙光:从理论奇点到 IT 世界的颠覆力量

      在信息技术&#xff08;IT&#xff09;的飞速发展中&#xff0c;一项前沿技术正以耀眼的光芒照亮未来——量子计算&#xff08;Quantum Computing&#xff09;。2025 年&#xff0c;随着量子硬件的突破、算法的优化以及企业对超算能力的渴求&#xff0c;量子计算从科幻梦想逐步…...

      c++使用protocol buffers

      在 C 里使用 Protocol Buffer&#xff0c;要先定义消息结构&#xff0c;接着生成 C 代码&#xff0c;最后在程序里使用这些生成的代码。 定义消息结构 首先要创建一个.proto文件&#xff0c;在其中定义消息类型和字段。 // person.proto syntax "proto3"; // 指…...

      AI驱动发展——高能受邀参加华为2025广东新质生产力创新峰会

      当AI浪潮席卷全球产业版图&#xff0c;一场以"智变"驱动"质变"的变革正在发生。5月15日&#xff0c;华为中国行2025广东新质生产力创新峰会璀璨启幕&#xff0c;作为华为生态战略合作伙伴&#xff0c;高能计算机与行业领军者同台论道&#xff0c;共同解码A…...

      怎样解决photoshop闪退问题

      检查系统资源&#xff1a;在启动 Photoshop 之前&#xff0c;打开任务管理器检查 CPU 和内存的使用情况。如果发现资源占用过高&#xff0c;尝试关闭不必要的程序或重启计算机以释放资源。更新 Photoshop 版本&#xff1a;确保 Photoshop 是最新版本。Adobe 经常发布更新以修复…...

      AWS CodePipeline+ Elastic Beanstalk(AWS中国云CI/CD)

      问题 最近需要利用AWS云上面的CI/CD部署Spring应用。 一图胜千言 步骤 打开CodePipeline网页&#xff0c;开始管道创建&#xff0c;如下图&#xff1a; 管道设置&#xff0c;如下图&#xff1a; 这里主要设置管道名称&#xff0c;至于服务角色&#xff0c;直接让codepipel…...

      人工智能核心知识:AI Agent 的四种关键设计模式

      人工智能核心知识&#xff1a;AI Agent 的四种关键设计模式 一、引言 在人工智能领域&#xff0c;AI Agent&#xff08;人工智能代理&#xff09;是实现智能行为和决策的核心实体。它能够感知环境、做出决策并采取行动以完成特定任务。为了设计高效、灵活且适应性强的 AI Age…...

      Electron+vite+vue3 从0到1搭建项目,开发Win、Mac客户端

      随着前端技术的发展&#xff0c;出现了所谓的大前端。 大前端则是指基于前端技术延伸出来的各种终端平台及应用场景&#xff0c;包括APP、桌面端、手表终端、服务端等。 本篇文章主要是和大家一起学习一下使用Electron 如何打包出 Windows 和 Mac 所使用的客户端APP&#xff…...

      GitLab部署

      学git Git最新最新详细教程、安装&#xff08;从入门到精通&#xff01;&#xff01;&#xff01;&#xff01;企业级实战&#xff01;&#xff01;&#xff01;工作必备&#xff01;&#xff01;&#xff01;结合IDEA、Github、Gitee实战&#xff01;&#xff01;&#xff01…...

      基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析技术

      在自然和社会科学领域&#xff0c;存在大量与地理或空间相关的数据&#xff0c;这些数据通常具有显著的空间异质性。传统的统计学方法在处理这类数据时往往力不从心。基于R语言的一系列空间异质性数据分析方法&#xff0c;如地理加权回归&#xff08;GWR&#xff09;、地理加权…...