linux-----文件命令
文件和目录的基本概念
- 文件类型:
- 普通文件:这是最常见的文件类型,用于存储数据,如文本文件、二进制文件等。文本文件可以用文本编辑器打开并查看内容,二进制文件则包含机器可执行的代码或其他特定格式的数据。
- 目录文件:也称为文件夹,用于组织和存储文件和其他子目录。目录文件包含了文件和子目录的名称以及它们在磁盘上的位置信息。
- 设备文件:分为字符设备文件和块设备文件。字符设备文件以字符为单位进行数据传输,如终端设备(
/dev/tty
);块设备文件以块为单位进行数据传输,通常用于存储设备,如硬盘(/dev/sda
)。 - 链接文件:包括硬链接和软链接。硬链接是文件的一个别名,它直接指向文件的inode(文件索引节点,存储文件的元数据),多个硬链接指向同一个文件,删除其中一个硬链接不影响文件本身和其他硬链接。软链接(也称为符号链接)是一个特殊的文件,它指向另一个文件或目录的路径,类似于Windows中的快捷方式。
- 文件和目录的路径表示
- 绝对路径:从根目录(
/
)开始的完整路径,例如/home/user/Documents/file.txt
,其中/
是根目录,home
是根目录下的一个目录,user
是home
目录下的用户目录,Documents
是用户目录下的文件夹,file.txt
是Documents
文件夹中的文件。 - 相对路径:相对于当前工作目录的路径。例如,如果当前工作目录是
/home/user
,要访问Documents/file.txt
,可以使用相对路径Documents/file.txt
。相对路径中,..
表示上级目录,.
表示当前目录。
- 绝对路径:从根目录(
- 文件操作命令
- 查看文件内容:
cat
命令:用于连接文件并打印到标准输出。例如,cat file.txt
会将file.txt
文件的内容全部显示在屏幕上。如果有多个文件,cat file1.txt file2.txt
会依次显示这些文件的内容。less
命令:与cat
类似,但less
可以分页查看文件内容,适合查看大文件。通过上下箭头键、Page Up和Page Down键来浏览文件内容,按q
键退出查看。例如,less file.txt
。head
和tail
命令:head
命令用于查看文件的开头部分内容,默认显示前10行,如head file.txt
。tail
命令用于查看文件的末尾部分内容,默认也显示10行,如tail file.txt
。可以通过-n
选项指定显示的行数,例如head -n 5 file.txt
显示文件的前5行。
- 创建和编辑文件:
touch
命令:用于创建一个空文件或者更新文件的访问时间和修改时间。例如,touch new_file.txt
会创建一个名为new_file.txt
的空文件。如果文件已经存在,它会更新文件的时间戳。nano
、vi
和vim
命令:这些是文本编辑器。nano
是一个简单易用的文本编辑器,例如,nano file.txt
可以打开file.txt
文件进行编辑,编辑完成后按Ctrl + X
保存并退出。vi
和vim
是功能更强大但相对复杂的文本编辑器,有多种操作模式(命令模式和插入模式等)。
- 复制、移动和删除文件:
cp
命令:用于复制文件或目录。例如,cp file.txt copy_of_file.txt
会将file.txt
文件复制为copy_of_file.txt
。如果要复制目录,需要使用-r
选项(递归复制),如cp -r dir1 dir2
会将dir1
目录及其内容复制到dir2
目录。mv
命令:用于移动文件或目录,也可以用于重命名文件。例如,mv file.txt new_location/file.txt
将file.txt
移动到new_location
目录下。如果new_location
不存在,则相当于重命名文件,如mv old_name.txt new_name.txt
。rm
命令:用于删除文件或目录。例如,rm file.txt
会删除file.txt
文件。要删除目录,需要使用-r
选项(递归删除),如rm -r dir1
会删除dir1
目录及其所有内容。使用rm
命令要谨慎,因为文件一旦删除很难恢复。
- 查看文件内容:
- 目录操作命令
- 创建和删除目录:
mkdir
命令:用于创建新的目录。例如,mkdir new_dir
会创建一个名为new_dir
的目录。可以使用-p
选项来创建多级目录,如mkdir -p dir1/dir2/dir3
会创建dir1
、dir2
和dir3
三级目录。rmdir
命令:用于删除空目录。例如,rmdir empty_dir
会删除名为empty_dir
的空目录。如果目录非空,需要使用rm -r
命令来删除。
- 查看目录内容和切换目录:
ls
命令:用于列出目录中的文件和子目录。例如,ls
会列出当前目录下的文件和子目录。可以使用-l
选项以长格式列出详细信息(包括文件权限、所有者、大小、修改时间等),如ls -l
;使用-a
选项列出包括隐藏文件(文件名以.
开头的文件)在内的所有文件和目录,如ls -a
。cd
命令:用于切换当前工作目录。例如,cd /home/user/Documents
会将当前工作目录切换到/home/user/Documents
。可以使用cd..
回到上级目录,cd
(不带参数)会切换到用户的主目录。
- 目录权限设置:
chmod
命令:用于改变文件或目录的访问权限。权限分为读(r
)、写(w
)和执行(x
)三种,分别对应数字4、2、1。例如,chmod 755 file.txt
会将文件file.txt
的权限设置为所有者有读、写、执行权限(7 = 4 + 2 + 1),所属组和其他用户有读和执行权限(5 = 4 + 1)。chown
命令:用于改变文件或目录的所有者和所属组。例如,chown user:group file.txt
会将file.txt
文件的所有者设置为user
,所属组设置为group
。chgrp
命令:用于改变文件或目录的所属组。例如,chgrp new_group file.txt
会将file.txt
文件的所属组更改为new_group
。
- 创建和删除目录:
如何在Linux中进行文件和目录的权限管理?
-
理解文件和目录权限的基本概念
- 权限的表示方式:
- Linux中的文件和目录权限分为三种:读(
r
)、写(w
)和执行(x
)。对于文件来说,读权限允许用户查看文件内容;写权限允许用户修改文件内容;执行权限允许用户将文件作为程序来运行。对于目录来说,读权限允许用户查看目录中的文件和子目录列表;写权限允许用户在目录中创建、删除或重命名文件和子目录;执行权限允许用户进入目录。 - 权限通常用10个字符表示,例如
-rw - r - - r - -
。第一个字符表示文件类型(-
表示普通文件,d
表示目录,l
表示链接等),后面9个字符每3个一组,分别表示文件所有者、所属组和其他用户的权限。每组的三个字符顺序为读、写、执行权限。如果没有某种权限,则用-
表示。
- Linux中的文件和目录权限分为三种:读(
- 权限的数字表示法:
- 可以用数字来表示权限,读权限对应数字4,写权限对应数字2,执行权限对应数字1。例如,权限
rw -
对应的数字是4 + 2 = 6,r - x
对应的数字是4 + 1 = 5。将所有者、所属组和其他用户的权限数字组合起来,就可以用一个三位数来表示文件或目录的权限。例如,755
表示所有者有读、写、执行权限(7 = 4 + 2 + 1),所属组和其他用户有读和执行权限(5 = 4 + 1)。
- 可以用数字来表示权限,读权限对应数字4,写权限对应数字2,执行权限对应数字1。例如,权限
- 权限的表示方式:
-
使用
chmod
命令修改权限- 符号模式(Symbolic Mode):
- 基本语法:
chmod [ugoa][+-=][rwx] [文件或目录名]
。其中,u
代表所有者(user),g
代表所属组(group),o
代表其他用户(others),a
代表所有用户(all);+
表示添加权限,-
表示去除权限,=
表示设置权限为指定的值;r
、w
、x
分别代表读、写、执行权限。 - 示例1:给文件
file.txt
的所有者添加执行权限,可以使用chmod u + x file.txt
。 - 示例2:去除文件
file.txt
所属组的写权限,使用chmod g - w file.txt
。 - 示例3:将文件
file.txt
的其他用户权限设置为只读,使用chmod o = r file.txt
。
- 基本语法:
- 绝对模式(Absolute Mode):
- 基本语法:
chmod [权限数字] [文件或目录名]
。 - 示例1:将文件
file.txt
的权限设置为rw - r - - r - -
,可以使用chmod 644 file.txt
。 - 示例2:将目录
mydir
的权限设置为rwxr - xr - x
,使用chmod 755 mydir
。
- 基本语法:
- 符号模式(Symbolic Mode):
-
使用
chown
命令改变所有者和所属组- 基本语法:
chown [所有者][:所属组] [文件或目录名]
。如果只改变所有者,所属组可以省略;如果要同时改变所有者和所属组,用:
分隔两者。 - 示例1:将文件
file.txt
的所有者改为newuser
,使用chown newuser file.txt
。 - 示例2:将文件
file.txt
的所有者改为newuser
,所属组改为newgroup
,使用chown newuser:newgroup file.txt
。
- 基本语法:
-
使用
chgrp
命令改变所属组- 基本语法:
chgrp [所属组] [文件或目录名]
。 - 示例1:将文件
file.txt
的所属组改为newgroup
,使用chgrp newgroup file.txt
。
- 基本语法:
-
特殊权限(SUID、SGID和Sticky Bit)
- SUID(Set User ID):
- 概念:当一个可执行文件设置了SUID权限后,用户在执行这个文件时,将以文件所有者的身份来运行。这在一些需要特殊权限的程序中很有用,例如
passwd
命令。它的权限表示为s
(小写),在所有者的执行权限位(x
)位置。如果原本没有执行权限,则显示为S
(大写)。 - 设置方法:使用
chmod u + s [可执行文件名]
来设置SUID权限。例如,chmod u + s myprogram
。
- 概念:当一个可执行文件设置了SUID权限后,用户在执行这个文件时,将以文件所有者的身份来运行。这在一些需要特殊权限的程序中很有用,例如
- SGID(Set Group ID):
- 概念:对于文件,设置SGID后,用户在执行文件时,将以文件所属组的身份运行。对于目录,在目录中创建的文件将自动继承目录的所属组。它的权限表示为
s
(小写),在所属组的执行权限位(x
)位置。如果原本没有执行权限,则显示为S
(大写)。 - 设置方法:对于文件,使用
chmod g + s [可执行文件名]
;对于目录,使用chmod g + s [目录名]
。例如,chmod g + s myprogram
(设置文件的SGID),chmod g + s mydir
(设置目录的SGID)。
- 概念:对于文件,设置SGID后,用户在执行文件时,将以文件所属组的身份运行。对于目录,在目录中创建的文件将自动继承目录的所属组。它的权限表示为
- Sticky Bit:
- 概念:主要用于目录,当一个目录设置了Sticky Bit权限后,只有文件的所有者、目录的所有者或者
root
用户才能删除目录中的文件。它的权限表示为t
(小写),在其他用户的执行权限位(x
)位置。如果原本没有执行权限,则显示为T
(大写)。 - 设置方法:使用
chmod o + t [目录名]
来设置Sticky Bit权限。例如,chmod o + t mysharedir
。
- 概念:主要用于目录,当一个目录设置了Sticky Bit权限后,只有文件的所有者、目录的所有者或者
- SUID(Set User ID):
-
chmod
命令示例- 符号模式示例
- 添加权限:
- 假设我们有一个文件
test.txt
,其初始权限为rw - r - - r - -
(所有者有读写权限,所属组和其他用户只有读权限)。现在我们要给所属组添加写权限。 - 命令为:
chmod g + w test.txt
- 执行后,文件权限变为
rw - rw - r - -
。
- 假设我们有一个文件
- 去除权限:
- 对于上述文件
test.txt
,如果要去除其他用户的读权限。 - 命令为:
chmod o - r test.txt
- 执行后,文件权限变为
rw - rw - - - -
。
- 对于上述文件
- 设置权限:
- 假设有一个文件
new_file.txt
,初始权限为rw - r - - r - -
,我们想将所有者的权限设置为只有读权限,所属组有读和执行权限,其他用户有读和执行权限。 - 命令为:
chmod u = r,g = rx,o = rx new_file.txt
- 执行后,文件权限变为
r - - r - x r - x
。
- 假设有一个文件
- 添加权限:
- 绝对模式示例
- 设置文件权限:
- 有一个可执行文件
my_program
,我们想设置其权限为所有者有读、写、执行权限,所属组有读和执行权限,其他用户有读和执行权限。 - 对应的权限数字为
755
,命令为:chmod 755 my_program
- 这样,文件
my_program
就具有了相应的权限,便于用户执行和共享。
- 有一个可执行文件
- 设置目录权限:
- 对于一个新创建的目录
my_dir
,我们希望设置权限为所有者有全部权限,所属组和其他用户有读和执行权限,以方便团队成员共享访问目录内容。 - 对应的权限数字为
755
,命令为:chmod 755 my_dir
- 现在,团队成员可以根据权限访问
my_dir
目录及其内部文件。
- 对于一个新创建的目录
- 设置文件权限:
- 符号模式示例
-
chown
命令示例- 改变所有者:
- 假设我们有一个文件
shared_file.txt
,当前所有者是user1
,我们要将所有者改为user2
。 - 命令为:
chown user2 shared_file.txt
- 执行后,文件
shared_file.txt
的所有者变为user2
,所属组不变。
- 假设我们有一个文件
- 同时改变所有者和所属组:
- 对于上述文件
shared_file.txt
,如果我们还想将所属组从当前组(假设为group1
)改为group2
。 - 命令为:
chown user2:group2 shared_file.txt
- 这样,文件
shared_file.txt
的所有者变为user2
,所属组变为group2
。
- 对于上述文件
- 改变所有者:
-
chgrp
命令示例- 假设有一个文件
project_file.txt
,所属组为team1
,我们想将其所属组改为team2
。 - 命令为:
chgrp team2 project_file.txt
- 执行后,文件
project_file.txt
的所属组变为team2
,所有者不变。
- 假设有一个文件
-
特殊权限示例
- SUID示例:
- 假设有一个自定义的用户命令文件
custom_command
,我们希望普通用户在执行这个文件时,能够以文件所有者(假设是admin
)的权限来运行,以访问一些受限的资源。 - 首先,确保文件
custom_command
是可执行的,然后使用命令:chmod u + s custom_command
- 现在,当普通用户执行
custom_command
时,会以admin
的权限运行。
- 假设有一个自定义的用户命令文件
- SGID示例(文件):
- 假设有一个可执行文件
shared_program
,我们希望用户在执行这个文件时,以文件所属组(假设是shared_group
)的权限运行,方便组内成员共享资源。 - 命令为:
chmod g + s shared_program
- 这样,当用户执行
shared_program
时,会以shared_group
的权限运行。
- 假设有一个可执行文件
- SGID示例(目录):
- 有一个共享目录
shared_folder
,我们希望在这个目录中创建的文件自动继承目录的所属组(假设是collab_group
),方便团队协作。 - 命令为:
chmod g + s shared_folder
- 之后,在
shared_folder
目录中创建的文件所属组都会是collab_group
。
- 有一个共享目录
- Sticky Bit示例:
- 对于一个共享的临时文件目录
temp_dir
,我们希望只有文件的所有者、目录的所有者或者root
用户才能删除目录中的文件,防止其他用户误删。 - 命令为:
chmod o + t temp_dir
- 这样,在
temp_dir
目录中,文件的删除操作受到限制,增强了文件的安全性。
- 对于一个共享的临时文件目录
- SUID示例:
-
chmod
命令示例- 符号模式示例
- 添加权限:
- 假设我们有一个文件
test.txt
,其初始权限为rw - r - - r - -
(所有者有读写权限,所属组和其他用户只有读权限)。现在我们要给所属组添加写权限。 - 命令为:
chmod g + w test.txt
- 执行后,文件权限变为
rw - rw - r - -
。
- 假设我们有一个文件
- 去除权限:
- 对于上述文件
test.txt
,如果要去除其他用户的读权限。 - 命令为:
chmod o - r test.txt
- 执行后,文件权限变为
rw - rw - - - -
。
- 对于上述文件
- 设置权限:
- 假设有一个文件
new_file.txt
,初始权限为rw - r - - r - -
,我们想将所有者的权限设置为只有读权限,所属组有读和执行权限,其他用户有读和执行权限。 - 命令为:
chmod u = r,g = rx,o = rx new_file.txt
- 执行后,文件权限变为
r - - r - x r - x
。
- 假设有一个文件
- 添加权限:
- 绝对模式示例
- 设置文件权限:
- 有一个可执行文件
my_program
,我们想设置其权限为所有者有读、写、执行权限,所属组有读和执行权限,其他用户有读和执行权限。 - 对应的权限数字为
755
,命令为:chmod 755 my_program
- 这样,文件
my_program
就具有了相应的权限,便于用户执行和共享。
- 有一个可执行文件
- 设置目录权限:
- 对于一个新创建的目录
my_dir
,我们希望设置权限为所有者有全部权限,所属组和其他用户有读和执行权限,以方便团队成员共享访问目录内容。 - 对应的权限数字为
755
,命令为:chmod 755 my_dir
- 现在,团队成员可以根据权限访问
my_dir
目录及其内部文件。
- 对于一个新创建的目录
- 设置文件权限:
- 符号模式示例
-
chown
命令示例- 改变所有者:
- 假设我们有一个文件
shared_file.txt
,当前所有者是user1
,我们要将所有者改为user2
。 - 命令为:
chown user2 shared_file.txt
- 执行后,文件
shared_file.txt
的所有者变为user2
,所属组不变。
- 假设我们有一个文件
- 同时改变所有者和所属组:
- 对于上述文件
shared_file.txt
,如果我们还想将所属组从当前组(假设为group1
)改为group2
。 - 命令为:
chown user2:group2 shared_file.txt
- 这样,文件
shared_file.txt
的所有者变为user2
,所属组变为group2
。
- 对于上述文件
- 改变所有者:
-
chgrp
命令示例- 假设有一个文件
project_file.txt
,所属组为team1
,我们想将其所属组改为team2
。 - 命令为:
chgrp team2 project_file.txt
- 执行后,文件
project_file.txt
的所属组变为team2
,所有者不变。
- 假设有一个文件
-
特殊权限示例
- SUID示例:
- 假设有一个自定义的用户命令文件
custom_command
,我们希望普通用户在执行这个文件时,能够以文件所有者(假设是admin
)的权限来运行,以访问一些受限的资源。 - 首先,确保文件
custom_command
是可执行的,然后使用命令:chmod u + s custom_command
- 现在,当普通用户执行
custom_command
时,会以admin
的权限运行。
- 假设有一个自定义的用户命令文件
- SGID示例(文件):
- 假设有一个可执行文件
shared_program
,我们希望用户在执行这个文件时,以文件所属组(假设是shared_group
)的权限运行,方便组内成员共享资源。 - 命令为:
chmod g + s shared_program
- 这样,当用户执行
shared_program
时,会以shared_group
的权限运行。
- 假设有一个可执行文件
- SGID示例(目录):
- 有一个共享目录
shared_folder
,我们希望在这个目录中创建的文件自动继承目录的所属组(假设是collab_group
),方便团队协作。 - 命令为:
chmod g + s shared_folder
- 之后,在
shared_folder
目录中创建的文件所属组都会是collab_group
。
- 有一个共享目录
- Sticky Bit示例:
- 对于一个共享的临时文件目录
temp_dir
,我们希望只有文件的所有者、目录的所有者或者root
用户才能删除目录中的文件,防止其他用户误删。 - 命令为:
chmod o + t temp_dir
- 这样,在
temp_dir
目录中,文件的删除操作受到限制,增强了文件的安全性。
- 对于一个共享的临时文件目录
- SUID示例:
相关文章:
linux-----文件命令
文件和目录的基本概念 文件类型: 普通文件:这是最常见的文件类型,用于存储数据,如文本文件、二进制文件等。文本文件可以用文本编辑器打开并查看内容,二进制文件则包含机器可执行的代码或其他特定格式的数据。目录文件…...
lua dofile 传参数
cat 1.lua arg[1] 111 arg[2] 222 dofile(./2.lua) cat 2.lua print("First argument is: " .. arg[1]) print("Second argument is: " .. arg[2]) 执行 lua 1.lua,结果为: First argument is: 111 Second argument is: 222 l…...
【ETCD】【实操篇(二)】如何从源码编译并在window上搭建etcd集群?
要在 Windows 上编译 etcd 及 etcdctl 工具,并使用 bat 脚本启动 etcd 集群,首先需要准备好开发环境并确保依赖项正确安装。下面是从 etcd 3.5 源码开始编译和启动 etcd 集群的详细步骤: 目录 1. 安装 Go 环境2. 获取 etcd 源码3. 编译 etcd…...
重温设计模式--备忘录模式
文章目录 备忘录模式(Memento Pattern)概述定义: 作用:实现状态的保存与恢复支持撤销 / 恢复操作 备忘录模式UML图备忘录模式的结构原发器(Originator):备忘录(Memento)&…...
如何借助边缘智能网关实现厂区粉尘智能监测告警
在诸如木制品加工、纺织品加工、塑料橡胶制品加工等多种工业生产场景中,粉尘问题的隐患和风险不可小觑。如果缺少对生产环境中粉尘的监测和管理,可能发生易燃易爆、环境污染和工人尘肺等生产事故。 针对工业场景中的粉尘状况监测、管理及预警,…...
解析mysqlbinlog
一、前置设置 ps -ef | grep mysql 查看mysql进程对应的安装目录 需设置mysql binlog日志模式为 ROW 二、执行命令 [rootlocalhost bin]# mysqlbinlog --verbose --base64-outputdecode-rows /usr/local/mysql/data/binlog.000069 > 1.sql 查看文件具体内容...
【gym】理解gym并测试gym小游戏CartPole (一)
一、gym与文件位置的联合理解 import gym import inspect# 加载 CliffWalking 环境 env gym.make(CliffWalking-v0)# 获取环境的类 env_class type(env)# 获取环境类所在的文件路径 file_path inspect.getfile(env_class)print(f"The source code for CliffWalking-v0…...
【jvm】内存泄漏的8种情况
目录 1. 说明2. 静态集合类持有对象引用3. 单例模式4. 内部类持有外部类5. 未关闭的连接6. 变量不合理的作用域7. 改变对象的哈希值8. 缓存Cache泄漏9. 监听器和回调 1. 说明 1.内存泄漏(Memory Leak)指的是程序中动态分配的内存由于某种原因没有被释放…...
android:sharedUserId 应用进程声明介绍
背景 adb install 安装系统软件报错,原因是签名不一致,进程改变。 代码分析 AndroidManifest.xml 定义的 android:sharedUserId 应用归属进程不同,从phone切换到system。 初始配置 <manifest xmlns:android="http://schemas.android.com/apk/res/android"c…...
WPSJS:让 WPS 办公与 JavaScript 完美联动
随着办公自动化需求的日益增长,WPS Office 推出了 WPSJS,这是一款强大的开发者工具,允许开发者通过 JavaScript 脚本与 WPS 办公软件进行互动。无论是在表格中自动填充数据、在文档中修改格式,还是在演示文稿中插入动态内容&#…...
【Linux进程】进程间通信(共享内存、消息队列、信号量)
目录 前言 1. System V IPC 2. 共享内存 系统调用接口 shmget ftok shmat shmdt shmctl 共享内存的读写 共享内存的描述对象 3. 消息队列 msgget msgsnd msgctl 消息队列描述对象 4. 信号量 系统调用接口 semget semctl 信号量描述对象 5. 系统层面IPC资源 6.…...
负载均衡的原理
负载均衡(Load Balancing)是一种计算机技术,用于在多个服务器、网络连接、计算资源之间合理分配工作负载,以提升应用程序的可用性、性能和可扩展性,以下是详细介绍: 工作原理 流量分配:负载均衡…...
Flash Attention
op融合 原始方法: 痛点:多次读取、写入显存。 解决:中间结果不保存,1个kernel顺序算完多个操作。 反向传播时用到这些中间结果要求导,怎么办? 答:类似activation checkpointing,重新…...
Craft CMS 模板注入导致 Rce漏洞复现(CVE-2024-56145)(附脚本)
0x01 产品描述: Craft CMS 是一个灵活且强大的内容管理系统(CMS),专为创意团队和开发人员设计,提供高度可定制、直观且性能优越的网站和内容管理解决方案。它以用户友好的界面、强大的插件生态系统以及支持现代web开发最佳实践的特性而闻名0x02 漏洞描述: 由于模板…...
步进电机位置速度双环控制实现
步进电机位置速度双环控制实现 野火stm32电机教学 提高部分-第11讲 步进电机位置速度双环控制实现(1)_哔哩哔哩_bilibili PID模型 位置环作为外环,速度环作为内环。设定目标位置和实际转轴位置的位置偏差,经过位置PID获得位置期望,然后讲位置期望(位置变化反映了转轴的速…...
Sigrity Optimize PI CapGen仿真教程文件路径
为了方便读者能够快速上手和学会Sigrity Optimize PI和 Deacap Generate 的功能,将Sigrity Optimize PI CapGen仿真教程专栏所有文章对应的实例文件上传至以下路径 https://download.csdn.net/download/weixin_54787054/90171471?spm1001.2014.3001.5503...
open Feign日志输出
openFeign默认是没有日志输出的,只有在open Feign所在的包的级别达到debug才会有输出,而且级别有四级。 四种日志级别: OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。而且其日志级别有4级: NON…...
进程间关系与守护进程
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 进程间关系与守护进程 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 进程组 什…...
C++设计模式:组合模式(公司架构案例)
组合模式是一种非常有用的设计模式,用于解决**“部分-整体”**问题。它允许我们用树形结构来表示对象的层次结构,并且让客户端可以统一地操作单个对象和组合对象。 组合模式的核心思想 什么是组合模式? 组合模式的目的是将对象组织成树形结…...
ubuntu 安装docker
Step1:更新系统软件包 sudo apt update Step2:安装依赖包【用于通过HTTPS来获取仓库】 sudo apt install apt-transport-https ca-certificates curl software-properties-common Step3:添加Docker官方GPG密钥 sudo -i curl -fsSL https://…...
PSDK的编译与ROS包封装
本文档讲述在NIVIDIA开发板上使用大疆提供的Payload SDK获取无人机实时GPS信息的方法,以及基于Payload SDK发布ROS GPS话题信息的方法。 文章目录 0 实现目标1 Payload SDK1.1 PSDK 源码的编译1.2 PSDK 的使用 2 遥测数据的读取2.1 示例代码结构2.2 读取机载GPS信息…...
【工作流】工作顺序
背景 当时的情况是:没有产品经理,后端直接和需求方对接;前端只能短时间投入大部分时间要忙别的;只有3个角色:需求方,后端,前端; 当时直接执行的 直接使用会议了解需求,…...
Unity2021.3.16f1可以正常打开,但是Unity2017.3.0f3却常常打开闪退或者Unity2017编辑器运行起来就闪退掉
遇到问题: 从今年开始,不知道咋回事,电脑上的Unity2017像是变了个人似得,突然特别爱闪退掉,有时候还次次闪退,真是让人无语,一直以来我都怀疑是不是电脑上安装了什么别的软件了,导致…...
Java基础面试题20:Java语言sendRedirect()和forward()方法有什么区别?
Java基础面试题:Java语言sendRedirect()和forward()方法有什么区别? 在 Java Web 开发中,sendRedirect() 和 forward() 是两个非常常用的方法,但它们有一些核心区别。我们来用最简单的方式给你解释清楚。 一、sendRedirect() 和 …...
2、光同步数字传送网的特点
同步复用 光同步数字传送网(SDH)采用同步复用方式。它将多个低速信号复用成高速信号,与准同步数字体系(PDH)的异步复用不同。在 SDH 中,各支路信号与复用后的高速信号是同步的,这种同步复用的方…...
3.4 stm32系列:定时器(PWM、定时中断)
一、定时器概述 1.1 软件定时原理 使用纯软件(CPU死等)的方式实现定时(延时)功能; 不精准的延迟: /* 微秒级延迟函数* 不精准* stm32存在压出栈过程需要消耗时间* 存在流水线,执行时间不确定…...
【环境搭建】Python、PyTorch与cuda的版本对应表
一个愿意伫立在巨人肩膀上的农民...... 在深度学习的世界里,选择合适的工具版本是项目成功的关键。CUDA、PyTorch和Python作为深度学习的三大支柱,它们的版本匹配问题不容忽视。错误的版本组合可能导致兼容性问题、性能下降甚至项目失败。因此࿰…...
【经验总结】AUTOSAR架构下基于TJA1145收发器偶发通信丢失不可恢复问题分析
目录 前言 正文 1.问题描述 2.尝试问题复现 3.尝试问题定位 4.直接原因 5.总结 前言 在《【CAN通信】TJA1145收发器重要功能介绍》一文中我们详细介绍了TJA1145收发器的重点内容,最近在开发测试过程中就遇到了一个CAN通信丢失且不可恢复的偶发问题,解决该问题的思路和…...
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
如果在安装的时候,不小心选中了认证码选项,那么后面登录帝国后台都会要求输入认证码才能登录,如何去除这个设置呢,笔者以古诗词网 www.gushichi.com为例,为大家举例说明! 去除步骤如下: 1.前往…...
CTF入门:单主机渗透——flag_XEE的常规思路
学习通过技术手段获取目标主机中预置的5个flag值。 在kali操作机中打开终端,然后使用nmap工具对目标机器进行端口扫描: nmap -sT 192.168.12.26 访问80端口。 网站首页是一个登录框,在界面上有一个提示的标签“弱口令”,说…...
Note2024122303_Code2Docu插件使用
Note2024122303_Code2Docu插件初使用V1.0 step1: 安装 跳转链接 文档阅读:下载文档阅读。 根据文档内容,大概知道首先下载并安装插件: 资料说明和安装方式: 意思是: 下载文件后直接运行 Code2Docu_Installati…...
深度学习之目标检测篇——残差网络与FPN结合
特征金字塔多尺度融合特征金字塔的网络原理 这里是基于resnet网络与Fpn做的结合,主要把resnet中的特征层利用FPN的思想一起结合,实现resnet_fpn。增强目标检测backone的有效性。代码实现如下: import torch from torch import Tensor from c…...
共模电感的工作原理
共模电感也称为共模扼流线圈,是一种抑制共模干扰的器件,它是由两个尺寸相同,匝数相同的线圈对称地绕制在同一个铁氧体环形磁芯上,形成的一个四端器件。当共模电流流过共模电感时,磁芯上的两个线圈产生的磁通相互叠加&a…...
mysql高阶语句
mysql高阶语句 1.对结果排序 SELECT id,name,score FROM info; #由于对id设置了主键约束,默认排序按id的大小升序排序 select name,score from info order by score; #默认按升序(从小到大排序) select name,score from info order by score…...
sfnt-pingpong -测试网络性能和延迟的工具
sfnt-pingpong 是一个用于测试网络性能和延迟的工具,通常用于测量不同网络环境下的数据包传输性能、吞吐量、延迟等指标。 它通常是基于某种网络协议(如 TCP)执行“ping-pong”式的测试,即客户端和服务器之间相互发送数据包&…...
PostgreSQL 的历史
title: PostgreSQL 的历史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能强大且广泛使用的开源关系型数据库管理系统。其历史可以追溯到1986年,当时由加州大学伯克利分校的一个研究团队开发。文章将深入探讨 PostgreSQL 的起源、…...
【express-generator】01-安装和基本使用
创建和初始化项目 安装 npm i -g express-generator 创建一个express应用程序 //express 文件名 express blog_demo 跟着提示 cd blog_demo //移动到该目录下 npm install //初始化 npm start //启动服务 在页面打开localhost:3000(默认启动的端口)…...
20241230 基础数学-线性代数-(1)求解特征值(numpy, scipy)
所有代码实现,基于教程中的理论通过python实现出来的。效率不高,但有代码可以看。 由于scipy/sckitlearn/sparkx 底层的实现都被封装了(小白兔水平有限,fortran代码实在没看懂)这里的实现至少可以和理论公式对应的上。…...
无人零售 4G 工业无线路由器赋能自助贩卖机高效运营
工业4G路由器为运营商赋予 “千里眼”,实现对贩卖机销售、库存、设备状态的远程精准监控,便于及时补货与维护;凭借强大的数据实时传输,助力深度洞察销售趋势、优化库存、挖掘商机;还能远程升级、保障交易安全、快速处理…...
python+opencv+棋盘格实现相机标定及相对位姿估计
pythonopencv棋盘格实现相机标定及相对位姿估计 引言1,使用相机采集含棋盘格图像14张2,进行相机标定(1)测试软件1标定结果(内参及畸变系数)(2)测试软件2标定结果(内参及畸…...
【YashanDB知识库】in大量参数时查询性能慢
本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7802939.html?templateId1718516 **【标题】**in大量参数时查询性能慢 **【关键字】**in 大量参数 FAST FULL SCAN INDEX RANGE SCAN **【问题描述】**测试表数据量200w,表…...
kubevirt网络
六、KubeVirt网络 KubeVirt网络相关组件 用户在KubeVirt平台创建虚拟机只需创建一个vmi(Virtual Machine Instance)对象,之后virt-controller会根据vmi对象中的信息创建一个Pod,这里把这个Pod叫做vmi pod。Vmi pod中有kubevirt组…...
LeetCode100之腐烂的橘子(994)--Java
1.问题描述 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元…...
【Leetcode】855. 考场就座
文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 在考场里,有 n n n 个座位排成一行,编号为 0 0 0 到 n − 1 n - 1 n−1。 当学生进入考场后,他必须坐在离最近的人最远的座位上。如果有多个…...
AI,cursor快速上手思维导图
https://cursor101.com/zh/tutorial/learn-cursor-tab...
【演化博弈】期望收益函数公式、复制动态方程——化简功能技巧
期望化简 在演化博弈论的研究中,期望收益函数和复制动态方程是核心工具。化简这些公式的功能技巧具有以下几个重要作用: 提高公式的可读性和理解度 复杂的数学表达式可能让人感到困惑。通过化简,公式变得更加简单和易读,使研究者…...
常用Linux命令
常用Linux命令介绍 1.ls命令用于列出当前目录的内容,包括目录、文件和压缩包等。 2.ls命令的参数可以以长格式显示文件信息,如修改时间、文件大小等。 3.使用ls -a参数可以显示隐藏文件和文件夹。 4.通过ls -lh命令可以以人类可读的方式显示文件和文件夹…...
记录树莓派4B安装向日葵的过程
到向日葵官网下载向日葵 for Linux的麒麟Arm64版本;sudo dpkg -i 文件名.deb 安装;安装依赖: sudo apt install libappindicator3-1 如果没有的话就使用: sudo apt install libayatana-appindicator3-1 关闭wayvnc服务及其自启动…...
模型 课题分离
系列文章 分享 模型,了解更多👉 模型_思维模型目录。明确自我与他人责任。 1 课题分离的应用 1.1课题分离在心理治疗中的应用案例:李晓的故事 李晓,一位28岁的软件工程师,在北京打拼。他面临着工作、家庭和感情的多重…...
docker部署微信小程序自动构建发布和更新
通过 Jenkins 和 Docker 部署微信小程序,并实现自动构建、发布和版本更新,主要涉及以下几个步骤: 设置 Jenkins 环境配置 GitLab 与 Jenkins 的集成构建 Docker 镜像部署和发布微信小程序配置 Jenkins 自动构建 以下是详细的步骤说明&#…...