Linux(简单概述)

目录

第一章 初识Linux

第四章 文件管理与常用命令

1.文件基础知识

2.文件显示命令

3.文件内容查询

4. 文件和目录基本操作

5. 文件复制、移动、删除

7. 链接

8. 文件访问权限

9. 文件查找命令

10. 压缩和解压缩

第五章用户与用户组

第六章软件包管理RPM和YUM数据库

1. rpm包相关

2. yum相关

第七章Linux磁盘管理

1. 常用命令:

2. 磁盘相关

3.相关命令

第八章Linux编程

第九章进程管理

1.进程基础

2. at和batch

3. crontab命令

5. 启动/重启/停止服务

第十章Shell编程

1.shell基础

2.变量定义

3.数值计算

4. 实例


第一章 初识Linux

1.自由软件的含义

Linux 中的自由软件(Free Software)是指符合以下四项自由的软件:

  1. 自由运行软件,不论出于何种目的。
  2. 自由学习软件的工作原理,并修改以满足自己的需求。这需要获取软件的源代码。
  3. 自由重新分发软件的副本,无论是否修改过。
  4. 自由分发软件的修改版本,以便整个社区都能从中获益。

2. 常见的 Linux 发型版本

  • Red Hat
  • Ubunutu
  • Debian
  • SuSE Linux
  • Slackware
  • Centoo

3. 常见的 Linux 操作系统使用习惯

a 开关机管理

b 文件管理

c 权限管理

d 密码管理

e 服务器状态监控

f 定期备份

......

a. 开关机管理:
开机: 通常使用 sudo systemctl start 或 sudo service start 命令启动系统。
关机: 使用 sudo systemctl poweroff、sudo shutdown -h now 或 sudo init 0 命令关闭系统电源。
重启: 使用 sudo systemctl reboot 或 sudo reboot 命令重启系统。b. 文件管理:
浏览文件夹: 使用 ls、cd、pwd 等命令浏览和导航文件系统。
操作文件: 使用 cp、mv、rm、mkdir、touch 等命令复制、移动、删除和创建文件。
编辑文件: 使用 nano、vim、emacs 等命令行编辑器或图形化编辑器编辑文件内容。c. 权限管理:
查看文件/文件夹权限: 使用 ls -l 命令查看。
修改权限: 使用 chmod 命令更改文件/文件夹的读、写、执行权限。
切换用户: 使用 su 或 sudo 命令切换到其他用户。d. 密码管理:
修改密码: 使用 passwd 命令更改当前用户的密码。
重置密码: 以 root 用户身份使用 passwd username 重置其他用户的密码。e. 服务器状态监控:
查看系统信息: 使用 uname -a、lscpu、lsmem 等命令查看系统硬件信息。
监控进程: 使用 top、htop、ps 等命令查看和管理正在运行的进程。
监控资源使用: 使用 df、du、free 等命令查看磁盘、内存等资源的使用情况。f. 定期备份:
全量备份: 使用 tar、rsync 等命令对整个文件系统进行全量备份。
差异备份: 使用 rsync 等命令只备份变更的文件。
备份计划: 制定定期的全量和差异备份计划以确保数据安全。

4. 常用的在线帮助命令:man help info whatis

5. 关机重启命令:shutdown -h(r)+5 min(now)

第四章 文件管理与常用命令

1.文件基础知识

(1)文件类型及区分:

文件类型

ls -l或ll命令输出的第一个字符

普通文件

-

目录文件

d

字符设备文件

c

块设备文件

b

链接文件

l

管道文件

p

套接字文件

s

(2)常用系统目录:

  • /:根目录
  • /boot: 启动相关文件
  • /mnt:挂载目录
  • /root:root用户家目录
  • /home:普通用户家目录,如/homt/user1
  • /dev: 设备文件目录
  • /etc: 配置文件目录

(3)

文件基本知识:

  • 大小写
  • 文件类型的含义 
  • 设备文件名(/dev/sdc7)
  • 可执行文件的含义

2.文件显示命令

(1)cat命令:显示文件内容

(2)more命令:分页显示文件内容

(3)head 命令:输出文件前几行(默认前 10 行)

3.文件内容查询

grep命令:

  • grep abc /etc/passwd 普通查找(查找返回的是行,只是没有行号)
  • grep abc /etc/passwd /etc/shadow 在多个文件中查找
  • grep -l abc file1 file2 file3 列出包含指定字符串的文件的文件名
  • grep -n abc file 查找指定字符串并显示匹配行的行号
  • grep -n abc file1 file2 在两个文件中查找指定字符串并显示匹配行的行号
  • grep -v “#” file1显示不匹配的行
  • grep ^$ file1 显示空白行
  • grep ^root /etc/passwd 显示匹配指定行首的行
  • grep abc$ file 列出文件中所有已abc结尾的行

4. 文件和目录基本操作

(1)Tab 自动补全命令

(2) man命令查看帮助信息

5. 文件复制、移动、删除

(1)cp命令

  • cp file /dir 直接复制
  • cp file /dir/newfilename 复制并改名
  • cp file1 file2 /dir 复制多个文件
  • cp -r /dir1 /dir2 将目录/dir1及其所有子目录和文件递归复制到/dir2中

(2)mv命令

  • mv file1 file2 将 file1 重命名为 file2
  • mv file1 /dir 将 file 移动到目录 /dir 中

(3)mkdir命令

  • mkdir dirName 当前目录下创建新目录
  • mkdir /tmp/dirName 指定绝对路径创建新目录
  • mkdir -p dir1/dir2/dir3 创建多级目录

(4)rmdir命令:只能删除空目录

(5)rm命令

  • rm file 删除文件
  • rm -f file 强制删除文件
  • rm -r dir 删除目录及其子目录
  • rm -rf dir 强制删除目录及其子目录

7. 链接

(1)硬链接与软连接(符号链接)

  • 硬链接相当于源文件可以同步更新的备份,软连接相当于快捷方式
  • 硬链接不能跨文件系统,不能链接目录
  • 删除源文件,硬链接不会有影响,软链接变无效

(2)创建:

  • 硬链接 ln source linkfile
  • 软链接ln -s source linkfile

8. 文件访问权限

rwx 三种权限对于普通文件和目录表现不同。

普通文件 目录台

r 读取内容 ls

w 编辑内容 touch mv rm

x bash cd

1)ls -l (ll)命令显示结果字符串,ls –a显示全部文件

(2)chmod 命令

  • 数字法:chmod 755 file
  • 加减法:chmod u+w,g+x,o+x file chmod a+x file chmod +w file
  • 等号法:chmod u=rw,g=rw,o=r file
  • 设置目录权限:chmod -R 777 dir

(3) umask 命令:设置文件和目录的默认权限

(4)chown命令:改变文件所有者chown user file

(5)chgrp命令:改变文件所属组chgrp newgrp file

(6)newgrp 命令:改变用户的有效组

在 Linux 文件权限中,rwx 分别代表以二进制形式的数值:

  1. r (read) 表示读权限,对应二进制数值 4。
  2. w (write) 表示写权限,对应二进制数值 2。
  3. x (execute) 表示执行权限,对应二进制数值 1。

755 权限的含义:

  1. 第一个 7 代表文件/目录的所有者拥有读(r)、写(w)和执行(x)的权限。
  2. 第二个 5 代表文件/目录的所属组成员拥有读(r)和执行(x)的权限,但没有写(w)权限。
  3. 第三个 5 代表其他用户也拥有读(r)和执行(x)的权限,但同样没有写(w)权限。

9. 文件查找命令

(1) find: 格式注意先写查找范围,再写查找类型(文件名、文件类型、权限、所有者、所属组、时间、大小等),最后是查找文件对象(可使用通配符)

(2) locate 命令:注意和 updatedb 命令配合使用

10. 压缩和解压缩

(1) compress zip gzip bzip2 都是压缩命令

(2) tar:可以在打包的同时进行解压缩,常用用法:tar-jcvf filename dir

tar -zcvf filename dir tar -jxvf filename

第五章用户与用户组

0. root 用户的家目录 普通用户的家目录

1. 配置文件(1)/etc/passwd /etc/shadow /etc/group /etc/gpasswd

2. useradd命令:新增用户useradd newusername

3. passwd命令

  • 设置自己的密码:passwd
  • 设置其他用户密码(root可执行):passwd user1
  • 直接设置其他用户密码(root可执行): echo “newpassword” | passwd –stdin user
  • 锁定/解锁用户(root可用):passwd -l user passwd -u user

4. userdel命令:删除用户 userdel user

5. groupadd命令:增加组

6. groupmod命令:修改组信息

  • -g:修改GID
  • -n:修改组名

7. gpasswd命令:指定组属性

  • gpasswd group:设定组密码
  • gpasswd -A group:指定组管理员(root专用)
  • gpasswd -M user1,user2 group :添加组成员
  • gpasswd -a user1,user2 group::添加组成员(组管理员用)
  • gpasswd -d user group: 删除组成员(组管理员用)

第六章软件包管理RPM和YUM数据库

1. rpm包相关

(1)安装:rpm -ivh package.rpm,注意使用包全名

安装 nginx 软件包: rpm -ivh nginx-1.14.0-1.el7.ngx.x86_64.rpm

(2)查询:rpm -q package_name,注意使用软件名

查询是否安装了nginx: rpm -q nginx

(3)卸载:rpm -e package_name

卸载 nginx: rpm -e nginx

2. yum相关

(1)yum命令需要在联网的环境下或者设置本地yum源。

(2)在联网的环境下可以自动解决依赖性的问题。

(3)yum install 软件名(如yum install mysqld)

yum install package_name

(4)yum remove 软件名卸载

yum remove package_name
yum remove mysqld

第七章Linux磁盘管理

1. 常用命令:

(1)mount:挂载命令

  • mount /dev/sr0 /mnt/cdrom:挂载设备到挂载点
格式: mount [-t 文件系统类型] [-o 挂载选项] 设备文件 挂载点
例如: mount /dev/sr0 /mnt/cdrom - 将 /dev/sr0 设备挂载到 /mnt/cdrom 目录下
  • umount /mnt/cdrom:卸载挂载点
格式: umount 挂载点或设备文件
例如: umount /mnt/cdrom - 卸载 /mnt/cdrom 目录下的设备
  • mount -o remount,noexec /dev/sdb2: -o后接特殊选项,此例为重新挂载并制定不允许在该分区执行可执行文件
mount 命令用于挂载文件系统。
-o 选项用于指定挂载选项。
remount 选项用于重新挂载已挂载的文件系统。这样可以在不卸载文件系统的情况下,修改挂载选项。
noexec 选项用于禁止在该文件系统上执行二进制程序或脚本。这可以增加系统的安全性,防止恶意程序在该分区上执行。综合起来,mount -o remount,noexec /dev/sdb2 命令的作用是:重新挂载 /dev/sdb2 分区,
在不卸载分区的情况下,
添加 noexec 选项,禁止在该分区上执行任何可执行文件。
  • mount -o remount,usrquota,grpquota /dev/sdb2: 重新挂载分区并写入用户磁盘配额文件和组磁盘配额文件
mount 命令用于挂载文件系统。
-o 选项用于指定挂载选项。
remount 选项用于重新挂载已挂载的文件系统。这样可以在不卸载文件系统的情况下,修改挂载选项。
usrquota 选项用于启用用户磁盘配额。这意味着系统会为每个用户记录磁盘使用情况,并根据配额进行限制。
grpquota 选项用于启用组磁盘配额。这意味着系统会为每个组记录磁盘使用情况,并根据配额进行限制。

2. 磁盘相关

(1)设备文件名 /dev/sda /dev/sdb

/dev/sda: 第一块 SCSI 或 SATA 硬盘
/dev/sdb: 第二块 SCSI 或 SATA 硬盘
依此类推,后续硬盘设备文件名为 /dev/sdc、/dev/sdd 等

(2)分区原则

  • 主分区最多4个
  • 扩展分区最多1个
  • 主分区和扩展分区加起来最多4个
  • 主分区和扩展分区分区号(1-4)
  • 扩展分区不能直接写入数据,需要分成逻辑分区
  • 逻辑分区的分区号从5开始,系统内第二块硬盘的第一个逻辑分区设备名为/dev/sdb5
假设有一块第二块硬盘 /dev/sdb可以在 /dev/sdb 上创建 4 个主分区:
/dev/sdb1
/dev/sdb2
/dev/sdb3
/dev/sdb4
或者创建 1 个扩展分区 /dev/sdb4,然后在扩展分区内创建多个逻辑分区:
/dev/sdb5
/dev/sdb6
/dev/sdb7
/dev/sdb8 等

3.相关命令

(1) fdisk:分区命令

(2) mkfs:格式化命令 mkfs -t ext4 /dev/sda2

第八章Linux编程

1. vi相关:

(0)执行vi命令:

  • vi filename :打开或新建文件,并将光标置于第一行首
  • vi +n filename :打开文件,并将光标置于第n行首
  • vi + filename :打开文件,并将光标置于最后一行首
  • vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
  • vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
  • vi filename....filename :打开多个文件,依次进行编辑

(1)三种模式:运行vi命令进入命令模式,按a i o r(或A I O R)进入输入模式(插入模式),按ESC回到命令模式,输入:进入底行命令模式(底行模式、末行模式),按ESC重回命令模式。

(2)命令模式下的常用命令

  • 定位:H 移至屏幕顶端, M 移至屏幕中间,L 移至屏幕下端,n+空格向右移动n个字符,G 移动到最后一行,nG 移动至第n行,gg移动至第1行
H: 将光标移动到屏幕的顶端(第1行)
M: 将光标移动到屏幕的中间(第5行)
L: 将光标移动到屏幕的底端(第10行)
5 空格: 将光标向右移动5个字符
G: 将光标移动到最后一行(第10行)
3G: 将光标移动到第3行
gg: 将光标移动到第1行
  • 删除:x 向后删除一个字符,X向前删除一个字符,nx连续删除n个字符,dd删除当前行,ndd向后删除n行,d1G 删除第1行至当前行, dG删除当前行到最后一行
x: 删除当前光标所在的字符
X: 删除当前光标前面的字符
5x: 连续删除5个字符
dd: 删除当前行
5dd: 删除当前行到向下的4行,共5行
d1G: 删除第1行到当前行(不包括当前行)
dG: 删除当前行到最后一行
  • 复制:yy复制当前行,nyy向后复制n行,y1G复制第1行至当前行,yG复制当前行至最后一行,p粘贴在下一行,P粘贴在上一行
yy: 复制当前行
5yy: 复制当前行到向下的4行,共5行
y1G: 复制第1行到当前行(不包括当前行)
yG: 复制当前行到最后一行
p: 将复制的内容粘贴到当前光标所在行的下一行
P: 将复制的内容粘贴到当前光标所在行的上一行
  • 其他:u撤销,.重复,ZZ保存文件并退出
u: 撤销上一次操作
.: 重复上一次操作
ZZ: 保存文件并退出编辑器

(3)底行模式下的常用命令

  • 保存::w :w! :wq :q! :wq! :w file n1,n2 w newfile
:w: 保存当前文件
:w!: 强制保存当前文件
:wq: 保存文件并退出编辑器
:q!: 不保存退出编辑器
:wq!: 强制保存并退出编辑器
:w file: 将当前文件另存为"file"
:n1,n2 w newfile: 将第n1行到第n2行的内容保存到新文件"newfile"中
  • 行号::se nu :se nonu :set nu : set nonu
:se nu: 显示行号
:se nonu: 隐藏行号
:set nu: 同:se nu
:set nonu: 同:se nonu
  • 查找: :/str 向下搜索str ,:?str 向上搜索str ,n 往前重复上次搜索,N往后重复上次搜索
:/str: 向下搜索字符串"str"
:?str: 向上搜索字符串"str"
n: 重复上一次的向下搜索
N: 重复上一次的向上搜索
  • 替换::s/old/new 本行替换一次,:s/old/new/g本行全部替换,:n1,n2s/old/new/g从第n1行到第n2行全部str1替换为str2
:s/old/new: 替换当前行中首次出现的"old"为"new"
:s/old/new/g: 替换当前行中所有的"old"为"new"
:n1,n2s/old/new/g: 将第n1行到第n2行中所有的"old"替换为"new"

第九章进程管理

1.进程基础

(1)ps aux或ps -elf获取快照

(2)top命令动态获取系统信息(前5行)

(3)uptime 命令可以获取当前启动时间和负载信息

(4)w 命令可以获取 top 前 3 行

2. at和batch

(1)配置文件:/etc/at.allow /etc/at.deny

(1) ps aux 或 ps -elf 命令可以获取系统进程的快照信息,包括进程ID、用户、CPU和内存占用等。
(2) top 命令可以动态显示系统信息,前5行包括系统负载、正在运行的进程数、CPU使用情况、内存使用情况等。

(2)at 时间:at now +5 minutes, at now +3 days, at 23:00 2021-11-20, at midnight 2021-11-11

(1) /etc/at.allow 和 /etc/at.deny 是at任务的配置文件,可以控制哪些用户可以使用at命令。
(2) at 命令可以指定在未来某个时间执行任务,支持多种时间格式,如:
- at now +5 minutes: 5分钟后执行
- at now +3 days: 3天后执行
- at 23:00 2021-11-20: 2021年11月20日23点执行
- at midnight 2021-11-11: 2021年11月11日午夜执行


(3)atq命令:查询当前at任务

atq 命令可以查询当前at任务队列。

(4)atrm jobno:删除at任务

atrm jobno 命令可以删除指定at任务。

(5)batch命令不需要指定具体时间,其他与at一样

batch 命令与at类似,但不需要指定具体时间,系统会在负载较低时执行。

3. crontab命令

(1)配置文件:/etc/cron.allow /etc/cron.deny /etc/crontab

/etc/cron.allow:
这个文件控制哪些用户可以使用 crontab 命令来设置计划任务。
如果这个文件存在,只有被列在这个文件中的用户才能使用 crontab。
如果这个文件不存在,则所有用户都可以使用 crontab。
/etc/cron.deny:
这个文件控制哪些用户不能使用 crontab 命令来设置计划任务。
如果这个文件存在,被列在这个文件中的用户将不能使用 crontab。
如果这个文件不存在,所有用户都可以使用 crontab。
/etc/crontab:
这是系统级的 crontab 文件,里面定义了系统级的计划任务。
这个文件的格式与用户级的 crontab 文件格式相同,每一行代表一个计划任务。
与用户级 crontab 文件不同的是,这个文件还有一个额外的字段,用于指定任务应该由哪个用户执行。

(2)crontab -e命令:编辑当前用户的计划任务

5. 启动/重启/停止服务

service network start/restart/stop或者服务程序绝对地址+start/restart/stop。

service network start: 启动网络服务
service network restart: 重启网络服务
service network stop: 停止网络服务
这里的 network 可以替换为其他服务名称,比如 httpd(Apache HTTP 服务)、mysqld(MySQL 服务)等。
/usr/sbin/httpd start: 启动 Apache HTTP 服务
/usr/sbin/httpd restart: 重启 Apache HTTP 服务
/usr/sbin/httpd stop: 停止 Apache HTTP 服务
这种方法直接使用服务程序的绝对路径来操作服务,适用于任何服务。

第十章Shell编程

1.shell基础

(1)echo命令:-e -n:显示内容不换行

echo 命令用于在终端输出文本信息。
常用选项:
-e:启用转义字符,如 \n 换行, \t 制表符等。
-n:不换行输出,即不自动在输出后添加换行符。echo "Hello, World!"  # 输出 Hello, World!
echo -e "Hello\nWorld" # 输出两行
echo -n "No newline"  # 输出 No newline (没有换行)

(2)重定向

>:以覆盖方式将输出重定向至文件

>>:以追加方式将输出重定向至文件

echo "This is a test" > test.txt # 将输出写入 test.txt 文件
echo "Appending to file" >> test.txt # 追加内容到 test.txt 文件

(3)管道符 |

管道符用于将一个命令的输出作为另一个命令的输入。

管道的基本语法:
命令1 | 命令2
示例:
ls -l | grep "file" # 列出当前目录下包含 "file" 的文件信息
cat file1.txt file2.txt | wc -l # 统计 file1.txt 和 file2.txt 的总行数
管道可以连接多个命令,实现复杂的操作:
ls *.txt | xargs rm -f # 删除当前目录下所有 .txt 文件

2.变量定义

(1)注意事项:=两边不能有空格;默认为字符串类型;如果有两个单词以上可以使用“”或’’引起来,“”里边特殊字符有固定含义,如$ ! . \ * 等,‘’里面均为普通字符。``反引号可以引用系统命令。

变量名和等号之间不能有空格
默认变量类型为字符串
使用双引号或单引号引用含有多个单词的变量
双引号中的特殊字符如 $ ! . \ * 等有特殊含义
单引号中的特殊字符视为普通字符
反引号 `` 可以引用系统命令的输出

(2)echo输出

name="John Doe"
echo $name # 输出 John Doe
echo "$name" # 输出 John Doe

(3)unset删除变量

unset name # 删除 name 变量

(3)环境变量:export关键字,建议变量名字全部大写字母,env查看,unset删除。

使用 export 关键字定义环境变量
环境变量名建议全部大写
env 命令可查看所有环境变量
unset 可删除环境变量

(4)预定义变量、位置参数变量

$0 表示脚本名称
$1, $2, $3... 表示脚本的位置参数变量

3.数值计算

(1)双小括号$(()):语法最松散,*等符号无需转义,运算符两侧空格可有可无,小括号头尾空格可有可无,变量引用时$符号可有可无,如a=11;b=22;c=$(( a + b )),与$[]功能相同。

a=11
b=22
c=$((a + b)) # c=33

(2)let:功能等同于双小括号,变量前可以不加$,=和其他运算符之间不能有空格。如let c=a+b,let c=$a+2

let c=a+b # c=33
let c=$a+2 # c=13

(3)expr命令:*等特殊符号必须转义(\*),运算符两边必须有空格,引用变量必须加$

c=$(expr $a + $b) # c=33
d=$(expr 5 \* 6) # d=30

4. 实例

(1)判断一个数是否为整数

#!/bin/bash# 获取用户输入
read -p "请输入一个数字: " num# 判断输入是否为整数
if [[ "$num" =~ ^[0-9]+$ ]]; thenecho "$num 是整数"
elseecho "$num 不是整数"
fi

(2)判断参数的个数

#!/bin/bash# 判断参数个数
if [ "$#" -eq 0 ]; thenecho "没有传入任何参数!"
elif [ "$#" -eq 1 ]; thenecho "只传入了一个参数: $1"
elseecho "传入了 $# 个参数:"for arg in "$@"; doecho "- $arg"done
fi

(3)比较两个参数的大小

#!/bin/bash# 检查参数个数
if [ "$#" -ne 2 ]; thenecho "请提供两个参数进行比较!"exit 1
fi# 获取参数值
num1="$1"
num2="$2"# 比较大小
if [ "$num1" -eq "$num2" ]; thenecho "$num1 等于 $num2"
elif [ "$num1" -gt "$num2" ]; thenecho "$num1 大于 $num2"
elseecho "$num1 小于 $num2"
fi

(4)计算1+2+3+…+n.的和

n=100
sum=0
for ((i=1; i<=n; i++)); dosum=$((sum + i))
done
echo "The sum is: $sum" # 输出 5050

(5)计算n的阶乘。

n=5
fact=1
for ((i=1; i<=n; i++)); dofact=$((fact * i))
done
echo "$n! = $fact" # 输出 5! = 120

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

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

相关文章

CesiumJS【Basic】- #011天气特效

文章目录 天气特效1 目标2 实现2.1 Weather.ts2.2 main.ts天气特效 1 目标 用着色器实现 - 白天 - 多云 - 雾 - 雨 - 雪 2 实现 在Cesium version 1.118.1中,默认是gles 3.0的语法,以前的gl_FragColor、varying和texture2D无法继续使用 2.1 Weather.ts import * as Ces…

面试-synchronized(java5以前唯一)和ReentrantLock的区别

1.ReentrantLock&#xff08;再入锁&#xff09;&#xff1a; (1).在java.util.concurrent.locks包 (2).和CountDownLatch,FutureTask,Semaphore一样基于AQS实现。 AQS:AbstractQueuedSynchronizer 队列同步器。Java并发用来构建锁或其他同步主键的基础框架&#xff0c;是j.u.c…

【金】04Y? 人脸识别系统 | 前端PyQT

参考-教程bilibil视频&#xff1a;树莓派进阶玩法 | 人脸识别项目教程 界面参考&#xff1a;基于深度学习的人脸识别与管理系统&#xff08;UI界面增强版&#xff0c;Python代码&#xff09;_python管理系统深度学习-CSDN博客 1、 树莓派小项目&#xff1a;人脸识别&#xff…

全面掌握 Jackson 序列化工具:原理、使用与高级配置详解

全面掌握 Jackson 序列化工具:原理、使用与高级配置详解 Jackson 是一个功能强大的 JSON 处理库,广泛应用于 Java 项目中。它提供了丰富的功能和灵活的配置选项,可以轻松地在 Java 对象和 JSON 数据之间进行转换。本文将详细介绍 Jackson 的核心概念、基本用法、高级配置及…

常用的 js 代码片段

常用的 js 代码片段 1. 不使用临时变量交换两个变量2. 浅克隆对象3. 合并对象3. 过滤数组中的假值5. NodeList 转换为数组6. 数组去重7. 两数组的交集8. 两数组的差集9. 两数组的并集10. 数组求和11. 对象数组指定属性求和12. 对象的计算属性13. 检查联网状态14. URL 的查询参数…

如何使用命令提示符查询电脑相关序列号等信息的操作方法

如何使用命令提示符查询硬盘的序列号&#xff1f; 如果出于保修或其他目的&#xff0c;你想知道硬盘驱动器的序列号&#xff0c;你不想使用第三方应用程序&#xff0c;或者如果你更喜欢命令行方法&#xff0c;则可以使用带有命令提示符的命令来显示硬盘驱动器的序列号。 1. 按…

渗透测试之内核安全系列课程:Rootkit技术初探(六)

今天&#xff0c;我们来讲一下内核安全&#xff01; 本文章仅提供学习&#xff0c;切勿将其用于不法手段&#xff01; 目前&#xff0c;在渗透测试领域&#xff0c;主要分为了两个发展方向&#xff0c;分别为Web攻防领域和PWN&#xff08;二进制安全&#xff09;攻防领域。在…

用python写出银行管理系统

1 问题 怎么利用已学的python知识简单写出一个银行管理系统&#xff0c;且编写出开户、查询、取款、存款、转账和管理员登录等功能。 2 方法 使用def定义函数、while循环函数、if函数和import函数并带上一些简单的逻辑思维便可以轻松解决这个看似困难实则简单的程序。 # 1.开…

BAT 利用BAT替换SQL文件中的参数成为可执行SQL文件

1. BAT文件 将下面的代码保存成“01_ExeSqlCre.bat”文件。 echo off SETLOCAL ENABLEDELAYEDEXPANSIONIF EXIST %~dp0\10_Program_Exec.sql (DEL /Q %~dp0\10_Program_Exec.sql )CHCP 65001 FOR /F "EOL. TOKENS* DELIMS" %%a IN (dir /a /b *.sql) DO (FOR /F &q…

ACIS中如何求点在FACE参数域内的坐标

1. 点在 FACE 上 如果点在FACE上&#xff0c;可以采用surface的直接接口&#xff1a;surface::param、surface::test_point和surface::test_point_tol。 virtual SPApar_pos surface::param ( const SPAposition & pos, const SPApar_pos & param_guess SpaAcis::…

【SQL Server数据库】数据的增删改操作

目录 一、用SQL语句完成下列功能。 1、新开设一门课程&#xff0c;名叫网络安全与防火墙&#xff0c;学时40&#xff0c;编号为“0118”&#xff0c;主要介绍网络的安全与主要的防火墙软件。 2、先建立monitor表&#xff0c;其结构与student表大致一样&#xff0e;…

华为仓颉编程语言观感

这里写自定义目录标题 相似点&#xff08;主要与Swift进行对比&#xff09;不同点亮点 花了半天时间&#xff0c;对华为新出的仓颉编程语言做了简单的了解&#xff0c;整体观感如下&#xff1a; 仓颉语言看起来是一门大而全的语言&#xff0c;吸纳了现存的很多中编程语言的范式…

图书管理系统(详解版 附源码)

目录 项目分析 实现页面 功能描述 页面预览 准备工作 数据准备 创建数据库 用户表 创建项目 导入前端页面 测试前端页面 后端代码实现 项目公共模块 实体类 公共层 统一结果返回 统一异常处理 业务实现 持久层 用户登录 用户注册 密码加密验证 添加图书…

Cesium默认bing地图数据,还支持哪些地图的数据源呢?

传统的前端开发增长乏力了&#xff0c;新兴的web3D方向前端开发需求旺盛&#xff0c;这一块在国外很成熟&#xff0c;在国内兴起不久&#xff0c; 甚至很多前端老铁都没听过&#xff0c;没见过&#xff0c;没有意识到&#xff0c;前端除了框架、vue、uniapp这些烂大街的&#x…

黑马苍穹外卖7 用户下单+订单支付(微信小程序支付流程图)

地址簿 数据库表设计 就是基本增删改查&#xff0c;与前面的类似。 用户下单 用户点餐业务流程&#xff1a; 购物车-订单提交-订单支付-下单成功 展示购物车数据&#xff0c;不需要提交到后端 数据库设计&#xff1a;两个表【订单表orders&#xff0c;订单明细表order_d…

cnpm run dev 报错 Error: Cannot find module ‘fs/promises’

主要原因是babel版本冲突 卸载以下依赖可以解决问题&#xff1a; 之后重新安装babel-loader依赖 可能会报以下错误&#xff1a; 接着安装babel-core依赖 项目顺利启动

【启明智显分享】低成本RISC-V工业级HMI方案推荐

伴随着工业4.0的迅猛发展&#xff0c;工业HMI以方便、快捷的特点逐渐成为工业的日常应用&#xff0c;成为备受追捧的全新多媒体交互设备。 什么是工业HMI&#xff1f;工业HMI是用于工业自动化系统中的人机交互界面&#xff0c;通常由触摸屏、按钮、指示灯、显示器等组成&#…

如何正确使用C#短信接口发送招生短信

群发短信对教育机构来讲虽然是个不错的招生工具,但怎么使用决定着生源转化效率,如果是为了单纯的发短信而发短信效率当然不好,那么如何正确使用招生群发短信呢?技巧才是关键! 教育短信发送较多的就是招生群发短信内容,而运营商对教育行业内容审核一般比较严格,需要短信公司特殊…

新媒体矩阵系统是什么?怎么搭建矩阵系统?

目录 前言&#xff1a; 一、新媒体矩阵分别是什么&#xff1f; 1、横向矩阵 2、 纵向矩阵 二、新媒体矩阵的作用&#xff1f; 1、多元化发展&#xff0c;吸引目标 2、多平台协同&#xff0c;放大宣传效果 3、多平台运营&#xff0c;分散风险 三、怎么做矩阵系统&…

【摄像头标定】双目摄像头标定及矫正-opencv(python)

双目摄像头标定及矫正 棋盘格标定板标定矫正 棋盘格标定板 本文使用棋盘格标定板&#xff0c;可以到这篇博客中下载&#xff1a;https://blog.csdn.net/qq_39330520/article/details/107864568 标定 要进行标定首先需要双目拍的棋盘格图片&#xff0c;20张左右&#xff0c;…