centos常用知识和命令
linux目录及结构
/etc #存配置文件
/var #存日志文件
/home #用户家目录
/root #root用户家目录
/bin #命令文件目录
/sbin #超级管理员命令目录
/dev #设备文件目录
/boot #系统启动核心目录
/lib #库文件目录
/mnt #挂载目录
/tmp #临时文件目录
/usr #用户程序存放目录
命令入门
-
uname 查看系统信息
[root@localhost /]# uname #查看系统信息 [root@localhost /]# uname #查看系统信息包括内核
-
ls列出文件命令
[root@localhost /]# ls -h #以便于阅读的形式列出文件信息 [root@localhost /]# ls -l #以列表的形式列出文件信息 [root@localhost /]# ls -a #列出文件所有信息,包括隐藏文件 [root@localhost /]# ls /tmp #列出tmp下所有文件信息
-
pwd 打印当前目录
[root@localhost /]# pwd #获取当前在哪个目录下
-
cd 目录切换
[root@localhost /]# cd / #切换到根目录 [root@localhost /]# cd ../ #切换到上一级目录 [root@localhost /]# cd test #切换到当前目录下的test目录
-
clear 清空屏幕
[root@localhost /]# clear #清空当前屏幕信息
-
whoami 打印当前用户
[root@localhost /]# whoami #打印当前是哪个用户
-
reboot 重启
[root@localhost /]# reboot #重启系统命令
- shutdown 关机
[root@localhost /]# shutdown #重启系统命令,默认是60s后关机 [root@localhost /]# shutdown now #立即关机 [root@localhost /]# shutdown -h 20 #20分钟后关机 [root@localhost /]# shutdown -c #取消系统关机
-
type 查看命令是内部命令还是外部命令
[root@localhost /]# type cd #查看cd命令是内部命令还是外部命令 cd 是 shell 内嵌 [root@localhost /]# type ping #查看ping是内部命令还是外部命令 ping 是 /usr/bin/ping
-
history 查看历史命令
[root@localhost /]# history
-
hostnamectl 更改主机名
[root@localhost /]# hostnamectl set-hostname localhost #更改主机名为localhost
命令帮助
[root@localhost /]# help cd #查看内嵌命令帮助,这里的cd的是命令
[root@localhost /]# ping --help #查看外部命令帮助,这里的ping是命令
目录文件相关命令
-
创建目录 mkidr
[root@localhost tmp]# mkdir test #在当前目录下创建一个名为test的目录 [root@localhost /]# mkdir /tmp/test1 #用绝对路径的方式创建目录 [root@localhost tmp]# mkdir test2 test3 #同时创建 test2和test3目录 [root@localhost tmp]# mkdir test{4..6} #创建test4和test5和test6目录,{这里面表示有规律的新增} [root@localhost tmp]# mkdir -p a/b/c #在当前目录下递归创建 a/b/c目录
-
删除目录 rmdir(必须是空目录)
[root@localhost tmp]# rmdir test6 #删除test6目录 [root@localhost tmp]# rmdir -p a/b/c #递归删除a/b/c空目录
-
文件创建 touch
[root@localhost tmp]# touch 1.txt #创建1.txt文件 [root@localhost tmp]# touch 2.txt 3.txt #同时创建多个目录 [root@localhost tmp]# touch {4..6}.txt #有规律的创建多个目录
-
文件删除
[root@localhost tmp]# rm 1.txt #删除文件 rm:是否删除普通空文件 "1.txt"?y [root@localhost tmp]# rm -f 2.txt #忽略提示直接删除文件,-f忽略提示 [root@localhost tmp]# rm -rf test #递归删除test目录及test目录下所有文件,-r 表示递归,-f忽略提示 [root@localhost tmp]# rm -rf *.txt #删除当前目录下所有以txt结尾的文件,这里的*表示任意多个字符
-
复制操作
[root@localhost tmp]# cp test1 / #将test1目录拷贝到根目录下,拷贝文件也是一样的操作 [root@localhost tmp]# cp test1 /test2 #拷贝并重命名
-
剪切操作
[root@localhost tmp]# mv test1 / #将test1目录剪切到根目录下,剪切文件也是一样的操作 [root@localhost tmp]# mv test1 /test2 #剪切并重命名
-
打包操作与解压操作
[root@localhost tmp]# touch 1.txt 2.txt 3.txt #先创建三个文件准备打包 [root@localhost tmp]# tar -cvf 123.tar 1.txt 2.txt 3.txt #将1.txt 2.txt 3.txt打包成123.tar,-c表示打包,-f表示文件名,-v显示打包进度 [root@localhost tmp]# tar -xvf 123.tar #将文件解压到当前目录######下面是.gz文件打包和解压 tar -zcf 名称.tar.gz 要打包的文件 #打包 tar -zxf 名称.tar.gz #解压
-
查看文件命令
cat 1.txt #查看文件 tail -n 5 1.txt #查看最后5行 tail -f 1.txt #动态监听文件变化 head -n 5 1.txt #查看文件前5行 less 1.txt #查看大文件
-
wc 命令统计文件行数,单词数,字节数
wc -l 1.txt #统计行数 wc -w 1.txt #统计单词数 wc -c 1.txt #统计字节数
-
du 统计文件或文件夹大小
du -s 1.txt #总大小 du -sh 1.txt #以便于阅读的形式统计
-
find 查找文件命令
find /tmp -name 1.txt #查询/tmp下名为1.txt的文件,-name按名称查 find /tmp -type f #查询/tmp下类型为普通文件的文件 find /tmp -size +1M #查询/tmp下大于1M的文件
-
grep 过滤命令
grep -n root /etc/passwd #查询/etc/passwd文件有包含root的行,并显示行号 -n表示显示行号
-
echo 标准输出,在终端中输入指定的内容,并输出
echo "hello word" #输出hello word
-
> 或 >> 重定向
“>” 标准输出重定向:覆盖输出,会覆盖原先的文件内容
“>>”追加重定向:追加输出,不会覆盖原始文件内容,只会在原始内容末尾继续添加
echo "hello word" > a.txt #输出heloo word 到a.txt文件,会覆盖原来的内容 echo "hello word" >> a.txt #追加heloo word 到a.txt文件,不会覆盖原来的内容
-
ln 建立软链接
软链接会产生新的inode和block,而硬链接不会
软链接可以链接目录,而硬链接只能链接文件
软链接源文件被删除软链接无法找到,而硬链接不会
ln -s /tmp/pass /opt/pass_soft #为/tmp/pass文件建立一个/opt/pass_soft的软链接 ln /tmp/pass /opt/pass #为/tmp/pass文件建立一个/opt/pass的硬链接
文件管理vim
vim有4种模式
- 命令行模式,默认使用vim进入的是命令行模式
- 编辑模式,输入i或者a从命令行模式进入编辑模式,按esc键退回命令行模式
- 末行模式:输入: 冒号进入末行模式,末行模式可以按wq保存退出,q!不保存退出,按两下esc键退回命令行模式
- 可视化模式,可以进行复制粘贴,和批量注释等操作
命令行模式下的常用操作
gg #定位到首行
GG #定位到末行
4G #定位到第4行
yy #复制当前行
p #粘贴到下一行
dd #剪切或删除当前行
末行模式下常用操作
#按:冒号进入末行模式
:wq #保存退出
:q! #不保存退出
:set nu #显示行号
:set nonu #取消显示行号
:s/c/3 #替换当前行第一个c字符替换为3 s表示替换当前行 c要被替换的字符 3替换后的字符
:s/c/3/g #替换当前行所有c字符替换为3 s表示替换当前行 c要被替换的字符 3替换后的字符 g表示所有
:%s/c/3/g #替换整个文档所有c字符替换为3 %s表示替换整个文档 c要被替换的字符 3替换后的字符 g表示所有
/abc #查找abc字符,按n向下查找,按N向上查
用户和用户组管理
linux系统可以有多个用户同时登录,一个用户有一个主组和多个副组,用户拥有主组和副组的权限
-
用户组操作
groupadd g1 #新增一个叫g1的用户组 groupadd -g 1002 g2 #新增一个编号为1002 的g2用户组 tail -5 /etc/group #查看用户组 groupmod -n g3 g1 #把g1用户组改名为g3
-
用户操作
useradd u1 #创建u1用户 useradd -g g2 u2 #创建u2用户并添加到g2组 usermod -g g2 u1 #修改u1的主组为g2 usermod -l u3 u1 #将用户u1改名为u3 id u1 #查看u1的信息 cat /etc/passwd #每创建一个用户都会在/etc/passwd文件添加一行信息
-
用户文件信息
cat /etc/group #查看用户组 cat /etc/passwd #查看用户 cat /etc/shadow #用户密码文件
-
设置用户密码
passwd u2 #设置u2密码,按提示操作echo "123" | passwd --stdin u2 #将u2密码设置为123
-
切换用户
su u2 #切换到u2用户
-
wheel组
只有wheel组中的用户,才可以通过su命令切换到root账户,默认wheel组不生效,需要配置开启wheel组
vim /etc/pam.d/su #编辑切换用户的配置文件#%PAM-1.0 auth sufficient pam_rootok.so # Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. auth required pam_wheel.so use_uid #将这一行注释打开则为wheel组才能切换用户操作 auth substack system-auth auth include postlogin account sufficient pam_succeed_if.so uid = 0 use_uid quiet account include system-auth password include system-auth session include system-auth session include postlogin session optional pam_xauth.so
-
用户删除
userdel u1 #删除u1用户但不删除u1的家目录 userdel -r u2 #删除u2用户同时删除u2的家目录
权限管理
权限基本概念
drwxr-xr-x. 2 root root 6 10月 3 10:42 test1
drwxr-xr-x #第一位表示文件类型,d为目录,-为普通文件#第2,3,4表示所属用户的权限#第5,6,7表示所属用户组的权限#第8,9,10表示其他用户权限
#第一个root表示所属root用户
#第二个root表示所属root用户组d表示目录
r可读 4
w可写 2
x可执行 1
linux的文件类型
-: 普通文件
d:目录文件
s:套接字文件
l:链接文件
c:字符设备文件
p:管道文件
b:block,块设备文件
chmod 修改文件权限
chmod -R u+x test #对test及test下的文件的所属用户添加可执行权限,-R表示递归,一般用于目录
chmod -R g+x test #对test及test下的文件的所属用户组添加可执行权限,-R表示递归,一般用于目录
chmod -R o+x test #对test及test下的文件的其他用户添加可执行权限,-R表示递归,一般用于目录
chmod 777 test #对test目录的用户及所属组及其他用户的权限设为可读可写可执行
chown 修改文件所属用户和所属组
chown root:user01 a.txt #将 a.txt文件的所属用户改为root,所属组为user01
特殊权限suid
只能设置在可执行文件上,任何人执行可执行文件都可以拥有该文件所属用户的权限
chmod u+s /usr/bin/cat #为cat命令添加suid权限chmod u-s /usr/bin/cat #取消suid权限
特殊权限sgid
SGID 属性可运用于文件或者目录,运用该文件可拥有可属组权限
chmod g+s /tmp/dir_sgid #添加sgid权限chmod g-s /tmp/dir_sgid #取消sgid权限
特殊权限sticky
sticky 权限只能运用于目录上,限制普通用户在此目录下只能删除自己的文件
chmod o+t /tmp/dir_sticky #添加sticky权限
chmod o-t /tmp/dir_sticky #取消sticky权限
通信IP配置
ifconfig #查看IP信息
配置静态IP,配置后需要重启网络 systemctl restart network
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #类型Internet
BOOTPROTO=none #IP的获取方式 none静态IP
IPADDR=192.168.10.128 #设置的静态IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.10.254 #网关
DNS1=114.114.114.114 #dns解析服务器
DNS2=8.8.8.8 #dns解析服务器
DEVICE=ens33 #网卡设备名
ONBOOT=yes #开机自启
配置动态ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=dhcp #ip获取方式为动态获取
DEVICE=ens33
ONBOOT=yes
安装软件包的几种方式
通过源码编译安装
通过官网下载*.tar.gz文件
解压 tar -zxvf 文件
./configure 配置安装路径
make 编译
make install 安装
通过RPM安装
rpm -qa |grep firefox #查询firefox,-q表示查询,-a表示所有
rpm -ivh 软件包的名称.rpm #安装rmp,需要从官网下载上传到服务器,-i表示安装 -v表示显示进度 -h表示以#显示进度
rpm -e 软件名称 #卸载软件包,后面加--nodeps 表示强制卸载
rpm -Uvh firefox-91.11.0-2.el7.centos.x86_64.rpm #软件升级
通过yum 安装
yum的主配置文件在/etc/yum.conf,yum的子配置文件的路径在/etc/yum.repos.d/ 以.repo结尾的文件
yum安装直接使用
yum -y install 软件包
配置网络yum源
进入阿里云的镜像官网,找到指定的网络yum源的下载路径,https://developer.aliyun.com/mirror/
下载网络yum源配置文件到指定的/etc/yum.repos.d/ 路径下
yum clean all #清理缓存
配置本地yum源
必须配置本地yum仓库
yum的子配置文件必须是以.repo结尾的文件(/etc/yum.repos.d)
准备本地仓库
mkdir /mnt/iso
mount /dev/sr0 /mnt/iso
###### 配置本地源
cat > /etc/yum.repos.d/iso.repo << EOF
[iso]
name=centos7
baseurl=file:///mnt/iso #表示从本地的/mnt/iso仓库下载
enabled=1
gpgcheck=0
EOF
#备份原有的yum子配置文件mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/# 清理yum源,并建立元数据缓存yum clean all yum makecache fast
进程管理
进程就是一个运行中的程序,每个进程的数据互不影响,一个进程可以有多个线程,多个线程共享进程的资源
进程管理命令
ps 命令查看
ps -e #查看所有进程
ps -ef #输出全格式
ps -a #显示现行终端机下的所有进程
top命令动态查进程
top # -p 可以查看指定pid的进程# -c 显示命令参数# -u 显示指定用户
top 运行中界面中,按钮
1 显示所有CPU占用情况
P 以 CPU 占用率大小的顺序排列进程列表
M 以内存占用率大小的顺序排列进程列表
n 设置在进程列表所显示进程的数量
q 退出 top
netstat命令和ss命令
两个命令一样,ss比较快
netstat -r # 显示:本机路由表netstat -tunp # 显示:网络连接,即:socket网络套接字netstat -tunlp # 显示:侦听端口,即:socket网络套接字 -t表示tcp ; -u 表udp ; -l 表示监听端口 ;
lsof命令列出进程打开的文件
lsof -u user01 #以user01用户身份运行的进程所打开的文件
lsof -i:22 #列出:指定port端口的进程信息
控制进程前台、后台运行
ctrl + z 将正在执行的任务暂停放入后台
jobs -l 查看后台任务
fg 任务编号 将任务调回前台
bg 任务编号 在后台继续运行任务
将进程放入后台运行并脱离终端
语法:
nohup 命令 &
杀死进程的方式
kill -9 进程id #根据进程id杀死进程pkill -9 httpd #根据命令名杀死进程
调整进程的优先级
renice -10 1220 #renice调整优先级,-10表示优先级 1220是进程id
nice -n -15 crond #nice调整优先级 -15表示优先级 crond是进程名
相关文章:
centos常用知识和命令
linux目录及结构 /etc #存配置文件 /var #存日志文件 /home #用户家目录 /root #root用户家目录 /bin #命令文件目录 /sbin #超级管理员命令目录 /dev #设备文件目录 /boot #系统启动核心目录 /lib #库文件目录 /mnt #挂载目录 /tmp #临时文件目录 /usr #用户程序存…...
基于yolov8调用本地摄像头并将读取的信息传入jsonl中
最近在做水面垃圾识别的智能船 用到了yolov8进行目标检测 修改并添加了SEAttention注意力机制 详情见其他大神 【保姆级教程|YOLOv8添加注意力机制】【1】添加SEAttention注意力机制步骤详解、训练及推理使用_yolov8添加se-CSDN博客 并且修改传统的iou方法改为添加了wise-io…...
Linux中的进程间通信之管道
管道 管道是Unix中最古老的进程间通信的形式。 我们把从一个进程连接到另一个进程的一个数据流称为一个“管道” 匿名管道 #include <unistd.h> 功能:创建一无名管道 原型 int pipe(int fd[2]); 参数 fd:文件描述符数组,其中fd[0]表示读端, fd[1]表示写端 …...
【Vue】vue2项目打包后部署刷新404,配置publicPath ./ 不生效问题
Vue Router mode,为 history 无效,建议使用默认值 hash;...
【PyTorch】生成对抗网络
生成对抗网络是什么 概念 Generative Adversarial Nets,简称GAN GAN:生成对抗网络 —— 一种可以生成特定分布数据的模型 《Generative Adversarial Nets》 Ian J Goodfellow-2014 GAN网络结构 Recent Progress on Generative Adversarial Networks …...
Vue3轻松实现前端打印功能
文章目录 1.前言2.安装配置2.1 下载安装2.2 main.js 全局配置3.综合案例3.1 设置打印区域3.2 绑定打印事件3.3 完整代码4.避坑4.1 打印表格无边框4.2 单选框复选框打印不选中4.3 去除页脚页眉4.4 打印內容不自动换行1.前言 vue3 前端打印功能主要通过插件来实现。 市面上常用的…...
SHA-1 是一种不可逆的、固定长度的哈希函数,在 Git 等场景用于生成唯一的标识符来管理对象和数据完整性
SHA-1 (Secure Hash Algorithm 1) 是一种加密哈希函数,它能将任意大小的数据(如文件、消息)转换为一个固定长度的 160 位(20 字节)哈希值。这种哈希值通常以 40 个十六进制字符的形式表示,是数据的“指纹”…...
Activiti7 工作流引擎学习
目录 一. 什么是 Activiti 工作流引擎 二. Activiti 流程创建步骤 三. Activiti 数据库表含义 四. BPMN 建模语言 五. Activiti 使用步骤 六. 流程定义与流程实例 一. 什么是 Activiti 工作流引擎 Activiti 是一个开源的工作流引擎,用于业务流程管理…...
pytorch使用LSTM模型进行股票预测
文章目录 tushare获取股票数据数据预处理构建模型训练模型测试模型tushare获取股票数据 提取上证指数代码为603912的股票:佳力图,时间跨度为2014-01-01到今天十年的数据。 import tushare as ts pro = ts.pro_api()#准备训练集数据df = ts.pro_bar(ts_code=603912.SH, star…...
掌握 C# 异常处理机制
在任何编程语言中,处理错误和异常都是不可避免的。C# 提供了强大的异常处理机制,可以帮助开发者优雅地捕获和处理程序中的异常,确保程序的健壮性和可靠性。本文将带你了解 C# 中的异常类、try-catch 语句、自定义异常以及 finally 块的使用。…...
【Redis】Redis Cluster 简单介绍
Redis Cluster 是 Redis 3.0 提供的一种分布式解决方案, 允许数据在多个节点之间分散存储, 从而实现高可用性和可扩展性。 特点: 分片: Redis Cluster 将数据分散到多个节点, 通过哈希槽 (hash slots) 机制将键映射到不同的节点上。总共有 16384 个哈希槽, 每个节点负责一部分…...
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000010 案列 EXCEL单元格格式。EXCEL文本型和常规型转…...
golang grpc进阶
protobuf 官方文档 基本数据类型 .proto TypeNotesGo Typedoublefloat64floatfloat32int32使用变长编码,对于负值的效率很低,如果你的域有可能有负值,请使用sint64替代int32uint32使用变长编码uint32uint64使用变长编码uint64sint32使用变长…...
Java JUC(三) AQS与同步工具详解
Java JUC(三) AQS与同步工具详解 一. ReentrantLock 概述 ReentrantLock 是 java.util.concurrent.locks 包下的一个同步工具类,它实现了 Lock 接口,提供了一种相比synchronized关键字更灵活的锁机制。ReentrantLock 是一种独占…...
使用rust写一个Web服务器——async-std版本
文章目录 实现异步代码并发地处理连接使用多线程提升性能 使用rust实现一个异步运行时是async-std的单线程Web服务器。 仓库地址: 1037827920/web-server: 使用rust编写的简单web服务器 (github.com) 在之前的单线程版本的Web服务器代码上进行修改,具体…...
C语言复习概要(一)
本文 C语言入门详解:从基础概念到分支与循环1. C语言常见概念1.1 程序的基本结构1.2 变量作用域和存储类1.3 输入输出1.4 编译与运行 2. C语言中的数据类型和变量2.1 基本数据类型2.2 变量的声明与初始化2.3 常量与枚举 3. C语言的分支结构3.1 if语句3.2 if-else语句…...
二、kafka生产与消费全流程
一、使用java代码生产、消费消息 1、生产者 package com.allwe.client.simple;import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.clients.pr…...
本地搭建OnlyOffice在线文档编辑器结合内网穿透实现远程协作
文章目录 前言1. 安装Docker2. 本地安装部署ONLYOFFICE3. 安装cpolar内网穿透4. 固定OnlyOffice公网地址 前言 本篇文章讲解如何使用Docker在本地Linux服务器上安装ONLYOFFICE,并结合cpolar内网穿透实现公网访问本地部署的文档编辑器与远程协作。 Community Editi…...
ScrapeGraphAI 大模型增强的网络爬虫
在数据驱动的动态领域,从在线资源中提取有价值的见解至关重要。从市场分析到学术研究,对特定数据的需求推动了对强大的网络抓取工具的需求。 NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线…...
PDF转换为TIF,JPG的一个简易工具(含下载链接)
目录 0.前言: 1.工具目录 2.工具功能(效果),如何运行 效果 PDF转换为JPG(带颜色) PDF转换为TIF(LZW形式压缩,可以显示子的深浅) PDF转换为TIF(CCITT形…...
Wireshark 解析QQ、微信的通信协议|TCP|UDP
写在前面 QQ,微信这样的聊天软件。我们一般称为im,Instant Messaging,即时通讯系统。那大家会不会有疑问,自己聊天内容会不会被黑客或者不法分子知道?这种体量的im是基于tcp还是udp呢?这篇文章我们就来探索…...
网络编程(5)——模拟伪闭包实现连接的安全回收
六、day6 今天学习如何利用C11模拟伪闭包实现连接的安全回收,之前的异步服务器为echo模式,但存在安全隐患,在极端情况下客户端关闭可能会导致触发写和读回调函数,二者都进入错误处理逻辑,进而造成二次析构。今天学习如…...
C#绘制动态曲线
前言 用于实时显示数据动态曲线,比如:SOC。 //用于绘制动态曲线,可置于定时函数中,定时更新数据曲线 void DrawSocGraph() {double f (double)MainForm.readData[12]; //display datachart1.Series[0].Points.Add(f);if (ch…...
用Python实现运筹学——Day 10: 线性规划的计算机求解
一、学习内容 1. 使用 Python 的 scipy.optimize.linprog 进行线性规划求解 scipy.optimize.linprog 是 Python 中用于求解线性规划问题的函数。它实现了单纯形法、内点法等算法,能够处理求解最大化或最小化问题,同时满足线性约束条件。 线性规划问题的…...
[C++]使用C++部署yolov11目标检测的tensorrt模型支持图片视频推理windows测试通过
官方框架: https://github.com/ultralytics/ultralytics yolov8官方最近推出yolov11框架,标志着目标检测又多了一个检测利器,于是尝试在windows下部署yolov11的tensorrt模型,并最终成功。 重要说明:安装环境视为最基…...
霍夫曼树及其与B树和决策树的异同
霍夫曼树是一种用于数据压缩的二叉树结构,通常应用于霍夫曼编码算法中。它的主要作用是通过对符号进行高效编码,减少数据的存储空间。霍夫曼树在压缩领域扮演着重要角色,与B树、决策树等数据结构都有一些相似之处,但又在应用场景和…...
CompletableFuture常用方法
一、获得结果和触发计算 1.获取结果 (1)public T get() public class CompletableFutureAPIDemo{public static void main(String[] args) throws ExecutionException, InterruptedException{CompletableFuture<String> completableFuture Com…...
本地化测试对游戏漏洞修复的影响
本地化测试在游戏开发的质量保证过程中起着至关重要的作用,尤其是在修复bug方面。当游戏为全球市场做准备时,它们通常会被翻译和改编成各种语言和文化背景。这种本地化带来了新的挑战,例如潜在的语言错误、文化误解,甚至是不同地区…...
使用rust实现rtsp码流截图
中文互联网上的rust示例程序源码还是太稀少,找资料很是麻烦,下面是自己用业余时间开发实现的一个对批量rtsp码流源进行关键帧截图并存盘的rust demo源码记录。 要编译这个源码需要先安装vcpkg,然后用vcpkg install ffmpeg安装最新版本的ffmpe…...
Cpp::STL—string类的模拟实现(12)
文章目录 前言一、string类各函数接口总览二、默认构造函数string(const char* str "");string(const string& str);传统拷贝写法现代拷贝写法 string& operator(const string& str);传统赋值构造现代赋值构造 ~string(); 三、迭代器相关函数begin &…...
flash网站规划/微博推广
php mail收不到的解决办法:首先使用命令“sudo apt-get install mailutils”安装mailutils;然后打开sendmail的配置宏文件;接着修改内容为“Addr0.0.0.0”;最后测试配置即可。推荐:《PHP教程》解决php mail发送邮件收不…...
大尺度做爰网站在线/上海seo优化bwyseo
当你把文件导入到了这个工程目录下 :项目名称/library/Alipay/openssl ,中间是隔了几个文件夹 的那么在Header Search Paths 的设置就得改为 $(SRCROOT)/library/Alipay/openss,问题就解决了再反过来看官方的demo,原来他们把opens…...
做期货看什么网站/推广网站的公司
oracle没有锁管理器和锁列表,这样可以避免行级锁维护的开销和行级锁数量不足导致的争用问题。在Oracle的每行数据上,都有一个标志位来表示该行数据是否被锁定,要查看某一行是否被锁定,必须直接找到这一行,而不要指望能…...
什么网站做电器出租/百度小说排行榜前十
## log4net * 参考链接:http://www.codeproject.com/Articles/140911/log-net-Tutorial * 上面的链接里的工程里有log4net.dll 添加步骤 新建winform(just for example)在里面添加引用log4net.dll(上面提到的)配置…...
台州黄岩做网站/bing搜索引擎国内版
可更换背景图使用点击上方蓝色字关注我们~怎么制作一个app软件?app制作有多难?因为手机app软件开发涉及众多领域的专业,所以在大家的认知里程序员大佬们开发这件事是个不容易的工作。1过去要开发一个app软件,需要至少5名左右的专业…...
网站建设主机/西安关键词优化排名
1.共用体的基本概念 struct ABC { char a; int b; double c; }; struct ABC a, b[50], *p &a; a.a a.b a.c b[0].a b[0].b b[0].c p->a //p所指向的实例的a成员 p->b p->c 将左边代码中的关键字struct换成关union键字,就形成…...