Linux(2)|入门的开始:Linux基本指令(2)

一、基本指令介绍

回顾上篇博客Linux(1)|入门的开始:Linux基本指令-CSDN博客,我们已经学习了mkdir目录的创建,touch普通文件的创建,光有创建肯定是不行的,接下来就介绍我们的删除指令

1、rmdir指令&&rm指令

rmdir是一个与mkdir相对应的指令。mkdir是建立目录,rmdir是删除目录

语法:rmdir空格[-p]空格[dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:-p当子目录被删除后,如果父目录也变成空目录的话,就连带父目录一起删除

[xzx@instance-157t533k 9_3]$ mkdir test
[xzx@instance-157t533k 9_3]$ ll
total 4
drwxrwxr-x 2 xzx xzx 4096 Sep  3 09:53 test
[xzx@instance-157t533k 9_3]$ cd test
[xzx@instance-157t533k test]$ ll
total 0
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ rmdir -p test
[xzx@instance-157t533k 9_3]$ ll
total 0

mkdir创建test目录,cd进去后为空,cd ..返回上级目录,使用rmdir -p test删除test目录,ll查看,test已被我们成功删除

rm指令可以同时删除文件或目录

语法:rm空格[选项]空格[dirName/FileName]

适用对象:所有的使用者

功能:删除文件或目录

注意:Linux中删除了无法恢复(恢复极其困难,默认为无法恢复)

常用选项:

1、-r递归删除
2、-f在删除时,会询问是否删除,-f可以跳过询问,直接删除
3、-rf递归强制删除
4、-i删除前逐一询问确认
[xzx@instance-157t533k test]$ mkdir -p d1/d2/d3
[xzx@instance-157t533k test]$ tree
.
└── d1└── d2└── d33 directories, 0 files
[xzx@instance-157t533k test]$ touch data.txt
[xzx@instance-157t533k test]$ tree
.
├── d1
│   └── d2
│       └── d3
└── data.txt3 directories, 1 file
[xzx@instance-157t533k test]$ rm -r d1
[xzx@instance-157t533k test]$ rm data.txt
[xzx@instance-157t533k test]$ tree
.0 directories, 0 files

这里有一条神奇的指令:rm -rf /,意思为从根目录递归删除所有文件和目录,不要轻易尝试哦

2、*通配符(匹配任意名称的文件或目录)

1、ls *匹配全部目录或文件

2、ls *.c匹配所有. c后缀的文件

3、ls test.*匹配所有test.前缀文件

4、rm * -rf删除所有(当前目录下)

[xzx@instance-157t533k test]$ mkdir -p d1/d2/d3
[xzx@instance-157t533k test]$ touch test.c
[xzx@instance-157t533k test]$ touch data.txt
[xzx@instance-157t533k test]$ touch test1.c
[xzx@instance-157t533k test]$ ll
total 4
drwxrwxr-x 3 xzx xzx 4096 Sep  3 10:26 d1
-rw-rw-r-- 1 xzx xzx    0 Sep  3 10:27 data.txt
-rw-rw-r-- 1 xzx xzx    0 Sep  3 10:27 test1.c
-rw-rw-r-- 1 xzx xzx    0 Sep  3 10:26 test.c
[xzx@instance-157t533k test]$ ls *
data.txt  test1.c  test.cd1:
d2
[xzx@instance-157t533k test]$ ls *.c
test1.c  test.c
[xzx@instance-157t533k test]$ ls test.*
test.c
[xzx@instance-157t533k test]$ rm * -rf
[xzx@instance-157t533k test]$ ll
total 0

3、man指令

Linux的命令有很多参数,我们不可能全记住,所以我们可以通过查看联机手册获取帮助。

语法:man空格[选项]查找内容

man man:man的用法
MAN(1)                                 Manual pager utils                                 MAN(1)NAMEman - an interface to the on-line reference manualsSYNOPSISman  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R  encoding] [-L locale] [-m sys‐tem[,...]] [-M path] [-S list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only][-a]  [-u]  [--no-subpages]  [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation][--no-justification] [-p string] [-t] [-T[device]] [-H[browser]]  [-X[dpi]]  [-Z]  [[sec‐tion] page ...] ...man -k [apropos options] regexp ...man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...man -f [whatis options] page ...man  -l  [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager][-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z]file ...man -w|-W [-C file] [-d] [-D] page ...man -c [-C file] [-d] [-D] page ...man [-?V]

man 1:查基本指令,man 2:系统调用接口,man 3:查c语言库函数

对于man手册的查询,man+查询内容,默认先到手册1中查找,然后依次向后查找

例如我们想要查一查c语言库函数printf,直接输入man空格printf回车会发生什么呢?

PRINTF(1)                                   User Commands                                  PRINTF(1)NAMEprintf - format and print dataSYNOPSISprintf FORMAT [ARGUMENT]...printf OPTIONDESCRIPTIONPrint ARGUMENT(s) according to FORMAT, or execute according to OPTION:--help display this help and exit--versionoutput version information and exitFORMAT controls the output as in C printf.  Interpreted sequences are:\"     double quote\\     backslash

此时我们查到的printf,不是我们想要的那个,也证明了我们上面所说的默认查询手册1

通过man空格3空格printf,我们查到正确的内容

PRINTF(3)                             Linux Programmer's Manual                            PRINTF(3)NAMEprintf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - formatted outputconversionSYNOPSIS#include <stdio.h>int printf(const char *format, ...);int fprintf(FILE *stream, const char *format, ...);int sprintf(char *str, const char *format, ...);int snprintf(char *str, size_t size, const char *format, ...);#include <stdarg.h>int vprintf(const char *format, va_list ap);int vfprintf(FILE *stream, const char *format, va_list ap);int vsprintf(char *str, const char *format, va_list ap);int vsnprintf(char *str, size_t size, const char *format, va_list ap);Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

4、一些补充的内容

为了更好的配合下一条指令cp,这里将补充一些会用上的知识

1、echo+字符串:将字符串内容打印到命令行控制台上

[xzx@instance-157t533k test]$ echo 'hello world'
hello world
[xzx@instance-157t533k test]$ echo "helo world"
helo world
[xzx@instance-157t533k test]$ echo hello word
hello word

这里的字符串并不是c/c++定义的那样,支持单引号、双引号和直接输入

2、cat+文件:打印文件内容

[xzx@instance-157t533k test]$ cat test.txt
hello world

我们往test.txt中写入了hello world,通过cat打印到控制台上

3、输出重定向

[xzx@instance-157t533k test]$ echo hello world
hello world
[xzx@instance-157t533k test]$ echo hello world > test.txt
[xzx@instance-157t533k test]$ cat test.txt
hello world

我们能观察到什么?

1、原本的echo将字符串内容打印到控制台上
2、经过>操作过后,原本在控制台打印的字符串没有出现
3、在文件中,我们发现了本该打印在控制台的字符串,此时被写入到文件中

最终:在>符号的作用下,本该打印在控制台的字符串内容,被打印到了文件中,这就叫做输出重定向

4、cp指令

语法:cp空格[选项]空格源文件/目录空格目标文件/目录

功能:复制文件或目录

说明:cp指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后的目的地时一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录/文件下。若同时指定多个文件/目录,而最后的目的地并非一个已存在的目录/文件,则会出现错误信息

[xzx@instance-157t533k test]$ ll
total 4
-rw-rw-r-- 1 xzx xzx  0 Sep  3 16:44 data.txt
-rw-rw-r-- 1 xzx xzx 12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ cp test.txt data.txt ../test1
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ ll
total 8
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:44 test
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:44 test1
[xzx@instance-157t533k 9_3]$ cd test1
[xzx@instance-157t533k test1]$ ll
total 4
-rw-rw-r-- 1 xzx xzx  0 Sep  3 16:44 data.txt
-rw-rw-r-- 1 xzx xzx 12 Sep  3 16:44 test.txt

可以看到test和data文件复制到了test1目录下

[xzx@instance-157t533k 9_3]$ ll
total 8
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:44 test
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:44 test1
[xzx@instance-157t533k 9_3]$ cd test
[xzx@instance-157t533k test]$ ll
total 4
-rw-rw-r-- 1 xzx xzx  0 Sep  3 16:44 data.txt
-rw-rw-r-- 1 xzx xzx 12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ cp data.txt test.txt ../test2
cp: target ‘../test2’ is not a directory

因为上一个目录下,没有test2目录的存在,所以弹出报错信息

cp 源 目的地:将源的内容拷贝到目的地,如果源和目的地在同一目录/文件下,则名字不能相同

[xzx@instance-157t533k test]$ ll
total 8
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ cp -r test1 .
cp: ‘test1’ and ‘./test1’ are the same file

由于test下已经存在test1的目录,我们再次复制test1到当前目录下,提示有相同文件

cp -r 源 目的地:拷贝目录

[xzx@instance-157t533k 9_3]$ ll
total 8
drwxrwxr-x 3 xzx xzx 4096 Sep  3 16:53 test
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:57 test1
[xzx@instance-157t533k 9_3]$ cd test
[xzx@instance-157t533k test]$ ll
total 8
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ rm -rf test1
[xzx@instance-157t533k 9_3]$ ll
total 4
drwxrwxr-x 3 xzx xzx 4096 Sep  3 16:53 test
[xzx@instance-157t533k 9_3]$ cd test
[xzx@instance-157t533k test]$ ll
total 8
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ cp test1 ..
cp: omitting directory ‘test1’
[xzx@instance-157t533k test]$ cp -r test1 ..
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ ll
total 8
drwxrwxr-x 3 xzx xzx 4096 Sep  3 16:53 test
drwxrwxr-x 2 xzx xzx 4096 Sep  3 17:02 test1

通过ll我们知道在我们9_3目录下有test和test1两个目录,在test中有data、test.txt和test1目录,我们尝试将test下的test1目录复制到上级目录,9_3之下。先rm -rf test1在9_3目录下,然后cd到test中,我们发先cp test1 ..会报错,大概意思是复制目录需要-r递归复制,才能保证整个目录被完整复制

常用选项:

1、-f或-force 强行复制文件/目录,不论目的地文件/目录是否已存在
[xzx@instance-157t533k test]$ ll
total 8
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ cp -f test.txt ../test2
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ ll
total 12
drwxrwxr-x 3 xzx xzx 4096 Sep  3 16:53 test
drwxrwxr-x 2 xzx xzx 4096 Sep  3 17:02 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 17:13 test2
[xzx@instance-157t533k 9_3]$ cd test2
-bash: cd: test2: Not a directory
[xzx@instance-157t533k 9_3]$ cat test2
hello world
[xzx@instance-157t533k 9_3]$ cd test
[xzx@instance-157t533k test]$ ll
total 8
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ cat test.txt
hello world

将test.txt强行复制到上级目录下的test2,由于test2未创建,强行复制后再9_3目录下出现了test2的普通文件,并用cat查看内容,与test.txt的内容相同

2、-i或-inreractive 覆盖文件之前先询问用户
[xzx@instance-157t533k test]$ ll
total 8
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 11:39 test.txt
[xzx@instance-157t533k test]$ echo hello china > test.txt
[xzx@instance-157t533k test]$ cat test.txt
hello china
[xzx@instance-157t533k test]$ cp -i test.txt ../test2
cp: overwrite ‘../test2’? y
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ cat test2
hello china

之前的test.txt和test2中保存的都是hello world,我们通过输入重定向,将hello china重新写入test.txt中,将test.txt复制到上级目录中的test2,可以看到再加-i选项后,会询问是否覆盖,我们输入y也就是yes,可以看到test2的内容被更改成了hello china

3、-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
[xzx@instance-157t533k test]$ mkdir -p d1/d2/d3
[xzx@instance-157t533k test]$ tree
.
├── d1
│   └── d2
│       └── d3
├── data.txt
├── test1
└── test.txt4 directories, 2 files
[xzx@instance-157t533k test]$ cp -rf d1 ..
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ tree
.
├── d1
│   └── d2
│       └── d3
├── test
│   ├── d1
│   │   └── d2
│   │       └── d3
│   ├── data.txt
│   ├── test1
│   └── test.txt
├── test1
└── test29 directories, 3 files

先通过mkdir -p d1/d2/d3,递归创造出d1d2d3,然后再将其拷贝到上级目录下,并通过tree展示出来

4、-R或-recursive 递归处理,将指定目录下的文件和子目录一并处理

5、mv指令

mv指令是move的缩写,可以用来移动文件或文件改名是Linux下常用的命令,经常用来备份文件或者目录

语法:mv空格[选项]空格源文件/目录空格目的地文件/目录

功能:所有mv操作可以认为剪切+重命名(没有重命名,使用默认名);mv操作在语义上相同,不过mv目录时,目的地目录存在,源目录会移动到目的地目录下

1、重命名
[xzx@instance-157t533k test]$ ll
total 12
drwxrwxr-x 3 xzx xzx 4096 Sep  3 17:24 d1
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 17:20 test.txt
[xzx@instance-157t533k test]$ mv test.txt test_new.txt
[xzx@instance-157t533k test]$ ll
total 12
drwxrwxr-x 3 xzx xzx 4096 Sep  3 17:24 d1
-rw-rw-r-- 1 xzx xzx    0 Sep  3 16:44 data.txt
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 17:20 test_new.txt
2、剪切
[xzx@instance-157t533k test]$ cat test_new.txt
hello china
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ cd test
[xzx@instance-157t533k test]$ mv test_new.txt ..
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ ll
total 20
drwxrwxr-x 3 xzx xzx 4096 Sep  3 17:25 d1
drwxrwxr-x 4 xzx xzx 4096 Sep  3 19:44 test
drwxrwxr-x 2 xzx xzx 4096 Sep  3 17:02 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 17:20 test2
-rw-rw-r-- 1 xzx xzx   12 Sep  3 17:20 test_new.txt
[xzx@instance-157t533k 9_3]$ cat test_new.txt
hello china
3、重命名+剪切
[xzx@instance-157t533k test]$ echo hello Linux > data.txt
[xzx@instance-157t533k test]$ cat data.txt
hello Linux
[xzx@instance-157t533k test]$ mv data.txt ../test.txt
[xzx@instance-157t533k test]$ ll
total 8
drwxrwxr-x 3 xzx xzx 4096 Sep  3 17:24 d1
drwxrwxr-x 2 xzx xzx 4096 Sep  3 16:53 test1
[xzx@instance-157t533k test]$ cd ..
[xzx@instance-157t533k 9_3]$ ll
total 24
drwxrwxr-x 3 xzx xzx 4096 Sep  3 17:25 d1
drwxrwxr-x 4 xzx xzx 4096 Sep  3 19:48 test
drwxrwxr-x 2 xzx xzx 4096 Sep  3 17:02 test1
-rw-rw-r-- 1 xzx xzx   12 Sep  3 17:20 test2
-rw-rw-r-- 1 xzx xzx   12 Sep  3 17:20 test_new.txt
-rw-rw-r-- 1 xzx xzx   12 Sep  3 19:47 test.txt
[xzx@instance-157t533k 9_3]$ cat test.txt
hello Linux

二、结语

到这里,我们已经完整掌握了 Linux 中与 “删除 - 查询 - 复制 - 移动” 相关的核心指令:从只能删除空目录的rmdir,到功能强大但需谨慎使用的rm(尤其警惕rm -rf /);从能匹配各类文件的*通配符,到帮我们随时查手册的man;还有搭配echo、cat和输出重定向使用的cp,以及兼具重命名与剪切功能的mv。这些指令看似基础,却是搭建 Linux 操作体系的关键基石,日常文件管理、目录操作都离不开它们。​

后续我们会继续深入 Linux 指令世界,探索更多实用功能。大家在实际操作时,建议多动手尝试指令的不同选项,同时牢记 Linux 删除操作的不可逆性,避免误操作带来的数据损失。如果在练习中遇到问题,不妨用man指令自主查询,逐步培养独立解决 Linux 问题的能力,我们下一篇博客再见!

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

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

相关文章

sv中forever如何结束

在 SystemVerilog 中&#xff0c;forever 循环本身无法自我结束。它的设计初衷就是创建一个永不终止的循环。 因此&#xff0c;要结束一个 forever 循环&#xff0c;必须从外部强制中断它。主要有以下两种方法&#xff1a;1. 使用 disable 语句&#xff08;最常用和推荐的方法&…

关于熵减 - 从法拉第圆盘到SEG

我们清楚的知道法拉第圆盘发电机的原理。当导线切割磁感线的时候&#xff0c;会产生电流&#xff0c;当然电流产生需要的是电动势&#xff0c;也就是&#xff0c;这里写 不写 &#xff0c;避免和电场强度混淆。根据上面的分析&#xff0c;我们知道磁场强度特斯拉 的单位&#x…

【机器学习】实战:市场增长点分析挖掘项目

在电商行业激烈竞争的背景下&#xff0c;精准挖掘市场增长点是企业保持竞争力的关键。本文基于拜耳官方旗舰店驱虫剂市场分析项目&#xff0c;先对原文核心内容进行梳理与解读&#xff0c;再续写关键的竞争分析模块&#xff0c;形成完整的市场增长点挖掘闭环&#xff0c;为企业…

【Day 18】21.合并两个有序链表 2.两数相加

文章目录21.合并两个有序链表题目&#xff1a;思路&#xff1a;迭代代码实现&#xff08;Go&#xff09;&#xff1a;2.两数相加题目&#xff1a;思路&#xff1a;代码实现&#xff08;Go&#xff09;&#xff1a;21.合并两个有序链表 题目&#xff1a; 将两个升序链表合并为…

Vue 3 WebSocket通信方案:从原理到实践

Vue 3 WebSocket通信方案&#xff1a;从原理到实践 在现代Web应用开发中&#xff0c;实时通信已成为许多应用的核心需求。从即时聊天到实时数据更新&#xff0c;用户对应用响应速度的期望越来越高。本文将深入剖析一个Vue 3环境下的WebSocket通信方案&#xff0c;包括基础封装与…

Windows 电源管理和 Shutdown 命令详解

一、Windows 电源管理概述 Windows 操作系统通过其内置的电源管理框架&#xff0c;为用户提供了多种电源状态和配置选项&#xff0c;以在性能、能耗和数据安全之间找到最佳平衡点。以下是 Windows 系统中常见的电源状态及其特点&#xff1a; 1. 睡眠&#xff08;Sleep&#xff…

Selenium WebUI 自动化“避坑”指南——从常用 API 到 10 大高频问题

目录 一、为什么 90% 的 UI 自动化脚本活不过 3 个月&#xff1f; 二、Selenium必会 API 速查 三、实践 四、10 大高频异常“症状 → 病因 → 处方” 五、可复用的工具函数 六、面试高频追问&#xff08;附标准答案&#xff09; 一、为什么 90% 的 UI 自动化脚本活不过 …

【微信小程序】微信小程序基于双token的API请求封装与无感刷新实现方案

文章目录前言一、设计思路二、执行流程三、核心模块3.1 全局配置3.2 request封装3.2.1 request方法配置参数3.2.2 请求预处理3.2.3 核心请求流程3.3 刷新accessToken3.4 辅助方法四、api封装示例总结前言 现代前后端分离的模式中&#xff0c;一般都是采用token的方式实现API的…

基于单片机醉酒驾驶检测系统/酒精检测/防疲劳驾驶设计

传送门 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目速选一览表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目功能速览 概述 该设计基于单片机开发&#xff0c;旨在通过实时检测驾驶员酒精浓度&#xff0c;预防酒后驾驶行为…

第6章:垃圾回收分析与调优

1. 垃圾回收基础 1.1 Java 垃圾回收概述 垃圾回收&#xff08;Garbage Collection&#xff0c;GC&#xff09;是 Java 虚拟机自动内存管理的核心机制。理解 GC 的工作原理对于 Java 应用性能调优至关重要。 1.1.1 垃圾回收的目标 自动内存管理&#xff1a;无需手动释放内存防止…

ROS2核心模块-动作通信、参数服务

动作通信 机器人导航到某个目标点,此过程需要一个节点A发布目标信息&#xff0c;然后一个节点B接收到请求并控制移动&#xff0c;最终响应目标达成状态信息。 乍一看&#xff0c;这好像是服务通信实现&#xff0c;因为需求中要A发送目标&#xff0c;B执行并返回结果&#xff0c…

word文档封面中文件编号等标题和内容无法对齐

问题 word文档封面中文件编号等标题和内容无法对齐&#xff0c;因为标题使用的是底纹不是文件内容。 解决办法 字体大小、行距两者配合就可以解决。

163起融资,梅卡曼德融资额夺冠,钉钉、百度智能云10周年,汉桑科技IPO| 2025年8月人工智能投融资观察 · 极新月报

“ 二级的活跃会传导到一级吗&#xff1f;”文&#xff5c;云舒&小鱼编辑 | 小白出品&#xff5c;极新8月重点关注&#xff1a;1、八月人工智能领域投融资事件163起&#xff0c;披露金额76.8亿人民币。2、亿级人民币以上金额的投资事件共20起 。3、八月人工智能领域发生一起…

微信小程序预览和分享文件

预览文档previewFile(val) { let item val.currentTarget.dataset.item wx.downloadFile({url: item.filePath, // 替换为实际的文件地址success: function (res) {let filePath ${wx.env.USER_DATA_PATH}/${item.fileName}|| res.tempFilePath //查看的文件名wx.openDocumen…

开源 C++ QT Widget 开发(十二)图表--环境监测表盘

文章的目的为了记录使用C 进行QT Widget 开发学习的经历。临时学习&#xff0c;完成app的开发。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 相关链接&#xff1a; 开源 C QT Widget 开发&#xff08;一&#xff09;工程文件结构-CSDN博客 开源…

ARMv8架构01 - ARM64架构寄存器基础

一 、ARM64架构基础 1 ARMv8 A 架构介绍 ARMv8 - A是ARM公司发布的第一代支持64位处理器的指令集和架构。它在扩充64位寄存器的同时提供对上一代架构指令集的兼容&#xff0c;因而能同时提供运行 32位 和 64位应用程序的执行环境。 超大物理地址空间&#xff08;large Physical…

flutter专栏--深入剖析你的第一个flutter应用

使用fvm管理flutter版本 如果你有使用多版本flutter的需求&#xff0c;那么fvm将会给你提供较大的帮助。下面我列举一下mac flutter3.35.2的版本的操作命令&#xff0c;完成之后&#xff0c;你将可以随意切换flutter版本 # 下载fvm相关的依赖 brew tap leoafarias/fvm brew …

MongoDB 聚合查询超时:索引优化与分片策略的踩坑记录

人们眼中的天才之所以卓越非凡&#xff0c;并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。———— 马尔科姆格拉德威尔 &#x1f31f; Hello&#xff0c;我是Xxtaoaooo&#xff01; &#x1f308; “代码是逻辑的诗篇&#xff…

Augmentcode免费额度AI开发WordPress商城实战

Augment AI开发WordPress商城实战&#xff1a;从零构建到免费额度续杯完整指南 前言 在AI编程工具日益普及的今天&#xff0c;如何高效利用这些工具来开发实际项目成为了开发者关注的焦点。本文将详细介绍如何使用Augment AI从零开始构建一个功能完整的WordPress商城系统&#…

【C++八股文】数据结构篇

一、单例模式优化实现 原代码问题分析 ​内存序重排序风险​&#xff1a;双重检查锁在C中可能因指令重排导致半初始化对象被访问​锁粒度过大​&#xff1a;每次获取实例都需要加锁&#xff0c;影响性能​线程安全性不足​&#xff1a;未考虑C11前的内存模型问题 改进方案&a…