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

Unix/Linux操作系统介绍

1、Unix/Linux操作系统介绍

1.1、操作系统的作用

1)操作系统的目标

  • 方便:使计算机系统易于使用
  • 有效:以更有效的方式使用计算机系统资源
  • 扩展:方便用户有效开发、测试、引进新功能

2)操作系统的地位

  • 操作系统在计算机系统中有承上启下的地位,向下封装硬件,向上提供操作接口
1.2、Unix/Linux操作系统介绍

1)Unix 家族

  • 1965年,贝尔实验室,MULTICS 操作系统,失败
  • 1969年,Unix 之父,Unics -> Unix,B语言和汇编语言
  • 1971年,Unix 之父,C语言,C语言重写 Unix
  • 1974年,Unix 流行开来
  • 1980年,BSD Unix 和 AT&T 的 Unix
  • 1982年,Unix System III,不再开原
  • 1992-2001年,版权问题,两个 Unix 分枝逐渐衰败

2)Linux 家族

  • Minix(mini-Unix),教学使用
  • 1990年,Linus,1991年,Linux 内核正式发布
  • Linux 系统的发展五个支柱:Unix 操作系统、minix 操作系统、GNU 计划、PUSIX 标准和互联网
  • GNU 计划:GNU is Not Unix,包括:EMACS编辑系统、Bash shell程序、GCC、GDB等开发工具
  • 1992年,Linux 和 GNU 软件结合 -> GNU/Linux(简称 Linux)
  • POSIX 标准:操作系统应该为应用程序提供的接口标准,提高通用性和可移植性

3)Linux 的两类用户

  • 知道自己在用 Linux:Linux 电脑系统
  • 不知道自己在用 Linux:处理器、安卓内核等

4)Linux 的远亲

  • macOS -> Darwin -> BSD -> unix

5)Linux 和 Unix 的联系

  • Unix 是工作站上最常用的操作系统,多用户、多任务、实时,但是昂贵
  • Linux,类 Unix,免费,Unix兼容的

6)Linux 内核及发行版本介绍

  • 内核:运行程序和管理磁盘、打印机等一那件设备的核心程序,提供了一个在裸设备和应用程序之间的抽象层
  • Linux 发行版:通常包含了桌面环境、办公套件、媒体播放器、数据库等应用软件

7)Unix/Linux 开发应用领域

  • Unix/Linux 服务器
  • 嵌入式 Linux 系统
  • 桌面应用
  • 电子政务

2、文件系统

2.1、目录和路径

1)目录

  • 目录是一组相关文件的集合
  • 一个目录下面除了可以存放文件之外,还可以存放其他目录,即包含子目录
  • 在确定文件、目录位置时,DOS 和 Linux/Unix 都采用 “路径名+文件名” 的方式。路径反映的是目录与目录之间的关系

2)路径

  • Unix/Linux 路径由到达定位文件的目录组成。在Unix/Linux 中使用正斜杠 “/” 分割路径中的目录,在 DOS 中使用反斜杠 “” 来分割。
  • 相对路径和绝对路径:
    • 绝对路径:从根目录开始
    • 相对路径:目标目录相对于当前目录的位置。 “.” 代表当前目录,"…"代表当前目录的上级目录
2.2、文件系统

1)Linux 和 Windows 文件系统的区别

  • Windows 下目录都是起始于各个驱动器盘符( A 盘和 B 盘是以前的软盘,现在不使用软盘,因此都从 C 盘开始)
  • Linux 下没有驱动器盘符,只有目录,都是起始于相同的根目录 “/”

2)Linux 目录结构

  • /:根目录
  • /bin:/usr/bin:可执行二进制文件的目录,例如常用命令:ls、tar、mv、cat 等都在该目录下
  • /boot:放置 Linux 启东市需要用到的一些文件,如内核文件、系统引导管理器等
  • /dev:存放设备文件
  • /etc:存放系统配置文件
  • /home:系统默认的用户家目录
  • /lib:/usr/lib:/usr/local/lib:系统使用的函数库目录
  • /lost+fount:系统产生错误时,会讲一些遗失的片段放置在该目录下
  • /mnt:/media:光盘的默认挂载点
  • /opt:主机安装额外软件的安装目录
  • /proc:存放系统核心数据、外部设备、网络状态等
  • /root:系统管理员 root 的家目录
  • /sbin:/use/sbin:/usr/local/sbin:放置系统管理员可以使用的可执行命令
  • /tmp:一般用或者正在执行的程序临时存放文件的目录
  • /srv:服务启动之后需要访问的数据目录
  • /usr:应用程序的存放目录
  • /var:放置系统执行过程中经常变化的文件
2.3、一切皆文件

1)一切皆文件

  • Unix/Linux 对数据文件、程序文件、设备文件、网络文件等的关林都抽象为文件,使用统一的方式进行管理
  • 文件不通过后缀拓展名进行区分,可以没有拓展名,通过文件类型进行区分

2)文件分类

通常,Unix/Linux 中常用的文件类型有五种:普通文件、目录文件、设备文件、管道文件、链接文件

  • 普通文件:存放数据、程序等信息的文件,一般包括文本文件、数据文件、可执行的二进制文件
  • 目录文件:Unix/Linux 系统将目录看成是一种特殊的文件,利用它构成文件系统的树型结构
  • 设备文件:Unix/Linux 系统把每一个设备都映射成一个设备文件,分为字符设备文件和块设备文件。字符设备的存取以字符为单位,块设备的存取以字符块为单位
  • 管道文件:Unix/Linux 系统中用于进程间通信
  • 链接文件:类似于 Windows 下的快捷方式,分为软链接和硬链接
2.4、文件权限

1)访问用户

通过访问用户方式分为三种:

  • 只允许用户自己访问(所有者)
  • 允许一个预先设定的用户组中的用户访问(用户组)
  • 允许系统中的任何用户访问(其他用户)

2)访问权限

  • 读权限:r
  • 写权限:w
  • 可执行权限:x

3)说明

  • 文件权限由 10 个字母表示
  • 第一个字母时文件类型,d 表示目录文件,- 表示普通文件,c 表示硬件字符设备文件,b 表示硬件块设备文件,s 表示管道文件,l表示软链接文件
  • 后面九个字母分成三组,每组三个。第一组是所有者权限,第二组是用户组权限,第三组是其他用户权限。权限的三个字母为;rwx,分别代表:读、写、执行。相应的字母表示该类用户具有相应的权限,- 表示该类用户不具有相应的权限

3、常用命令

3.1、概述

常用的 Linux 命令大概200多个,需要记住的大概 20%

3.2、命令使用方法

1)Linux 命令格式

command [-options] [parameter1] [parameter2]…

  • command:命令名
  • [ioptions]:选项,用来对命令进行控制,可以省略
  • parameter:传给命令的参数,可以使零个或者多个

2)–help 选项查看命令帮助文档

  • –help 选项:一般是 Linux 命令自带的帮助信息,不是所有的命令都自带这个选项
  • 例如,查看 ls 命令的帮助信息:ls --help

3)man 命令查看帮助手册

  • man 是 Linux 提供的一个手册,包含了大部分的命令、函数的使用说明
  • man 中包含多个章节,可以指定不同的章节查看
  • man command,可以查看当前命令的说明

4)使用技巧

  • 自动补全命令:敲出命令前几个字符之后,按 Tab 可以自动补全命令
  • 历史命令:上下键,history 命令
3.3、常用命令

1)文件管理

  • 查看文件信息:ls,list 缩写,查看当前目录下的的文件列表

    • ls ./子目录名:查看当前目录子目录的内容
    • ls -a:显示当前目录下所有文件,包含隐藏文件
    • ls -l:以列表形式查看当前目录下所有文件,包括隐藏文件
    • ls -h:配合 -l 以人性化方式显示文件大小
    • 还允许使用通配符来同时引用多个文件名
    通配符含义
    *代表文件名中所有字符
    ls te*查看当前目录下所有以 te 开头的文件
    le *html查看当前目录下所有以 html 结尾的文件
    代表文件名中任意字符
    ls ?.c只找点前面一个字符,并且以 .c 结尾的文件
    []使用 [] 把字符组括起来,表示可以匹配字符组中任意一个,- 表示字符范围
    [abc]表示匹配 a、b、c 中的任意一个
    [a-f]表示匹配 a 到 f 中的任意一个
    ls [a-f]*查找以 a 到 f 之间任意一个字符开头的文件

    *注:要使用通配符字符,需要使用 \ 进行转义;处于方括号内的通配字符不需要转义。例如:ls *a 表示查看文件名为 a 的文件

2)输出重定向命令

  • >:可以将命令的输出结果重定向到一个文件,如:ls > test.txt,可以将命令的输出保存到 test.txt 中,如果文件不存在,会创建文件,如果文件存在,会覆盖其内容
  • >>:可以将命令的输出结果重定向到一个文件,如:ls >> test.txt,可以将命令的输出保存到 test.txt 中,如果文件不存在,会创建文件,如果文件存在,会在文件末尾追加内容

3)分屏显示

  • more:查看内容过长而无法在一屏内显示时,会出现快速滚屏,无法看清。使用 more 命令可以一次只显示一页,空格可以翻页,q 退出

4)管道

  • |:一个命令的输出通过管道作为另一个命令的输入
    • ls -al | more:就可以分屏显示文件列表

5)清屏

  • clear
  • 快捷键:Ctrl+l

6)切换工作目录

  • cd 目标目录路径:切换到目标目录
  • cd …:回到上级目录
  • cd:切换到当前用户的主目录,cd ~ 也可以达到相同的效果
  • cd .:切换到当前目录
  • cd -:切换至上一个进入的目录

可以使用绝对路径,也可以使用绝对路径

Linux 的目录路径大小写敏感

7)显示当前路径

  • pwd:显示当前所在路径

8)创建目录

  • mkdir:mkdir 目录名,可以创建名为目录名的目录
  • mkdir 目录名1 目录名2 ……,可以创建多个目录
  • mkdir -p 目录名1/目录名2,可以递归创建目录

9)删除目录:

  • mdir:mdir 目录名,可以删除名为目录名的目录,删除时必须离开目录,且目录为空,否则会出错
  • mdir 目录名1 目录名2……,可以删除多个目录
  • mdir -p 目录名1/目录名2,可以递归删除目录

10)删除文件

  • rm:rm 文件名,删除文件,且不可恢复

  • rm 常用参数

    参数含义
    -i以进行交互的方式执行
    -f强制删除,忽略不存在的文件,无需提示
    -r递归地删除目录下的内容,删除文件夹时必须加此参数

11)建立链接文件

  • ln 源文件 链接文件,建立硬链接,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件依然存在
  • ln -s 源文件 链接文件,建立软链接
  • 软链接:不占用磁盘空间,源文件删除,则软链接失效
  • 硬链接:只能链接普通文件,不能链接目录

12)查看或者合并文件内容

  • cat:cat 文件名:显示文件内容
  • cat 文件名1 文件名2 >> 文件名1,将文件名1和文件名2的内容合并存放到文件名1中

13)拷贝文件

  • cp:cp 源文件 目标文件,把源文件拷贝到目标文件中

  • 常用选项

    选项含义
    -a用于拷贝目录时,拷贝时保留链接、文件属性,并递归复制目录,目标文件具有原文件的所有属性
    -f覆盖已经存在的目标文件而不提示
    -i交互式复制,在覆盖目标文件之前,给出提示要求用户确认
    -r若给出的源文件是目录文件,则递归复制该目录下的所有文件和子目录,且目标文件也必须是一个目录文件
    -v显示拷贝进度

14)移动文件

  • mv:mv 源文件 目标文件,将源文件剪切为目标文件

  • 常用选项:

    选项含义
    -f禁止交互式操作,如有覆盖也不给出提示
    -i交互式操作,如果存在覆盖,给出提示要求用户确认
    -v显示移动进度

15)获取文件类型

  • file:file 文件名,显示文件类型信息

16)归档管理

  • tar:tar [参数] 档案文件名 文件

  • tar 命令比较特殊,其参数前面可以加 -,也可以不加

  • 待归档文件可以有多个,依次列出即可

  • 常用归档命令格式:tar -cvf 档案名.tar 文件

  • 常用解档命令格式:tar -xvf 待解档文件

  • 常用参数:

    参数含义
    -c生成归档文件,创建打包文件
    -v列出归档解档的详细过程,显示进度
    -f指定方案文件名称,这个参数必须放在所有参数最后
    -t列出档案中包含的文件
    -x揭开档案文件

    注:只有参数 f 需要放在最后面,其他的参数没有顺序要求

17)文件压缩解压

gzip

  • gzip:gzip [选项] 被压缩文件名

  • tar 命令和 gzip 命令结合使用实现文件打包、压缩

  • tar 只负责文件打包,但不压缩,用 gzip 压缩后的 tar 打包文件,其名称一般为:XXX.tar.gz

  • 常用选项

    选项含义
    -d解压
    -r压缩所有子目录
  • 压缩已归档文件:gzip -r XXX.tar

    • 原本的 XXX.tar 文件就被 XXX.tar.gz 覆盖了
  • 常用解压缩命令格式:gzip -d XXX.tar.gz

    • 原本的 XXX.tar.gz 文件就被 XXX.tar 覆盖了
    • 解档:tar -xvf XXX.tar
  • 一步归档压缩:tar -zcvf xxx.tar.gz 1.c 2.c 3.c

    • 1.c 2.c 3.c 归档压缩为xxx.tar.gz
  • 一步解压缩解档:tar -xzvf xxx.tar.gz

bzip2

  • bzip2:和 gzip 作用一样,文件名一般为:xxx.tar.bz2
    • 压缩:tar -cjvf xxx.tar.bz2 待压缩文件名们
    • 解压:tar -xjvf xxx.tar.bz2

zip、unzip

  • zip:zip 目标文件 文件名们
    • 通过 zip 压缩文件的目标文件不需要指定扩展名,默认为 zip
  • 压缩:zip [-r] 目标文件 源文件们
    • 生成:目标文件.zip
  • 解压:unzip -d 解压后目录文件 压缩文件
    • 解压到解压后目录文件文件夹内

18)查看命令位置

  • which:which 命令名,查看命令的存放位置
    • which ls,查看 ls 命令的存放位置
3.4、用户、权限管理命令

1)查看当前用户:whoami

  • whoami,查看当前系统当前账号的用户名
  • 可以通过 cat /etc/passwd 查看系统用户信息
  • su:切换至 root 用户
  • su 用户名:切换至用户名 用户

2)退出登录账户:exit

  • 如果是图形界面,exit 会关闭终端
  • 如果是 ssh 远程登录,会退出登录账户
  • 如果是切换后的登录用户,exit 会返回上一个登录用户

3)切换用户:su

  • su 用户名:命令切换用户
  • su - 用户名:也可以切换用户,并且在切换到目标用户之后,会自动切换到当前用户的主目录
  • su:切换至 root 用户
  • 设置 root 用户密码:sudo passwd

4)添加、删除组账号:groupadd、groupdel

  • groupadd 用户名:新建的组账号
  • groupdel 用户名:删除组账号,组内没有成员才可以删除组
  • cat /etc/group:查看用户组

5)修改用户所在组:usermod

  • usermod -g 用户组名 用户名:把用户添加到用户组内

6)添加用户账号:useradd

  • useradd [参数] 新建用户账号

  • adduser [参数] 新建用户账号

  • 参数说明

    参数含义
    -d指定用户登录系统时的主目录。如果不指定,系统自动在 /home 目录下建立与用户名同名的目录为主目录
    -a自动建立目录
    -g指定组名称

7)删除用户:userdel

  • userdel 用户名:删除用户,但不会自动删除用户的主目录
  • userdel -r 用户名:删除用户,同时删除用户的主目录

8)查询用户登录情况:last

  • 管理员可以通过 last 命令查看每位用户的登录情况,登录地址

9)修改文件权限:chmod

  • chmod 修改文件权限有两种格式:字母法和数字法

    • 字母法:chmod u/g/o/a +/-/= rwx 文件名

      符号含义
      uuser,文件所有者
      ggroup,同一用户组用户
      oother,其他以外的人
      aall,三者皆是
      +增加权限
      -撤销权限
      =设定权限
      • 例如:chmod go -r a.txt 撤销 g 和 o 的读权限
      • chmod a+x b.txt 为 a 增加 x 权限
      • chmod u=rw abc.txt 设定 u 的权限为 rw
    • 数字法:rwx 这些权限可以使用数字来代替,rwx 组成三位二进制,组成的值就是对应的数字值

    权限数字代号
    r读权限,4
    w2
    x1
    -不具有任何权限,0
    • 例如:chmod u=7,g=5,o=4 filename 与 chmod u=rwx,g=rx,o=r filename 等价
    • chmod 751 file
      • 文件所有者:rwx
      • 同组用户:rx
      • 其他用户:x

10)修改文件所有者:chown

  • chown 用户名 文件名:将文件的所有者修改为指定用户

11)修改文件所属组:chgrp

  • chgrp 用户组名 文件名:将文件的所属组修改为指定用户组
3.5、系统管理

1)查看进程信息:ps

  • 进程是一个具有一定独立功能的程序,他是操作系统动态执行的基本单元

  • ps 命令常用的选项:

    选项含义
    -a显示终端上的所有进程,包括其他用户的进程
    -u显示进程的详细状态
    -x显示没有控制终端的进程
    -w显示加宽,以便显示更多的信息
    -r只显示正在运行的进程
  • top 命令:动态显示进程,还可以进行条件检索

2)终止进程:kill

  • kill [-signal] pid:终止指定 pid 的进程
  • kill 命令指定进程的进程号,需要配合 ps 命令使用
  • signal 的值从 0 到 15,其中 9 为绝对终止,可以处理一般信号无法终止的进程

3)后台程序:&、jobs、fg

  • 用户可以后台执行程序:命令 &
  • 如果程序已经在执行,ctrl+z 可以将程序调入后台
  • jobs:查看后台执行的程序
  • fg 编号:将后台程序调出到前台,编号是通过 jobs 查看的编号

4)关机、重启:reboot、shutdown、init

命令含义
reboot重启操作系统
shutdown -r now重启操作系统,并提示其他用户
shutdown -h now立刻关机
shutdown -h 20:35系统在今天 20:35 关机
shutdown -h +10系统十分钟后关机
init 0关机
init 6重启

5)字符界面和图形界面切换

  • Redhat 平台下:

    init 3切换到字符界面
    init 5切换到图形界面
  • 其他大部分平台:

    ctrl+alt+F2切换到字符界面
    ctrl+alt+F7切换到图形界面

6)查看或配置网卡信息:ifconfig

  • ifconfig:显示所有网卡的信息

    显示字段说明
    eth0网络接口名称
    Link encap链路封装协议
    Hwaddr网口的 MAC 地址
    Inet addrIP 地址
    Bcast广播地址
    Mask子网掩码
    UP网口状态识别,UP表示已经启用,DOWN 表示已经停用
    BROADCAST广播标识,标识广播是否支持广播
    RUNNING传输标识,标识网口是否已经开始传输分组数据
    MULTICAST多播标识,标识网口是否支持多播
    MTU, MetricMTU:最大传输单位,单位:字节;Metric:度量值,用户 RIP 建立网络路由用
    RX bytes接收数据字节统计
    TX bytes发送数据字节统计
  • ifconfig 还可以配置网络参数;

    • ifconfig 网口名称 [地址协议参数] [address] [参数]
    • 地址协议参数:inet,表示 IPv4;inet6:表示 IPv6
    • 例如:ifconfig eth0 inet 192.168.10.254 netmask 255.255.255.0 up
  • 常用参数

    参数功能
    -a显示所有网口状态
    inet [IP 地址]设置 IP 地址
    netmask [子网掩码]设置子网掩码
    up启用网口
    down关闭网口
  • ifconfig 配置的网络参数存放在内存中,关机重启就失效了。如果需要持久有效,需要修改网口配置文件:

    • redhat:/etc/sysconfig/network-scripts/ifcfg-eth0 文件:

      IPADDR=IP 地址
      GATEWAY=默认网关
      
    • Ubuntu:/etc/NetworkManager/system-connections/Wired connection1 文件:

      [ipv4]
      method=manual
      addresses1=IP 地址;24;默认网关;
      

7)测试远程主机连通性:ping

  • ping [参数] 远程主机 IP 地址
  • ping 通过 ICMP 协议向远程主机发送 ECHO_REQUEST 请求,期望主机回复 ECHO_REPLAY 消息
  • 通过 ping 命令可以检查是否与远程主机建立了 TCP/IP 连接

4、编辑器

4.1、gedit 编辑器

Linux 下的一个文本编辑器

4.2、vi 编辑器

1)vi 介绍:编辑器之神

2)vi 基本操作

  • vi filename:打开或者新建文件

2)vi 常用命令

在命令模式下进入插入模式:

  • a:光标位置右边插入文字
  • i:光标位置当前处插入文字
  • o:光标位置下方开启新行
  • O:光标位置上方开启新行
  • I:光标所在行首插入文字
  • A:光标所在行尾插入文字

vi 的退出:

  • shitf+z+z:保存退出
  • :wq:保存退出
  • :x:保存退出
  • :w filename:保存到指定文件
  • :q:退出,如果文件修改但是没有保存,会提示无法退出
  • :q!:退出,不保存
  • :!命令:暂时离开 vi,执行命令

vi 的删除和修改功能:

  • [n]x:删除光标后 n 个字符
  • [n]X:删除光标前 n 个字符
  • D:删除光标所在位置开始到此行行尾的字符
  • [n]dd:删除从当前行开始的 n 行(实际上是剪切)
  • [n]yy:复制从当前行开始的 n 行
  • p:把粘贴板上的内容插入到当前行
  • dG:删除光标所在行到文件尾的所有字符
  • J:合并两行(将下一行和当前行合并,用空格连接)
  • .:执行上一次操作
  • u:撤销前一个命令

vi 的定位和查找功能:

  • ctrl+f:向前滚动一个屏幕
  • ctrl+b:向后滚动一个屏幕
  • gg:到文件第一行行首
  • G:到文件最后一行行首
  • :$:到文件最后一行行首
  • [n]G 或者[n]gg:到指定行,n 为目标行数
  • /字符串:查找指定字符串
  • n:寻找下一个
  • N:回到前一个
  • ?:寻找上一个
  • /~字符串:寻找以字符串开始的行
  • /字符串$:寻找以字符串结尾的行
  • /a.b:查找字符串 a 任意字符 b

vi 的替换和设置指令:

  • r:替换当前光标字符(很少用)
  • :r 文件名:在光标当前位置下一行载入另一个文件
  • :s/p1/p2/g:将当前行中所有的 p1 用 p2 替换
  • :g/p1/s/p2/g:将当前文件中所有的 p1 用 p2 替换
  • :n1,n2s/p1/p2/g:将 n1 到 n2 行中所有的 p1 用 p2 替换
  • :set ic:搜寻时不区分大小写
  • :set noic:搜寻时区分大小写
  • :set nu:显示行号
  • :set nunu:不显示行号

5、远程操作

5.1、ssh介绍
  • ssh:Source shell
5.2、远程登录

1)Linux 平台相互远程

ssh -l username hostip

2)Windows 远程登录 Linux

Xmanager、Xshell、Xftp……

5.3、远程文件传输

6、webserver 搭建

相关文章:

Unix/Linux操作系统介绍

1、Unix/Linux操作系统介绍 1.1、操作系统的作用 1)操作系统的目标 方便:使计算机系统易于使用有效:以更有效的方式使用计算机系统资源扩展:方便用户有效开发、测试、引进新功能 2)操作系统的地位 操作系统在计算…...

什么是https证书?

HTTPS证书,也称为SSL(Secure Sockets Layer)证书或TLS(Transport Layer Security)证书,是一种数字证书,用于在网络上建立安全的加密连接。它的主要目的是确保在互联网上进行的数据传输的安全性和…...

C++ DAY2作业

1.课堂struct练习&#xff0c;用class&#xff1b; #include <iostream>using namespace std;class Stu { private:int age;char sex;int high; public:double score;void set_values(int a,char b,int c,double d);int get_age();char get_sex();int get_high(); }; vo…...

RabbitMQ核心概念记录

本文来记录下RabbitMQ核心概念 文章目录 什么叫消息队列为何用消息队列RabbitMQ简介RabbitMQ基本概念RabbitMQ 特点具体特点包括 Rabbitmq的工作过程RabbitMQ集群RabbitMQ 的集群节点包括Rabbit 模式大概分为以下三种单一模式普通模式镜像模式 本文小结 什么叫消息队列 消息&am…...

算法时间空间复杂度计算—空间复杂度

算法时间空间复杂度计算—空间复杂度 空间复杂度定义影响空间复杂度的因素算法在运行过程中临时占用的存储空间讲解 计算方法例子1、空间算法的常数阶2、空间算法的线性阶&#xff08;递归算法&#xff09;3、二分查找分析方法一&#xff08;迭代法&#xff09;方法二&#xff…...

计算机专业校招常见面试题目总结

博主面试岗位包括&#xff1a;java开发、软件测试、测试开发等岗位&#xff0c;基于之前经历的面试总结出的一些常见题目。仅供参考&#xff0c;互相学习&#xff01;&#xff01; 八股&#xff1a;java开发、测试、测开岗位 Java技术栈&#xff1a;Java基础、JVM、数据结构、…...

网络编程『简易TCP网络程序』

&#x1f52d;个人主页&#xff1a; 北 海 &#x1f6dc;所属专栏&#xff1a; Linux学习之旅、神奇的网络世界 &#x1f4bb;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 文章目录 &#x1f324;️前言&#x1f326;️正文TCP网络程序1.字符串回响1.1.核心功能1.2.程序…...

java itext5 生成PDF并填充数据导出

java itext5 生成PDF并填充数据导出 依赖**文本勾选框****页眉**&#xff0c;**页脚****图片**实际图 主要功能有文本勾选框&#xff0c;页眉&#xff0c;页脚&#xff0c;图片等功能。肯定没有专业软件画的好看&#xff0c;只是一点儿方法。仅供参考。 依赖 <!--pdf-->&…...

如何配置TLSv1.2版本的ssl

1、tomcat配置TLSv1.2版本的ssl 如下图所示&#xff0c;打开tomcat\conf\server.xml文件&#xff0c;进行如下配置&#xff1a; 注意&#xff1a;需要将申请的tomcat版本的ssl认证文件&#xff0c;如server.jks存放到tomcat\conf\ssl_file\目录下。 <Connector port"1…...

在CentOS 7上使用普通用户`minio`安装和配置MinIO

指定控制台端口号6901 以下是在CentOS 7上使用普通用户minio安装和配置MinIO的完整步骤&#xff0c;包括设置密码、设置开机自启动&#xff0c;以及使用minio用户启动和关闭服务的过程&#xff1a; 创建MinIO用户: sudo useradd -m minio sudo passwd minio这将创建一个可以登录…...

Vue3-27-路由-路径参数的简单使用

什么是路径参数 在路由配置中&#xff0c;可以将【参数】放在【路由路径】中&#xff0c; 从而实现&#xff0c;同一个 路由&#xff0c;同一个组件&#xff0c;因路径参数不同&#xff0c;可以渲染出不同的内容。特点 &#xff1a; 1、当携带不同路径参数的路由相互跳转时&am…...

w7数据库基础之mysql函数

系统函数 1.version() --mysql版本 2.user() --当前登录的数据库用户名system_user() 3.database() --当前使用的数据库名。schema() 4.datadir --数据库路径 5.version_compile_os 操作系统版本&#xff0c;like 后面可以使用%%进行模糊查询。 6.hostname 当前机器…...

智能优化算法应用:基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于人工蜂鸟算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工蜂鸟算法4.实验参数设定5.算法结果6.…...

Docker的基础使用

Docker的基础使用 Docker 是一个开放平台&#xff0c;用于开发、运输和运行应用程序。Docker 允许你将应用程序与基础架构分离&#xff0c;从而可以像管理应用程序一样快速交付软件。以下是 Docker 的详细使用指南&#xff1a; 安装 Docker 下载 Docker : 根据你的操作系统…...

Sass(Scss)、Less的区别与选择 + 基本使用

在前端开发中&#xff0c;CSS预处理器成为了提高样式表开发效率的重要工具。Sass&#xff08;以及其语法Scss&#xff09;和Less是两个最为流行的CSS预处理器&#xff0c;它们在语法、功能和用法上存在一些差异&#xff0c;因此在选择使用时需要考虑多个因素。 1. Sass 和 Les…...

GPT Zero 是什么?

from https://openaigptguide.com/gptzero/ 在人工智能技术飞速发展的今天&#xff0c;人们对于文字内容的准确性和可信度要求越来越高。例如在学术研究领域&#xff0c;防止抄袭和造假是非常重要的。而对于普通用户而言&#xff0c;辨别哪些内容是由人工智能生成的&#xff0…...

c++学习笔记-提高篇-案例2-员工分组(vector/multimap)

一、案例描述 公司今天招聘10个员工&#xff08;ABCDEFGHIJ&#xff09;,10名员工进入公司后&#xff0c;需要指派员工在哪个部门工作员工信息&#xff1a;姓名 工资组成&#xff1b;部门分为&#xff1a;策划、美术、研发随机给10名员工分配部门和工作通过multimap进行信息插…...

TrustZone之问答

以下问题有助于测试您的知识。 在Arm架构中&#xff0c;安全状态和物理地址空间分别是什么&#xff1f; 在Arm架构中&#xff0c;安全状态分为安全状态和非安全状态。物理地址空间分为安全物理地址空间和非安全物理地址空间。 在每个异常级别中&#xff0c;是什么确定处理器处于…...

vue3中新增的组合式API:ref、reactive、toRefs、computed、watch、provide/inject、$ref

在 Vue3 中&#xff0c;组合式 API 是一种新的编程模式&#xff0c;它允许你更灵活地组织和重用代码。组合式 API 主要包括以下几个部分&#xff1a; ref&#xff1a;用于创建响应式数据。reactive&#xff1a;用于创建一个响应式对象。toRefs&#xff1a;将一个响应式对象转换…...

Flask 密码重设系统

Flask 密码重设系统【源码来自编程浪子Flask点餐小程序】 web/templates/user/reset_pwd.html {% extends "common/layout_main.html" %} {% block content %} {% include "common/tab_user.html" %} <div class"row m-t user_reset_pwd_wrap&q…...

HarmonyOS4.0开发应用(四)【ArkUI状态管理】

ArkUI状态管理 分为以下四个: StateProp和LinkProvide和ConsumeObserved和ObjectLink State 相当于vue中data()内定义的属性变量&#xff0c;相当于react中useState()的使用,即绑定在视图上的响应式变量&#xff0c;可动态更新~ Tip: 标记的变量必须初始化&#xff0c;不可为空…...

JS常见正则表达式写法(附案例)

正则表达式方法示例: 1. test方法解析&#xff0c;test判断正则是否在字符串中出现过&#xff0c;如果出现返回true&#xff0c;如果没出现返回false。 let str hello world; let ret1 /e/.test(str); // true let ret2 /q/.test(str); // false 如&…...

go语言,ent库与gorm库,插入一条null值的time数据

情景介绍 使用go语言&#xff0c;我需要保存xxxTime的字段至数据库中&#xff0c;这个字段可能为空&#xff0c;也可能是一段时间。我采取的是统一先赋值为空&#xff0c;若有需要&#xff0c;则再进行插入&#xff08;需要根据另一个字段判断是否插入&#xff09; 在我的数据…...

Java EasyExcel 导入代码

Java EasyExcel 导入代码 导入方法 /*** 仓库库位导入** param req* param res* param files* throws Exception*/RequestMapping(value {"/import/line_store_locs"}, method {RequestMethod.POST})ResponseBodypublic void importStoreLoc(HttpServletRequest …...

2024,5G-A风起,中兴通讯破浪

对于通信圈而言&#xff0c;2024年最关键的里程碑&#xff0c;当属3GPP R18版本即将冻结。作为5G国际标准化组织&#xff0c;3GPP的意义是推动成员公司、工作组和技术规范的研究&#xff0c;让5G发展更有章法。 放眼整个5G技术的演进&#xff0c;其实大致分为两个阶段。第一阶段…...

SuperMap Hi-Fi 3D SDK for Unity矢量面贴地贴模型

作者&#xff1a;kele 一、背景 SuperMap Hi-Fi 3D SDK&#xff08;2023 11i&#xff09; for Unity推出新功能&#xff1a;支持矢量面同时贴地形图层和模型图层&#xff0c;并且能实现数据点击查询属性、更改初始填充颜色、初始边框线颜色、选中填充颜色、选中边框线颜色、控…...

【DB2】Maxlocks和防止锁升级

数据库在对行操作的时候&#xff0c;为了避免多个作业互相覆盖影响数据准确性&#xff0c;在进行操作&#xff08;尤其是写操作&#xff09;的时候会上锁&#xff0c;同一时间只有一个作业可以修改数值 对行上锁&#xff0c;为了记录锁的信息&#xff0c;所以会占用一定的内存…...

网工内推 | 网络服务工程师,HCIE认证优先,带薪年假,年终奖

01 高凌信息 招聘岗位&#xff1a;服务工程师&#xff08;珠海&#xff09; 职责描述&#xff1a; 1、负责华为数通&#xff08;交换机、路由器&#xff09;、IT&#xff08;服务器、存储&#xff09;等任一或多个产品领域的项目实施交付&#xff1b; 2、独立完成华为数通&…...

​TrustZone之可信固件

Trusted Firmware是Armv8-A设备的安全世界软件的开源参考实现。Trusted Firmware为SoC开发人员和OEM提供了一个符合相关Arm规格&#xff08;包括TBBR和SMCC&#xff09;的参考Trusted代码库。 以下图表显示了Trusted Firmware的结构&#xff1a; SMC调度程序处理传入的SMC。SMC…...

Visual Studio 2013 中创建一个基于 Qt 的动态链接库:并在MFC DLL程序中使用

在本地已经安装好 Qt 的情况下&#xff0c;按照以下步骤在 Visual Studio 2013 中创建一个基于 Qt 的动态链接库&#xff1a; 一、新建 Qt 项目&#xff1a; 在 Visual Studio 中&#xff0c;选择 “文件” -> “新建” -> “项目…”。在 “新建项目” 对话框中&#…...