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或者域名]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[生活][杂项] 上班党的注意事项

前言 目前是上班已经接近两年了,目前的状态是,一个人租了一个单间在上班。对于这种情况有以下几点需要注意。 钥匙问题,一定不要陷入钥匙丢失的情况!一定不要陷入钥匙丢失的情况!一定不要陷入钥匙丢失的情况&#xff…

邮箱群组是什么?怎么创建邮箱群组?

在我们群发邮件时,可能会遇到这样的状况,一个个输入邮箱地址效率很低,而且很容易就漏发。而对于一个企业来说,如果出现这样的问题,很有可能会影响公司的业务进展和团队协作。这个时候我们就需要邮箱群组这个功能&#…

聊聊binlog是什么

1. 上一讲思考題解答:redo日志刷盘策略的选择建议 先给大家解释一下上一讲的思考題,我给大家的一个建议,其实对于redo日志的三种刷盘策略,我们通常建议是设置为1 也就是说,提交事务的时候,redo日志必须是刷入磁盘文件…

AWB学习记录

主要参考食鱼者博客:https://blog.csdn.net/wtzhu_13/article/details/119301096,以及相关的论文,感谢食鱼者老师整理分享。 灰度世界和完全反射 灰度世界法和完全反射法分别是基于(Rmean, Gmean, Bmean)和(Rmax, Gmax, Bmax)来进行白平衡校…

多任务学习的显著优势!

多任务学习是一种机器学习技术,它允许模型同时学习多个相关任务。与不进行多任务的整体学习(单任务学习)相比,多任务学习具有多个显著优势。 首先,多任务学习可以提高学习效率和速度。在并行学习中,多个任…

数组和指针的联系(C语言)

数组和指针是两种不同的数据类型,数组是一种构造类型,用于存储一组相同类型的变量;而指针是一种特殊类型,专门用来存放数据的地址。数组名除了sizeof(数组名)和&数组名表示整个数组外,其他情况下都表示的是首元素的…

profinet协议基础

文章目录 工业以太网自动化通讯金字塔工业以太网技术比较 profinet概述profinet特性 EtherNet通信EtherCAT通信EtherCat特性EtherCat过程同步 工业以太网 工业以太网是基于IEEE 802.3 (Ethernet)的强大的区域和单元网络。 自动化通讯金字塔 各个组织与工业以太网 工业以太网…

DP10RF001一款工作于200MHz~960MHz低功耗、高性能、单片集成的(G)FSK/OOK无线收发芯片

产品概述. DP10RF001是一款工作于200MHz~960MHz范围内的低功耗、高性能、单片集成的(G)FSK/OOK无线收发机芯片。内部集成完整的射频接收机、射频发射机、频率综合器、调制解调器,只需配备简单、低成本的外围器件就可以获得良好的收发性能。芯片支持灵活可设的数据包…

JavaEE初阶Day 10:多线程(8)

目录 Day 10:多线程(8)单例模式阻塞队列1. 生产者消费者模型1.1 生产者消费者模型解耦合1.2 生产者消费者模型削峰填谷 2. 生产者消费者代码3. 阻塞队列实现 Day 10:多线程(8) 单例模式 单例模式&#xf…

SQL Server Management Studio 显示行号

前言 在使用 SQL Server Management Studio (SSMS) 进行数据库管理和查询时,能够看到代码的行号是非常有用的。这可以帮助您更容易地定位代码错误、讨论特定的代码行,或者在执行长查询时快速找到特定行。在本文中,我将向您展示如何在 SSMS 中…

2024年华中杯数学建模竞赛ABC题思路分析

简单分析一下各个题目可能需要用到的方法和模型,完整代码和成品论文见文末 A题 太阳能路灯光伏板的朝向设计问题: 1. 球面几何、天文学相关知识,如赤纬角、太阳高度角、时角等概念和公式 2. 太阳辐射模型,根据太阳能辐射强度、大气衰减系数等计算地表太阳辐射强度…

蓝桥杯第十五届javab组个人总结

javab组 额今天早上打完了得对自己此次比赛做总结,无论是明年还参赛还是研究生蓝桥杯,体验感有点差,第一题其实一开始想手算但怕进位导致不准确还是让代码跑了,但跑第202420242024个数(被20和24整除)一直把…

【网络编程】Web服务器shttpd源码剖析——线程池调度

hello !大家好呀! 欢迎大家来到我的网络编程系列之web服务器shttpd源码剖析——线程池调度,在这篇文章中,你将会学习到在Linux内核中如何创建一个自己的并发服务器shttpd,并且我会给出源码进行剖析,以及手绘…

FebHost:注册.CA域名的企业有什么限制?

在加拿大,只要满足加拿大互联网注册管理局的“加拿大注册要求”,任何类型的企业都可以注册.CA域名。这些要求的目的是为了确保.CA域名空间作为一个重要的公共资源得到合理的使用和开发,以促进所有加拿大人的社会和经济发展。 以下是一些主要…

docker安装EelasticSearch、目录权限修改、并安装IK 中文分词器

文章目录 docker安装EelasticSearch、目录权限修改、并安装IK 中文分词器1、docker安装ES2、docker ps发现容器没有正常启动,docker logs 容器id 查看日志发现是挂载目录的权限不足3、修改目录的权限4、使用docker restart 容器id重新启动刚才没有启动成功的容器5、…

Leetcode 4.18

Leetcode 1.无重复字符的最长子串2.最长回文子串3.整数反转4.字符串转换整数 (atoi)5.正则表达式匹配 1.无重复字符的最长子串 无重复字符的最长子串 滑动窗口,先让右指针右移,如果发现这个子串有元素和右指针当前元素重复。 则: 左指针右移…

【嵌入式之中断】

Cortex-M4集成了嵌套式矢量型中断控制器(Nested Vectored Interrupt Controller (NVIC))来实现高效的异常和中断处理。NVIC实现了低延迟的异常和中断处理,以及电源管理控制。它和内核是紧密耦合的。 凡是打断程序顺序执行的事件都称为异常(exception&am…

极狐GitLab x LigaAI,AI 时代研发提效新范式

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 近日,极狐GitLab 和 LigaAI 宣布合作,双…

CentOS 7安装Zookeeper

说明:本文介绍如何在CentOS 7操作系统下使用Zookeeper 下载安装 首先,去官网下载所需要安装的版本,我这里下载3.4.9版本; 上传到云服务器上,解压 tar -xvf zookeeper-3.4.9.tar.gz修改配置 进入Zookeeper目录下的co…

【技术变现之道】如何打造IT行业的超级个体?

前言 在当今的数字化时代,IT行业蓬勃发展,为具备技术专长的个人提供了无限的可能性。想要成为IT行业的超级个体,实现知识与技能的变现吗?以下是一些高效途径,助你一臂之力! 1. 独立接单外包 1&#xff09…