Linux命令手册

news2024/11/15 13:03:46

简介

Multics(大而全)项目失败,吸取教训启动Unix(小而精),Linus Benedict Torvalds受Unix启发开发初始版本Linux内核,Git也由其开发,目的是为了更好的管理Linux内核开发。Unix是商业软件,Linux是开源软件。

Linux Logo,企鹅

请添加图片描述

Linux的发行版本可以分为两类,一类是商业公司维护的发行版本,以Red Hat Enterprise Linux为代表,一类是社区组织维护的发行版本,以Debian为代表,两者最大的区别是包管理方式。社区中常用的是CentOS和Ubuntu,CentOS为RHEL的社区版本,Ubuntu基于Debian发展而来。

Windows与Linux的区别
文件名、目录名、命令
Windows不区分大小写dir和DIR都行
Linux区分大小写,cd和CD中只有cd行
Linux中硬件被抽象为设备文件,在/dev下
Windows中使用设备管理器管理硬件;

Linux的用户界面不与内核绑定,服务器通常会使用无图形环境的操作系统镜像,Windows用户界面与内核绑定。

UNIX/Linux可以粗糙的分为三层,基础是硬件,第一层是内核,第二层是Shell,第三层是应用层。

安装LInux

虚拟机软件VMware安装linux

VMware网络适配器支持五种网络连接

  1. 桥接模式,虚拟机网卡和宿主机网卡均连接到虚拟机软件提供的VMnet0虚拟交换机上,虚拟机和宿主机地位平等。虚拟机与宿主机处于同一局域网,可以相互ssh登录,虚拟机可连接互联网,可连接路由器下所有机器构成的局域网(举例,路由器A,宿主机B,宿主机C,在宿主机B上创建虚拟机D、E且均使用桥接模式,在宿主机C上创建F、G且均使用桥接模式,则B、C、D、E、F、G地位相等,可互相ssh)

  2. NAT模式,虚拟机网卡和宿主机的虚拟网卡VMnet8连接到虚拟机软件所提供的VMnet8虚拟交换机上,VMware为虚拟机提供了一个虚拟NAT服务器和一个虚拟DHCP服务器,可以相互ssh登录,虚拟机可连接互联网,可连接宿主机与使用NAT模式的所有虚拟机构成局域网

  3. 仅主机模式,虚拟机和宿主机使用VMware的VMnet1虚拟网卡进行通信,无NAT服务,虚拟机仅可连接主机,不可连接局域网和互联网

  4. 自定义,手动选择虚拟网卡,VMnet1即为仅主机模式,VMnet8为NAT模式

  5. LAN区段,可划分不同虚拟网络

U盘安装Linux

分区

格式化,格式化的目的是写入文件系统,而非清空数据

文件系统类型:ext3、ext4(兼容ext3)、fat32(Windows上一代文件系统)、NTFS(Windows新一代文件系统)

分区和格式化后,Windows中分配一个盘符即可使用,Linux需要将该分区挂载到某个目录,另外,Linux中硬件被抽象为文件,分区自然被抽象为文件

IDE硬盘 /dev/hd[a-d]

SCSI/SATA/USB 硬盘 /dev/sd[a-p]

软盘 /dev/fd[0-1]

光驱 /dev/cdrom或/dev/sr0

打印机(25针)/dev/lp[0-2]

打印机(USB)/dev/usb/lp[0-15]

鼠标 /dev/mouse

无人值守安装

大批量服务器(如万台大集群)操作系统安装,搭建一台操作系统安装服务器,将其他所有未安装的服务器作为客户端,客户端修改启动方式为网络启动,从安装服务器下载所需的软件,并安装至客户端

Linux使用建议

Linux使用建议

  1. 将文件放在合适的Linux目录结构中

  2. 不在服务器高负载时运行高负载命令,如执行大范围搜索命令

  3. 远程配置防火墙或者ssh时不要将自己踢出服务器,在机房本地配置或者写个定时任务,每五分钟清空防火墙规则,等测试完了关掉定时任务

  4. 指定合理的密码并定时更新,合理保存密码

  5. 合理分配权限

  6. 定期备份重要数据和日志(重要)

命令

命令格式

命令 [选项] [参数]

命令用于执行一系列动作,选项用于调整命令的功能,参数用于指定命令的操作对象。选项可以分为ls -all形式的长选项或者ls -l形式的短选项,通常短选项是长选项的缩写形式,但并非所有长选项和短选项一一对应。

命令提示符,Linux用这个符号标识登录的用户权限等级。若为超级用户,提示符就是#,若为普通用户,提示符就是$

目录相关命令

ls

list

# 显示所有文件,Linux中以.开头的文件均为隐藏文件,如.bachrc、.ssh
ls -a

# 仅显示所有目录
ls -d

# 以长格式显示
ls -l

# 查看文件inode属性
ls -i

# 以人类可读性高的方式显示文件大小
ls -h

cd

change directory

# 更改当前目录到/home/centos
cd /home/centos

# 更改当前目录到本目录
cd .

# 更改当前目录到上一级目录
cd ..

# 更改当前目录到当前用户家目录
cd ~

# 更改当前目录到移动到本目录之前上次cd到的目录
cd -

mkdir

make directory

# 创建若干目录
make a
make a b
make a a/b

# 递归创建目录
make -p a/b

rmdir

remove empty directories

删除若干空目录

rmdir a b c
rmdir 

tree

查看树型目录结构

tree

文件相关命令

touch

修改文件访问时间和数据修改时间

Linux中每个文件都有三个时间相关属性,数据访问时间(Access Time)、数据修改时间(Modify Time)、属性改变时间(Change Time),没有文件创建时间

数据访问时间在文件被访问时更新,如cat命令读取文件内容,数据修改时间在文件内容被修改时更新,如echo “something” >> file,属性改变时间在文件属性改变时更新,如文件名、文件内容、文件权限、文件拥有者、文件所属组、文件数据访问时间、文件数据修改时间等属性变化均会更新

注:touch修改数据访问时间和数据修改时间,而数据访问时间和数据修改时间的修改会引起属性改变时间的更新

# 修改数据访问时间和数据修改时间,文件不存在时创建
touch .bashrc

# 仅修改数据访问时间,文件不存在时创建
touch -a .bashrc

# 仅修改数据修改时间,文件不存在时创建
touch -m .bashrc

# 修改数据访问时间和数据修改时间,但文件不存在时不创建
touch -c .bashrc

stat

查看文件或文件系统的统计信息

# 查看文件.bashrc文件的信息
stat .bashrc
# 查看文件.bashrc文件所在文件系统的信息
stat -f .bashrc

cat

concatenate

一次性输出文件内容

cat file

head

显示文件前n行信息,默认为前10行

head .bashrc
head -n 20 .bashrc

tail

显示文件后n行信息,默认为10行

# 显示文件后20行信息
tail -n 20 .bashrc
# 追踪日志文件后30行
tail -n 30 -f user-service-2024-01-18.log

more

less

ln

make link

创建链接文件

ln xxx hard-file

●不论是修改源文件(test文件),还是修改硬链接文件(test-hard文件),另一个文件中的数据都会发生改变。

●不论是删除源文件,还是删除硬链接文件,只要还有一个文件存在,这个文件(inode号是262147的文件)都可以被访问。

●硬链接不会建立新的inode信息,也不会更改inode的总数。

●硬链接不能跨文件系统(分区)建立,因为在不同的文件系统中,inode号是重新计算的。

●硬链接不能链接目录,因为如果给目录建立硬链接,那么不仅目录本身需要重新建立,目录下所有的子文件,包括子目录中的所有子文件都需要建立硬链接,这对当前的Linux来讲过于复杂。

ln -s xxx soft-file
  • 软链接的源文件必须写绝对路径,否则建立的软链接文件就会报错,无法正常使用。

  • 比如软链接可以链接目录,也可以跨分区来建立软链接。

  • 软链接和源文件的inode号是不一致的

文件和目录都能操作的命令

rm

rm file
rm -i file
rm -f file

# 删除文件或者目录
rm -r file dir

# 强制删除文件或目录
rm -rf file dir

cp

cp a b

# 若源文件a为软连接,则目标文件b为软连接,对硬链接无效
cp -d a b
# 交互式复制,若目标文件b已存在,询问是否覆盖
cp -i a b
# 指定目标文件b为源文件a的硬链接文件
cp -l a b
# 指定目标文件b为源文件a的软链接文件
cp -s a b
# 复制后目标文件保留源文件的属性,如所有者、所属组、权限、时间
cp -p a b
# 递归复制
cp -r a b
# 等价于 cp -rpd
cp -a a b

mv

mv a b
# 交互式移动或重命名,若目标文件b已存在,询问是否覆盖
mv -i a b
# 强制移动或重命名文件,若目标文件b已存在则覆盖
mv -f a b
# 不强制移动或重命名文件,若目标文件b已存在则不覆盖
mv -n a b
# 移动文件并显示移动信息
mv -v a b

权限相关命令

权限简介

安装完操作系统后绝大多数文件的所有者为root,所属组也为root

dr-xr-xr-x.   5 root root 4096 Jan 12 23:15 boot
d 文件类型,Linux中判断文件类型取决于该标志而非后缀名
- 普通文件
b 块设备文件,例如/dev/sda1
c 字符设备文件
d 目录文件
l 软连接
p 管道符文件
s 套接字文件

r-x 文件所有者权限
r-x 文件所属组权限
r-x 其他人权限

r 读权限
w 写权限
x 执行权限
- 无权限

.表示该文件受SELinux安全规则管理

chmod

超级用户可以修改任意文件的权限,普通用户只能修改所有者为该用户的文件

u表示所有者 user
g表示所属组 group
o表示其他人 other
a表示所有人 all

chmod u+x file
chmod g+x, o-x file
chmod a=rwx
chmod -R 777 dir

数字权限 r4 w2 x1
chmod 755 file
644 一般文件基本权限
755 可执行文件基本权限、目录基本权限
777 最高权限

一般文件r权限表示可以读取文件数据,如使用cat、more、less、head、less等命令查看文件

一般文件w权限表示可以修改文件数据,如使用vi、vim、echo等命令修改文件

一般文件x权限表示可以执行文件

目录r权限表示可以查看目录下内容,如使用ls命令查看目录下子文件和子文件夹

目录w权限表示可以在该目录下新建、删除、复制文件,如使用touch、rm、cp、mv

目录x权限表示可以切换当前目录到该目录,如使用cd切换工作目录

注意:文件w权限不能删除文件,文件名保存在所在目录的block中,删除文件需要修改所在目录的block即修改目录,需要文件所在目录的w权限

root用户为超级用户,即使root对某文件无任何权限,依然可以操作该文件

# 例如/home/centos,仅允许centos操作,但root用户可以删除centos下的文件
drwx------. 2 centos centos 62 Jan 16 08:25 centos

chown

change file owner and group

当希望将一个所有者为root的文件能让普通用户拥有最高权限时,应当修改该文件所有者为普通用户(root依然能访问),而非修改其他人权限为最高权限(会影响其他普通用户)

chown a-user a-file
chown a-user:user-group a-file

chgrp

change group

chgrp a-group a-file

umask

umask默认权限是Linux权限的一种,主要用于让Linux中新建文件和目录拥有默认权限

Windows中通过继承上级目录权限赋予文件和目录初始权限

umask,权限掩码

/etc/profile

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002  # 普通用户 UID > 199,普通用户权限为 rwxrwxrwx中去掉 -------w-,即rwxrwxr-x
else
    umask 022  # 超级用户 UID <= 199,超级用户权限为 rwxrwxrwx中去掉 rwxr-xr-x
umask -p  # 第一位代表特殊权限 Set-UID SetGID Sticky BIT
umask 0002
umask -S  # 
u=rwx,g=rwx,o=rx

帮助相关命令

man

https://www.man7.org/linux/man-pages/index.html

man ls
man -f ls  # 等价whatis
man -k ls  # 等价apropos,根据关键字搜索man
man useradd
1 普通用户可以执行的系统命令和可执行文件的帮助
2 内核可以调用的函数和工具的帮助
3 C语言函数的帮助
4 设备和特殊文件的帮助
5 配置文件的帮助
6 游戏的帮助(个人版Linux中有游戏)
7 杂项的帮助
8 内核的帮助

info

info ls

help

help命令只能获取Shell内置命令的帮助,help本身就是一个内置命令,但man和info不是

help help

注:绝大多数命令会有-h或–help参数用以查看该命令的帮助信息

man -h
info -h

用户相关命令

useradd user
passwd user

Windows中新建用户都属于users用户组
Linux中新建用户会同时建立一个与用户名同名的用户组作为该用户用户组

网络相关命令

ifconfig

ip

# 查看ip地址
ip address

ifdown

禁用网卡

ifdown eth0

ifup

启用网卡

ifup eth0

ping

通过ICMP协议进行网络探测,测试网络中主机的通信情况。

# 默认一直探测
ping baidu.com
# 指定探测10次
ping -c 10 baidu.com

mail

write

wall

netstat

yum install -y net-tools

查看网络连接、路由表

# 显示使用tcp协议端口的连接状况
netstat -t
# 显示使用udp协议端口的连接状况
netstat -u
# 查看路由表
netstat -r
# 仅显示State为Listing的连接
netstat -l
# 显示PID和程序名
netstat -p
# 使用IP地址和端口号显示,不使用域名与服务名
netstat -n
# 列出所有网络状态,包括socket
netstat -a
# 指定每隔几秒刷新一次网络状态
netstat -c 1

通常会使用netstat -tuln查看网络状态

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp6       0      0 ::1:323                 :::*                               

Proto,网络连接协议,TCP或UDP
Recv-Q,接收到的数据,已经在本地缓冲区,还没有被进程取走
Send-Q,表示从本机发送,对方还没有收到的数据,依然在本地的缓冲区
Local Address,本机IP地址和端口号
Foreign Address,远程主机的IP地址和端口号
State,连接状态

  • LISTEN,监听状态
  • ESTABLISHED,连接已建立状态
  • SYN_SENT,主动发起连接
  • SYN_RECV,接收到主动连接的数据包
  • FIN_WAIT1,主动中断连接,但未接收到被动方确认
  • FIN_WAIT2,主动中断连接,且接收到被动方确认
  • TIME_WAIT,主动方等待被动方关闭连接
  • CLOSED,连接关闭

关机和重启相关命令

sync

应用向磁盘写入数据,会首先将数据写入内存缓冲区,缓冲区写满会写入磁盘,如果缓冲区未满时机器宕机,则会丢失该部分数据,sync命令用于主动将内存中的数据写入磁盘,该命令在关机时会自动执行。

sync

shutdown

# 立即重启
shutdown -r now
# 18:00重启
shutdown -r 18:00
# 10分钟后重启
shutdown -r +10
# 立即关机
shutdown -h now
# 18:00关机
shutdown -h 18:00 

reboot

reboot

halt

关机

halt

poweroff

关机

poweroff

init

# 关机
init 0
# 重启
init 6

压缩和解压缩相关命令

zip

压缩.zip文件

# 压缩文件a、b、b为xxx.zip
zip xxx.zip a b c
# 压缩当前目录中所有文件和文件夹为current_dir.zip
zip -r current_dir.zip .

unzip

解压缩.zip文件

unzip xxx.zip

gzip

压缩.gz文件

# 压缩xxx.log文件,不保留原始文件
gzip xxx.log
# 压缩xxx.log文件,保留原始文件
gzip -c xxx.log
# 压缩xxx目录中所有文件,若xxx目录中有a、b、c三个文件,则压缩结果并非xxx.gz而是xxx/a.gz、xxx/b.gz、xxx/c.gz三个压缩文件
# Linux中打包和压缩分开处理,gzip命令仅压缩
gzip -r xxx
# 解压缩文件
gzip -d a.gz

gunzip

# 解压缩
gunzip xxx.gz
# 解压缩目录下的压缩文件
gunzip -r xxx

zcat

若压缩的文件为文本文件,则可直接通过.gz文件查看内容

zcat xxx.gz

bzip2

压缩.bz2文件

# 压缩文件,不保留源文件
bzip2 xxx.log
# 压缩文件,保留源文件
bzip2 -k xxx.log
# 解压缩文件
bzip2 -d xxx.bz2

# 注:bzip2命令不能压缩文件夹

bunzip2

解压缩.bz2文件

bunzip2 xxx.bz2

bzcat

若压缩的文件为文本文件,则可直接通过.bz2查看内容

bzcat log.bz2

Linux中打包和压缩是两个步骤,通常会先将若干文件打包为.tar文件,然后再压缩为.gz文件,最终结果为.tar.gz文件

tar

# -c 打包 -f 指定打包文件名 -v 显示打包内容
tar -cfv xxx.tar main.java controller/ service/

# -x 解包 -C 指定解包位置
tar -xfv xxx.tar -C ./

# tar打包完成后使用gzip或bzip2进行压缩,获取.tar.gz或者.tar.bz2文件,tar可以一步完成打包和压缩
# -z 压缩和解压缩.tar.gz格式
tar -zcfv xxx.tar.gz main.java controller/ service/
tar -zxfv xxx.tar.gc -C ./
# -j 压缩和解压缩.tar.bz2格式
tar -jcfv xxx.tar.bz2 main.java controller/ service/
tar -jxfv xxx.tar.bz2 -C ./

常用.tar.gz格式

搜索相关命令

whereis

搜索系统命令及其帮助手册

whereis ls

# 仅搜索二进制命令
whereis -b ls
# 仅搜索帮助手册
whereis -m ls

which

搜索二进制命令,若该命令为别名则展示别名细节,并指出实际命令

# cd就是一个二进制命令
which cd

# ls本身是一个二进制命令,位于/usr/bin/ls,但通常系统会设置别名ls='ls --color=auto'从而覆盖原始ls命令
# 执行ls实质执行的是ls='ls --color=auto'
which ls
# alias ls='ls --color=auto'
#         /usr/bin/ls
# 同理,ll命令也是一个别名,这种使用whereis是搜索不到的,使用which ll
# alias ll='ls -l --color=auto'
#        /usr/bin/ls

locate

yum install locate

locate用于搜索文件,系统命令就是二进制文件,locate仅根据文件名进行搜索,无法进行复杂搜索。locate并非直接搜索磁盘,而是将文件路径存储到locate数据库中,直接在数据库中进行搜索,相比于其他搜索命令,locate搜索快速资源占用小,但数据库并非实时更新,新建文件会搜索不到。

# 查找.bashrc文件
locate .bashrc
# 忽略大小写并查找.bashrc文件
locate -i .bashrc

# 初次安装locate或者新建文件在locate的数据库中是查找不到该文件的
# 该数据库会在用户退出或者重新启动后自动更新,数据库数据存储于/var/lib/mlocate/mlocate.db,若要手动更新
updatedb

locate数据库的配置文件为/etc/updatedb.conf,

# 是否启用搜索限制
PRUNE_BIND_MOUNTS = "yes"
# 禁止搜索的文件系统类型
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs fuse.glusterfs ceph fuse.ceph"
# 禁止搜索文件名中包含.git等的,.gitxxx也不会搜索到
PRUNENAMES = ".git .hg .svn"
# 禁止搜索如下路径下的文件
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"

find

# 文件名
# 按照名称搜索
find / -name .bashrc
# 忽略大小写并按照名称搜素
find / -iname .bashrc

# 文件大小
# 搜索大于10M的文件,k小写、M大写
find / -size +10M
# 搜索小于10M的文件
find / -size -10M

# 时间
# -atime 访问时间 -mtime 数据修改时间 -ctime 状态修改时间
# 查找往前数(不包括今天)第5天访问过的文件,若今天是2024.01.10,则会查找2024.01.05当天访问过的文件
find / -atime 5
# 查找往前数(不包括今天)第5天到现在(不包括第五天)访问过的文件,就是出今天外往前4个完整1天
find / -atime -5
# 查找往前数(不包括今天)第5天过去(不包括第五天)访问过的文件
find / -atime +5
# 总结就是以今天为0天,5表示过去第五天,-5表示(5, 0],+5表示(oo, 5)

# 权限
# 查询指定权限的文件,要求文件权限与给定权限完全一致
find / -perm 666
# 查询具有任意一个身份任意一个权限的文件,要求所有者、所属组和其他人任意一个身份中读写任意一个权限具有就会被查出来
find / -perm +666
# 查询具有三个身份指定的所有权限的文件,如777权限文件完全包含666,会被查出
find / -perm -666
# +表示或 -表示且

# 所有者、所属组
# -uid 用户ID -gid 组ID -user 用户名 -group 组名 -nouser 没有所有者
# 查找所属人为管理员的文件,0是root的uid
find / -uid 0

# 文件类型
# 查找目录
find / -type d
# 查找普通文件
find / -type f
# 查找软链接文件
find / -type l

# 复合逻辑
# -a 与 -o 或 -not 非
# 查询/目录下 文件大小大于2kb的普通文件
find / -size +2k -a -type f

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

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

相关文章

Windows如何部署TortoiseSVN客户端

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统&#xff0c;它与Apache Subversion&#xff08;SVN&#xff09;集成在一起&#xff0c;提供了一个用户友好的界面&#xff0c;方便用…

专业130+总分380+哈尔滨工程大学810信号与系统考研经验水声电子信息与通信

今年专业课810信号与系统130&#xff0c;总分380顺利考上哈尔滨工程大学&#xff0c;一年的努力终于换来最后的录取&#xff0c;期中复习有得有失&#xff0c;以下总结一下自己的复习经历&#xff0c;希望对大家有帮助&#xff0c;天道酬勤&#xff0c;加油&#xff01;专业课&…

Java找二叉树的公共祖先

描述&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节…

[AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言4.5key价格泄漏ChatGPT4.0使用地址ChatGPT正确打开方式最新功能语音助手存档…

【C语言】编译和链接深度剖析

文章目录 &#x1f4dd;前言&#x1f320; 翻译环境和运行环境&#x1f309;翻译环境 &#x1f320;预处理&#xff08;预编译&#xff09;&#x1f309;编译 &#x1f320;词法分析&#x1f320;语法分析 &#x1f309;语义分析&#x1f320;汇编 &#x1f309; 链接&#x1f…

动态闪图怎么在线合成?仅需三秒在线合成

GIF闪图是一种常见的动态图像格式&#xff0c;它由多个静态图像帧组成&#xff0c;以连续的方式播放&#xff0c;形成动画效果。每个图像帧都可以包含不同的颜色和透明度&#xff0c;因此GIF闪图通常用于展示简单的动画、表情符号或者短视频片段。这种格式在网络上广泛应用&…

论rtp协议的重要性

rtp ps流工具 rtp 协议&#xff0c;实时传输协议&#xff0c;为什么这么重要&#xff0c;可以这么说&#xff0c;几乎所有的标准协议都是国外创造的&#xff0c;感叹一下&#xff0c;例如rtsp协议&#xff0c;sip协议&#xff0c;webrtc&#xff0c;都是以rtp协议为基础&#…

C++中的static(静态)

2014年1月19日 内容整理自The Cherno:C系列 2014年1月20日 内容整理自《程序设计教程&#xff1a;用C语言编程 第三版》 陈家骏 郑滔 -----------------------------------------------------------------------------------------------------------------------------…

【RT-DETR有效改进】利用MobileNetV3替换Backbone(轻量化网络结构,提点)

前言 大家好&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持ResNet32、ResNet101和PP…

TEE2024大湾区进出口贸易博览会

TEE2024大湾区进出口贸易博览会 INTE 2024RNATIONAL TRADE E-COMMERCE EXPO 时间&#xff1a;2024年08月11--13日 地点&#xff1a;深圳福田会展中心 联合主办&#xff1a; 深圳市电子商务协会 深圳市跨境电子商务行业发展促进会 广东进出口商会 广东省国牌出海电子商务…

根据IP查找城市 - 华为OD统一考试

OD统一考试 题解&#xff1a; Java / Python / C 题目描述 某业务需要根据终端的IP地址获取该终端归属的城市&#xff0c;可以根据公开的IP地址池信息查询归属城市。 地址池格式如下&#xff1a; 城市名起始IP&#xff0c;结束IP 起始和结束地址按照英文逗号分隔&#xff0…

链表回文结构

链表回文结构 编写一个函数&#xff0c;检查输入的链表是否是回文的。 示例 1&#xff1a; 输入&#xff1a; 1->2 输出&#xff1a; false 示例 2&#xff1a; 输入&#xff1a; 1->2->2->1 输出&#xff1a; true 链表的回文结构&#xff0c;应该先找到中间节…

yum配置文件及NFS共享

一 yum配置文件及命令 1 /etc/yum.conf //主配置文件 2 /etc/yum.repos.d/*.repo //yum仓库文件位置 写错一个字母就不行&#xff0c;可以ping www.google.com 测试网络 3 /var/log/yum.log //日志文件 二 yum命令 1 [rootlocalhost ~…

Python项目——计算器(PySide6+Pyinstaller)

1、介绍 使用python编写一个计算器&#xff0c;可以实现基本的运算。【注】该项目最终还有一些细小的bug没有完善&#xff0c;例如符号可以一直输入。 2、实现 使用pyCharm创建一个新的项目。 2.1、设计UI 使用Qt designer设计一个UI界面&#xff0c;保存ui文件&#xff0…

electron-vite中的ipc通信

1. 概述 再electron中&#xff0c;进程间的通信通过ipcMain和ipcRenderer模块&#xff0c;这些通道是任意和双向的 1.1. 什么是上下文隔离进程 ipc通道是通过预加载脚本绑定到window对象的electron对象属性上的 2. 通信方式 2.1. ipcMain&#xff08;也就是渲染进程向主进…

福昕软件的使用

快捷操作 快捷键 快捷键功能备注Ctrl P打印 Ctrl W关闭 Ctrl B书签 鼠标放菜单栏&#xff0c;单击右键即可导入/导出 自定义菜单栏文件-->偏好设置-->文档 1、多实例&#xff1a;单击PDF后均重新打开一个新界面。

数字图像处理期末速成笔记

目录 一、基础知识二、相邻像素间基本关系三、图像增强方法1、直方图求解2、直方图均衡化3、直方图规定化4、图像平滑5、邻域平均法&#xff08;线性&#xff09;6、 中值滤波法&#xff08;分线性&#xff09;7、中值滤波与领域平均的异同8、4-邻域平滑法9、超限像素平滑法10、…

C++ BuilderXE关于FDQuery组件记录限制设定

这样修改就可以查询返回所有记录。 TFDQuery.RecordCount,或TDateSet.RecordCount只显示了可见的50条数据&#xff0c;但实际上数据的总量超过了这个数量。为了解决这个问题&#xff0c;我们可以通过更改TFDConection.FetchOptions.RecordCountMode属性为fmTotal&#xff0c;以…

多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现CNN-BiLSTM-Mutilhead-Attention卷积双向长短期记忆神经网络融合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计…

Elasticsearch 入门向使用

文章目录 ElasticSearch简介倒排索引安装(单节点)分词器kibana与Mysql概念上的对比索引库CRUD文档CRUDDSL查询相关性算分Function Score Query自定义算分Boolean Query 搜索结果处理排序分页高亮 数据聚合 aggregations自动补全数据同步集群 ElasticSearch 简介 Elasticsearc…