00_Linux

文章目录

  • Linux
    • Linux操作系统的组成
    • Linux的文件系统
      • Linux操作系统中的文件类型
      • Linux操作系统的组织结构
    • Linux vs Windows
    • NAT vs 桥接模式 vs 仅主机
    • Linux Shell命令
      • Linux⽂件与⽬录管理相关指令
        • 目录文件
        • 普通文件
        • 文本编辑
      • 用户管理
        • 添加用户
        • 删除用户
        • 用户组管理
      • 文件权限管理
        • 权限及命令
      • 进程管理
        • 查看进程
        • 终止进程
        • 服务管理
      • 网络管理
        • 查看网络设置
        • 查看⽹络端⼝占⽤
        • 测试网络是否正常

Linux

Linux操作系统的组成

UNIX或者Linux系统⼤致可以分为以下⼏个部分

  • 硬件交互的操作系统内核
  • 中间层是shell层
  • 最外层是应⽤层

在这里插入图片描述

  • 内核层: 内核层是 UNIX/Linux 系统的核⼼和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源 (硬件资源和软件资源),有效地组织进程的运⾏,从⽽扩展硬件的功能,提⾼资源的利⽤效率,为⽤户提供⽅便、⾼效、安全、可靠的应⽤环境。
  • Shell层: Shell 层是与⽤户直接交互的界⾯。⽤户可以在提示符下输⼊命令⾏,由 Shell 解释执⾏并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利⽤系统提供的丰富命令可以快捷⽽简便地完成许多⼯作。

Linux的文件系统

Linux操作系统中的文件类型

在linux中,⼀切皆为⽂件

  • ⽂件分为下⾯的⼀些类型:
    • 普通文件(-)
    • 目录文件(d)
    • 链接文件(l)
    • 设备文件(b/c)
    • 管道文件(p)

Linux操作系统的组织结构

  • 没有各种盘符的概念
  • 根⽬录只有⼀个/,采⽤层级式的树状⽬录结构
    在这里插入图片描述
  • /:根⽬录,所有的⽬录、⽂件、设备都在/之下,/就是Linux⽂件系统的组织者,也是最上级的领导者。
  • /bin:bin 就是⼆进制(binary)英⽂缩写。在⼀般的系统当中,都可以在这个⽬录下找到linux常⽤的命令。系统所需要的那些命令位于此⽬录。
  • /boot:Linux的内核及引导系统程序所需要的⽂件⽬录。
  • /dev:dev 是设备(device)的英⽂缩写。这个⽬录对所有的⽤户都⼗分重要。因为在这个⽬录中包含了所有linux系统中使⽤的外部设备。但是这⾥并不是放的外部设备的驱动程序。这⼀点和常⽤的windows,dos操作系统不⼀样。它实际上是⼀个访问这些外部设备的端⼝。可以⾮常⽅便地去访问这些外部设备,和访问⼀个⽂件,⼀个⽬录没有任何区别。
  • /home:如果建⽴⼀个⽤户,⽤户名是"xx",那么在/home⽬录下就有⼀个对应的/home/xx路径,⽤来存放⽤户的主⽬录。
  • /lib:lib是库(library)英⽂缩写。这个⽬录是⽤来存放系统动态连接共享库的。⼏乎所有的应⽤程序都会⽤到这个⽬录下的共享库。因此,千万不要轻易对这个⽬录进⾏什么操作,⼀旦发⽣问题,系统就不能⼯作了。
  • /proc:存储的是当前内核运⾏状态的⼀系列特殊⽂件,⽤户可以通过这些⽂件查看有关系统硬件及当前正在运⾏进程的信息,甚⾄可以通过更改其中某些⽂件来改变内核的运⾏状态。此外还有/srv /sys三个⽬录,内核相关⽬录,不要动。
  • /root:Linux超级权限⽤户root的家⽬录。
  • /sbin:这个⽬录是⽤来存放系统管理员的系统管理程序。⼤多是涉及系统管理的命令的存放,是超级权限⽤户root的可执⾏命令存放地,普通⽤户⽆权限执⾏这个⽬录下的命令,sbin中包含的都是root权限才能执⾏的。
  • /usr:这是linux系统中占⽤硬盘空间最⼤的⽬录。⽤户的很多应⽤程序和⽂件都存放在这个⽬录下。 Unix software resource usr。类似windows系统的program files
  • /usr/local:这⾥主要存放那些⼿动安装的软件,即不是通过或apt-get安装的软件。它和/usr⽬录具有相类似的⽬录结构。
  • /usr/share :系统共⽤的东⻄存放地,⽐如 /usr/share/fonts 是字体⽬录,/usr/share/doc和/usr/share/man帮助⽂件。
  • /etc:管理所有的配置⽂件的⽬录,⽐如安装mysql的配置⽂件my.conf
  • /mnt:可供系统管理员使⽤,⼿动挂载⼀些临时设备媒体设备的⽬录。
  • /media:是⾃动挂载的⽬录。当把U盘插⼊到系统中,会⾃动挂载到该⽬录下。⽐如插⼊⼀个U盘,会⾃动到/media⽬录中挂载。
  • /opt:额外安装软件存放的⽬录。⽐如mysql的安装包就可以放在该⽬录

Linux vs Windows

在这里插入图片描述


NAT vs 桥接模式 vs 仅主机

  • NAT模式默认情况下是DHCP模式,是自动获取IP的,导致每次虚拟机开启之后获取的IP可能会变化
  • 假如项目中后续连接的是虚拟机上面的MySQL,那么MySQL的HOST地址可能会经常改变,这就需要我们经常去改项目中的MySQL的连接地址,比较麻烦
  • 所以需要改为静态IP,也就是每次开机之后IP不会变,这样才能方便我们后面项目的开发。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

Linux Shell命令

  • 绝对路径: 路径的写法,由根⽬录/写起
    • 例如: /usr/share/doc 这个⽬录。
  • 相对路径:路径的写法,不是由 / 写起
    • 例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../mancd man
  1. 设置静态IP
    • 查看虚拟机本地的IP地址,执行命令
    # 查看本地IP地址
    ifconfig
    
    # 如果提示没有找到这个命令,那么首先需要安装工具
    sudo apt install net-tools
    
  2. pwd :显示当前⽬录路径
  3. ls:(list directory contents)显示当前⽂件夹下的⽬录或⽂件
    • 常⽤选项:
      • -a 显示所有的⽂件夹和⽂件,包括隐藏⽂件
      • -l 以详细的形式显示
  4. cd : 进⼊⼀个路径或者⽬录,绝对路径或者相对路径都可以
    • cd [路径]:⽐如 cd ~(代表进⼊家⽬录)
    • cd . :进入当前⽬录
    • cd ..:进⼊上⼀级⽬录
    • cd /home:进⼊根目录下的home⽬录
    • ~:代表当前用户的家目录

Linux⽂件与⽬录管理相关指令

目录文件
  • mkdir: 创建新目录

      mkdir 目录的相对路径或绝对路径
    
  • rmdir: 删除目录

    rmdir 目标目录的相对路径或绝对路径
    
  • rm: 移除⽂件或⽬录

    -f :就是 force 的意思,忽略不存在的⽂件,不会出现警告信息;
    -i :互动模式,在删除前会询问使⽤者是否动作
    -r :递归删除啊!最常⽤在⽬录的删除了!这是⾮常危险的选项!!!
    
  • cp: 复制文件或目录

     cp [-adfilprsu] 来源档(source) ⽬标档(destination)
     -a:相当于 -pdr 的意思,⾄于 pdr 请参考下列说明;(常⽤)
     -d:若来源档为连结档的属性(link file),则复制连结档属性⽽⾮⽂件本身
     -p:连同⽂件的属性⼀起复制过去,⽽⾮使⽤默认属性(备份常⽤)
     -r:递归持续复制,⽤於⽬录的复制⾏为;(常⽤)
    
  • mv: 移动⽂件与⽬录,或修改⽂件与⽬录的名称

     mv [-fiu] source destination
     -f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖;
     -i :若⽬标⽂件 (destination) 已经存在时,就会询问是否覆盖!
     -u :若⽬标⽂件已经存在,且 source ⽐较新,才会覆盖 (update)
    

    我们可以使⽤ man [命令] 来查看各个命令的使⽤⽂档,如 :man cp

普通文件
  • touch:创建文件

    touch 目标文件的相对路径或绝对路径
    
  • 查看文件内容

    1. cat命令: 以只读的⽅式打开⼀个⽂件。可以加 -n 表示带上⾏号(适合查看⽂件内容⽐较少的)

    2. more命令:和cat功能类似,不过是以分⻚的形式⼀⻚⼀⻚显示数据

      cat [选项]  目标文件
      选项:
          +n: 从笫n⾏开始显示
          -c: 从顶部清屏,然后显示
      分页查看命令:
      空格: 向后翻一页
         b: 键就会往回(back)⼀⻚显示
      
    3. less: 也⽤来分⻚显示数据,但是功能⽐more强⼤。并不会⼀次性将全部⽂件读取才显示,⽽是根据显示的需要加载对应的数据。

      less [选项] 目标文件
      选项:
          -f :强迫打开特殊⽂件,例如外围设备代号、⽬录和⼆进制⽂件
          -m :显示类似more命令的百分⽐
          -N :显示每⾏的⾏号
      分页查看命令:
          f 向后翻⼀⻚
          d 向后翻半⻚
          h 显示帮助界⾯
          q 退出less 命令
          u 向前滚动半⻚
          y 向前滚动⼀⾏
      
    4. head: 查看⼀个⽂件,取开头的⼀部分内容

      head -n 目标文件,表示查看目标文件的前n行内容,比如 head -5 a.txt
      
    5. tail:查看⼀个⽂件的尾部内容

      tail -n 目标文件,查看⽂件的最后n行内容,比如 tail -5 a.txt
      tail -f filename,尾部持续不断地输出内容。Control + c退出
      例如:tail -5f filename
      
  • 重定向和追加

    1. echo: 输出内容到控制台。

      echo $PATH 输出Linux的环境变量到控制台
      
    2. >命令:输出重定向(会将原来的内容覆盖)

      echo hello > a.txt 将字符串hello, 写入a.txt文件
      ls -l > a.txt 将目录信息,写入a.txt文件
      cat a.txt > b.txt(⽂件可以存在,可以不存在) 将a.txt文件内容写入b.txt文件中
      
    3. >>命令:追加(不会覆盖原⽂件的内容,追加到底部)

      echo hello >> a.txt 将字符串hello, 追加 写入到a.txt文件
      ls -l >> a.txt  将目录信息,追加 写入a.txt文件
      cat a.txt >> b.txt(⽂件可以存在,可以不存在) 将a.txt文件内容写入b.txt文件中
      
  • 压缩与解压缩

    tar是⽤来建⽴,还原备份⽂件的⼯具程序,它可以加⼊,解开备份⽂件内的⽂件。

    tar
    -c:产⽣.tar⽂件
    -v:显示详细信息
    -z:打包同时压缩
    -f:指定压缩后的⽂件名
    -x:解压.tar⽂件
    压缩: tar -zcvf combine.tar.gz 1.txt
    解压: tar -zxvf combine.tar.gz -C java/
    -C 表示解压到指定⽬录
    

    如果需要解压和压缩为 .zip 格式的⽂件,那么需要安装zip和unzip命令

文本编辑

Ubuntu默认没有安装vim,需要先安装vim⼯具。

sudo apt install vim

vim有三种模式:命令模式(Command mode)、插⼊模式(Insert mode)、末⾏模式(Last Linemode)。

  • 命令模式

    通过指令 vim filename 进⼊命令模式。除此之外,还有⼀些其他的参数,⽐如:
    -R: 把指定的⽂件以只读的⽅式放⼊vim编辑器中
    +: 打开⽂件,并把光标置于最后⼀⾏的⾸部
    +n: 打开⽂件,并把光标置于第n⾏的⾸部
    
    命令模式快捷键:
    
    删除:
    	x: 删除光标所在位置的字符
        dd: 少出光标所在⾏
        ndd: 删除当前⾏后n⾏⽂本(包括此⾏)
        dG: 删除光标所在⾏⼀直到⽂件末尾的所有内容
        D: 删除光标位置到⾏尾的所有内容
    删除的内容此时并没有被真正删除,⽽是在剪切版中,按下 p 键,可以将删除的内容粘贴回来。
        
    光标移动:
    	w: 光标移动⾄下⼀个单词⾸
        e: 光标移动⾄下⼀个单词尾
        b: 光标移动⾄上⼀个单词⾸
        gg: 光标移动到⽂件开头
        G: 光标移动⾄⽂件末尾
        nG: 光标移动到第n⾏,n为数字
        0或^:光标移动⾄当前⾏的⾏⾸
        $: 光标移动⾄当前⾏的⾏尾
    	
    
  • 插入模式

    在命令模式下,通过按下i、I、a、A、o、O这6个字⺟进⼊插⼊模式,不同的字⺟代表不同的进⼊⽅式。
    i: 在当前光标位置前⾯插⼊随后输⼊的⽂本,光标后的⽂本相应向右移动
    I: 在光标所在⾏的⾏首插⼊随后输⼊的⽂本
    o: 在光标所在⾏下⾯插⼊新的⼀⾏,然后光标停在空⾏⾸,等待输⼊⽂本
    O: 在光标所在⾏上⾯插⼊新的⼀⾏,然后光标停在空⾏⾸,等待输⼊⽂本
    a: 在当前光标位置后⾯插⼊随后输⼊的⽂本,光标后的⽂本相应向右移动
    A: 在光标所在⾏的⾏尾插⼊随后输⼊的⽂本
    

    按下ESC键离开插⼊模式,进⼊命令模式

  • 末行模式

    在命令模式下,按下: 键进⼊末⾏模式。
    在该模式下,可以使⽤⼀系列的指令,完成保存、离开vim编辑器等功能。
    
    :wq 保存并退出vim编辑器
    :wq! 保存并强制退出vim编辑器
    :q 不保存退出
    :q! 不保存强制退出
    :w 保存不退出
    :w! 强制保存不退出
    :w filename 另存到filename⽂件
    ZZ 直接退出
    

三种模式之间的关系:

在这里插入图片描述


用户管理

Linux系统是⼀个多⽤户、多任务的操作系统。多⽤户是指在linux操作系统中可以创建多个⽤户,⽽这些多⽤户⼜可以同时执⾏各⾃不同的任务,⽽互不影响

在Linux系统中,会存在着以下⼏个概念:

  • 用户名: 每个用户在操作系统中,都具有唯一用户名
  • ⽤户所属的组:多个用户可以属于同一个用户组。
  • ⽤户的家⽬录:在/home目录下,与该用户的用户名一致的目录。
添加用户
  • sudo useradd [选项] ⽤户名

    sudo useradd test
    注意这种⽅式创建出来的没有家⽬录,我们创建的时候需要带参数
    sudo useradd -m test: -m 表示在 /home⽬录下创建⼀个家⽬录
    sudo useradd -m -s /bin/bash test: 表示指定shell版本是我们熟悉的bash
    
  • 设置用户密码

    sudo passwd [⽤户名]
    
  • 切换用户

    su [⽤户名]
    
删除用户
  • sudo userdel [⽤户名]

    • -r: 不仅会删除该⽤户,还会删除该⽤户对应的家⽬录
用户组管理
  • 添加组

    groupadd [groupname]
    
    
    创建⽤户的时候加⼊组: useradd -m -s /bin/bash -g [groupname] [username]
    
  • 查看⽤户及组信息

    id ⽤户名
    
  • 修改用户所属组

    usermod -g [groupname] [username]
    

文件权限管理

权限及命令
ls -l
total 40
#⽂件信息 ⽂件数 ⽤户      组名   ⼤⼩  ⽉份 ⽇期 时间 ⽂件名
drwxr-xr-x 2   xxxxxxxx xxxxxxxx 4096  Aug  2  23:52 coo1heisenberg
prw-r--r-- 1   xxxxxxxx xxxxxxxx 0     Aug  2  23:43 fifo_file
-rw-r--r-- 1   xxxxxxxx xxxxxxxx 26825 Aug  3  00:25 main.txt
-rw-r--r-- 1   xxxxxxxx xxxxxxxx 33    Aug  3  00:37 test.txt
drwxr-xr-x 3   xxxxxxxx xxxxxxxx 4096  Aug  3  01:27 xxx

前10位字符的说明:

  • 第1位:-表示是⼀个普通的⽂件;d表示是⼀个⽬录;
  • rwx:分别代表Read、Write、Execute即读、写、执⾏权限,这个顺序不会变,如果没有权限的话就⽤-代替
  • 第2-4位:表示⽂件所有者的对于文件所具有的权限
  • 第5-7位:表示和文件所有者同组的其他用户对文件所具有的权限
  • 第8-10位:⽂件其他组⽤户拥有的权限

我们可以使用chmod命令,手动修改文件权限

  • 第一种方式

    chmod u=rwx,g=rw,o=r filename
    u:所有者 g:所有组 o:其他组,a代表全部,没有就用空格替代
    
  • 第二种方式

    r=4,w=2,x=1 rwx = 4 + 2 + 1 = 7
    chmod 751 等价于 u=rwx,g=rx,o=x
    

进程管理

查看进程
  • Linux系统中查看进程使⽤情况的命令是ps命令,但是ps命令一般都不会单独使用
常⻅选项:
-e:显示所有进程
-f:全格式
a:显示终端上的所有进程
u:以⽤户的格式来显示进程信息
x:显示后台运⾏的进程

⼀般常⽤格式为ps -ef或者ps aux两种。显示的信息⼤体⼀致,略有区别

eg:

在这里插入图片描述

UID:⽤户ID
PID:进程ID
PPID:⽗进程ID
C:CPU⽤于计算执⾏优先级的因⼦。数值越⼤,表明进程是CPU密集型运算,执⾏优先级会降低;数值越
   ⼩,表明进程是I/O密集型运算,执⾏优先级会提⾼
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU时间
CMD:完整的启动进程所⽤的命令和参数

在这里插入图片描述

USER:⽤户名称
PID:程号
%CPU:进程占⽤CPU的百分⽐
%MEM:进程占⽤物理内存的百分⽐
VSZ:进程占⽤的虚拟内存⼤⼩(单位:KB)
RSS:进程占⽤的物理内存⼤⼩(单位:KB)
TT:终端名称(缩写),若为?,则代表此进程与终端⽆关,因为它们是由系统启动的
STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有⽐普通优先级更低的
优先级,R-正在运⾏,D-短期等待,Z-僵死进程,T-被跟踪或者被停⽌等
STARTED:进程的启动时间
TIME:CPU时间,即进程使⽤CPU的总时间
COMMAND:启动进程所⽤的命令和参数,如果过⻓会被截断显示

ps -ef 与 ps -aux的区别

  • 如果想查看进程的⽗进程ID和完整的CMD命令,可以使⽤ef
  • 如果想查看进程的CPU占⽤率和内存占⽤率,可以使⽤aux

进一步筛选想要查询的目标进程信息:

#搜索匹配进程
ps -ef | grep [搜索内容]
终止进程
  • kill [选项] 进程号
选项:
-9:操作系统从内核级别强制杀死⼀个进程
-15:可以理解为操作系统发送⼀个通知告诉应⽤主动关闭

服务管理
  • 服务本质上来说也是⼀个进程,只不过是在后台运⾏。监听着某⼀端⼝,等待该端⼝的请求到来,⽐如ssh服务监听着22端⼝,mysql服务监听着3306端⼝;

  • systemctl start/stop/restart/status/reload 服务名称

    #⽐如关闭ssh服务
    systemctl stop sshd
    

网络管理

查看网络设置
ifconfig
查看⽹络端⼝占⽤
  • netstat

    -a:显示全部
    -n:以数字的形式显示
    -p:显示该连接被哪个应⽤程序占⽤PID
    eg:
    netstat -anp | grep 3306
    
  • lsof -i: 端⼝号

测试网络是否正常
ping [⽬的ip或者域名]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/556351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

家庭营销广告Criteo公司首次获得MRC零售媒体测量认证

家庭营销广告Criteo公司首次获得零售媒体测量MRC认证 商业媒体公司Criteo2024年3月28日宣布,它首次获得媒体评级委员会(MRC)的认证,在其企业零售媒体平台commerce Max和commerce Yield上,在桌面、移动网络和移动应用内…

PCL SAC_IA配准高阶用法——统计每次迭代的配准误差并可视化

目录 一、概述二、代码实现三、可视化代码四、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 在进行论文写作时,需要做对比实验,来分析改进算法的性能,期间用到了迭代误差分布统计的比较分析,为直…

mid_360建图和定位

录制数据 roslaunch livox_ros_driver2 msg_MID360.launch使用fast-lio 建图 https://github.com/hku-mars/FAST_LIO.git 建图效果 使用python做显示 https://gitee.com/linjiey11/mid360/blob/master/show_pcd.py 使用 point_lio建图 https://github.com/hku-mars/Point…

如何在C++的STL中巧妙运用std::find实现高效查找

如何在C的STL中巧妙运用std::find实现高效查找 一、简介二、在那里吗?2.1、在未排序的元素上2.2、已排序元素 三、在哪里?3.1、在未排序的元素上3.2、已排序元素 四、应该在哪里?五、结论 一、简介 本文章旨在涵盖所有在STL中(甚至稍微超出&#xff0…

Eclipse 配置JDK版本,Eclipse Maven install 时使用的JDK版本

Eclipse配置JDK版本 Eclipse 配置JDK版本的地方? 在Eclipse中配置JDK版本的步骤如下: 打开Eclipse IDE。转到菜单栏并选择 “Window”(窗口)选项。在下拉菜单中选择 “Preferences”(首选项),或…

asp.net core 依赖注入后的服务生命周期

ASP.NET Core 依赖注入(DI)容器支持三种服务的生命周期选项,它们定义了服务实例的创建和销毁的时机。理解这三种生命周期对于设计健壯且高效的应用程序非常重要: 瞬时(Transient): 瞬时服务每次…

大型网站系统架构演化实例_3.使用服务集群改善网站并发处理能力

1.使用服务集群改善网站并发处理能力 使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器,对大型网站而言,不管多么强大的服务器,对大型网站而言&…

算法练习第20天|回溯算法 77.组合问题 257. 二叉树的所有路径

1.什么是回溯算法? 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。其本质是穷举,穷举所有可能,然后选出我们想要的答案。 2.为什么要有回溯算法? 那么既然回溯法并不高效为什么还要用它呢? 因为有的问题能暴力…

第10章 物理安全要求

10.1 站点与设施设计的安全原则 假如没有对物理环境的控制,任何管理的、技术的或逻辑的访问控制技术都无法提供足够的安全性。 如果怀有恶意的人员获取了对设施及设备的物理访问权,那么他们几乎可以为所欲为,包括肆意破坏或窃取、更改数据。…

光伏工程施工前踏勘方案与注意事项

光伏工程是指利用光能发电的技术。随着清洁能源的发展,光伏工程在能源领域的应用越来越广泛。在进行光伏工程施工前,需要对施工现场进行踏勘,以确保施工能够顺利进行并达到预期的效果。 本文游小编带大家一起看一下探勘的方案和注意事项。 1…

设计模式胡咧咧之策略工厂实现导入导出

策略模式(Strategy Pattern) 定义: 定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。 本质: 分离算法,选择实现 应用场景 何时使用 一个系统有许多类,而区分他们的只是他们直接…

【赛题】2024年“华中杯”数模竞赛赛题发布

2024年"华中杯"数学建模网络挑战赛——正式开赛!!! 赛题已发布,后续无偿分享各题的解题思路、参考文献,帮助大家最快时间,选择最适合是自己的赛题。祝大家都能取得一个好成绩,加油&a…

Python数据可视化:散点图matplotlib.pyplot.scatter()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 Python数据可视化: 散点图 matplotlib.pyplot.scatter() 请问关于以下代码表述错误的选项是? import matplotlib.pyplot as plt x [1, 2, 3, 4, 5] y [2, 3, 5, 7,…

认识一下RAG

1.RAG技术背景与挑战 2.RAG的核心概念 3.RAG的工作流程与架构 4.RAG的优化方法 RAG的提出 •Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks是一篇重要的论文(2020年5月) •REALM: Retrieval-Augmented Language Model Pre-Training (2020)就将BERT预训练模…

libVLC Ubuntu编译详解

1.简介 有时候,windows上开发不满足项目需求,需要移植到linux上,不得不自行编译libvlc,编译libvlc相对而言稍微麻烦一点。 我使用的操作系统:Ubuntu20.04 查看系统命令lsb_release -a libvlc版本: 3.0.1…

CSS导读 (CSS的三大特性 上)

(大家好,今天我们将继续来学习CSS的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 五、CSS的三大特性 5.1 层叠性 5.2 继承性 5.2.1 行高的继承 5.3 优先级 小练习 五、CSS的三大特性 …

Goland远程连接Linux进行项目开发

文章目录 1、Linux上安装go的环境2、配置远程连接3、其他配置入口 跑新项目,有个confluent-Kafka-go的依赖在Windows上编译不通过,报错信息: undefined reference to __imp__xxx似乎是这个依赖在Windows上不支持,选择让…

数据库设计的三范式

简单来说就是:原子性、唯一性、独立性 后一范式都是在前一范式已经满足的情况进行附加的内容 第一范式(1NF):原子性 存储的数据应不可再分。 不满足原子性: 满足原子性: 第二范式(2NF&#xf…

历史遗留问题1-Oracle Mysql如何存储数据、索引

在学习到Oracle redo和undo时,涉及到很多存储结构的知识,但是网上的教程都不是很详细,就去复习了一下mysql,感觉是不是开源的问题,Mysql的社区和知识沉淀远高于Oracle, 对于初学者很友好,我想请…

生成人工智能体:人类行为的交互式模拟论文与源码架构解析(5)——可控评估端到端评估

最后完结篇,文末有测试中发现的有趣现象,并附上了相关资料链接~ 5.可控评估 分两个阶段评估生成代理。我们从一个更加严格控制的评估开始,单独评估代理的响应,以了解它们是否在狭义上定义的上下文中产生可信的行为。然后,在我们对代理社区进行为期两天的端到端分析中,我…