Linux操作系统学习:day06

内容来自:Linux介绍

视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g++ -动态库/静态库 -makefile-gdb调试](

目录

    • day06
      • 35、使用 rar 工具进行压缩和解压缩
        • 压缩 (.rar)
        • 解压缩 (.rar)
      • 36、使用 rar 工具进行压缩和解压缩
        • 压缩(.tar.xz)
        • 解压缩(.tar.xz)
      • 37、xz 格式的文件的压缩和解压缩
        • 1、压缩(.tar.xz)
        • 2、解压缩(.tar.xz)
      • 38、使用 find 基于文件名和类型进行目录搜索
        • 1、文件名 (`-name`)
        • 2、文件类型 (`-type`)
      • 39、使用 find 基于文件大小进行目录搜索
      • 40、指定 find 搜索的目录层级
      • 41、使用 find 同时执行多个操作
        • 1、同时执行多个操作
          • 1. exec
          • 2. ok
          • 3. xargs

day06

35、使用 rar 工具进行压缩和解压缩

rar这种压缩格式在Linux中并不常用, 这是Windows常用的压缩格式, 如果想要在Linux压缩和解压这种格式的文件需要额外安装对应的工具, 不同版本的Linux安装方式也是不同的。

  • Ubuntu

    # 执行在线下载命令即可
    $ sudo apt install rar
    
  • CentOS

    # 需要下载安装包, 官方地址: https://www.rarlab.com/download.htm
    # 从下载页面找到 Linux 版本的下载链接并复制链接地址, 使用 wget 下载到本地
    $ wget https://www.rarlab.com/rar/rarlinux-x64-6.0.0.tar.gz# 将下载得到的 rarlinux-x64-6.0.0.tar.gz 压缩包解压缩, 得到解压目录 rar
    $ tar zxvf rarlinux-x64-6.0.0.tar.gz # 将得到的解压目录移动到 /opt 目录中 (因为/opt软件安装目录, 移动是为了方便管理, 不移动也没事儿)
    # 该操作需要管理员权限, 我是使用 root 用户操作的
    $ mv ./rar /opt# 给 /opt/rar 目录中的可执行程序添加软连接, 方便命令解析器可以找到该压缩命令
    $ ln -s /opt/rar/rar /usr/local/bin/rar
    $ ln -s /opt/rar/unrar /usr/local/bin/unrar
    

    该方法在任何版本的Linux系统中都适用

压缩 (.rar)

使用 rar 压缩过程中的注意事项和 zip 是一样的,如果压缩的是目录,需要指定参 -r,如果只压缩文件就不需要添加了。压缩过程中需要使用参数 a (archive),压缩归档的意思。

rar 工具在生成压缩包的时候也会自动添加后缀,名字为 .rar,因此我们只需要指定压缩包的名字。

# 文件压缩, 需要使用参数 a, 压缩包名会自动添加后缀 .rar
# 如果压缩了目录, 需要加参数 -r
# 语法: 
$ rar a 压缩包名 要压缩的文件 [-r]# 举例
# 查看目录文件信息
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt  temp# 压缩文件 onepiece.txt, robin.txt 和目录 get/ 到要是文件 all.rar 中
[root@VM-8-14-centos ~/luffy]# rar a all onepiece.txt get/ robin.txt -r RAR 6.00   Copyright (c) 1993-2020 Alexander Roshal   1 Dec 2020
Trial version             Type 'rar -?' for helpEvaluation copy. Please register.Creating archive all.rarAdding    onepiece.txt                     OK 
Adding    get/link.lnk                     OK        # 子目录中的文件也被压缩了 
Adding    get/onepiece/haha.txt            OK        # 子目录中的文件也被压缩了
Adding    get/link.txt                     OK        # 子目录中的文件也被压缩了  
Adding    robin.txt                        OK 
Adding    get/onepiece                     OK         
Done
[root@VM-8-14-centos ~/luffy]# ls
all.rar  get  onepiece.txt  robin.txt  temp
解压缩 (.rar)

解压缩 .rar 格式的文件的时候,可以使用 rar 也可以使用 unrar,操作方式是一样的,需要添加参数 x ,默认是将压缩包内容释放到当前目录中,如果要释放到指定目录直接指定解压目录名即可,不需要使用任何参数。

# 解压缩: 需要参数 x
# 语法: 解压缩到当前目录中
$ rar/unrar x 压缩包名字# 语法: 解压缩到指定目录中
rar/unrar x 压缩包名字 解压目录

举例:

# 查看目录文件信息
[root@VM-8-14-centos ~/luffy]# ls
all.rar  get  onepiece.txt  robin.txt  temp# 删除 temp 目录中的所有文件
[root@VM-8-14-centos ~/luffy]# rm temp/* -rf# 将 all.rar 中的文件解压缩到 temp 目录中
[root@VM-8-14-centos ~/luffy]# rar x all.rar temp/ RAR 6.00   Copyright (c) 1993-2020 Alexander Roshal   1 Dec 2020
Trial version             Type 'rar -?' for helpExtracting from all.rarExtracting  temp/onepiece.txt               OK 
Creating    temp/get                        OK
Extracting  temp/get/link.lnk               OK          # 子目录文件也被释放出来了
Extracting  temp/get/link.lnk               OK          # 子目录文件也被释放出来了
Extracting  temp/get/link.lnk               OK          # 子目录文件也被释放出来了
Creating    temp/get/onepiece               OK                    
Extracting  temp/get/link.lnk               OK          # 子目录文件也被释放出来了 
Extracting  temp/get/link.lnk               OK          # 子目录文件也被释放出来了 
Extracting  temp/get/onepiece/haha.txt      OK
Extracting  temp/get/link.txt               OK 
Extracting  temp/robin.txt                  OK 
All OK# 查看 temp 目录中文件信息
[root@VM-8-14-centos ~/luffy]# ls temp/
get  onepiece.txt  robin.txt


36、使用 rar 工具进行压缩和解压缩

.xz 格式的文件压缩和解压缩都相对比较麻烦,通过一个命令是完不成对应的操作的,需要通过两步操作才行。并且操作过程中需要使用 tar 工具进行打包,压缩使用的则是 xz 工具。

压缩(.tar.xz)

创建文件的步骤如下, 首先 将需要压缩的文件打包 tar cvf xxx.tar files,然后再对打包文件进行压缩 xz -z xxx.tar,这样我们就可以得到一个打包之后的压缩文件了。

使用 xz工具压缩文件的时候需要添加参数 -z

# 语法:
# 第一步
$ tar cvf xxx.tar 要压缩的文件
# 第二步, 最终得到一个xxx.tar.xz 格式的压缩文件
$ xz -z xxx.tar

举例:

# 查看目录文件信息
[root@VM-8-14-centos ~/luffy]# ls
get  onepiece.txt  robin.txt  temp# 将文件 onepiece.txt, robin.txt 和目录 get 打包到 all.tar 中
[root@VM-8-14-centos ~/luffy]# tar cvf all.tar onepiece.txt robin.txt get/
onepiece.txt
robin.txt
get/
get/link.lnk
get/onepiece/
get/onepiece/haha.txt
get/link.txt# 查看目录文件信息, 多了一个打包文件 all.tar
[root@VM-8-14-centos ~/luffy]# ls
all.tar  get  onepiece.txt  robin.txt  temp# 使用 xz 工具压缩打包文件 all.tar
[root@VM-8-14-centos ~/luffy]# xz -z all.tar # 最终得到了压缩之后的打包文件 all.tar.xz
[root@VM-8-14-centos ~/luffy]# ls
all.tar.xz  get  onepiece.txt  robin.txt  temp
解压缩(.tar.xz)

解压缩的步骤和压缩的步骤相反,需要先解压缩,然后将文件包中的文件释放出来。

使用 xz 工具解压需要使用参数 -d

# 语法:
# 第一步: 压缩包解压缩, 得到 xxx.tar
$ xz -d xxx.tar.xz
# 第二步: 将 xxx.tar 中的文件释放到当前目录
$ tar xvf xxx.tar 	

举例:

# 查看目录中文件信息, 有一个 all.tar.xz
[root@VM-8-14-centos ~/luffy]# ls
all.tar.xz  get  onepiece.txt  robin.txt  temp# 将 all.tar.xz 解压缩, 得到 all.tar
[root@VM-8-14-centos ~/luffy]# xz -d all.tar.xz # 查看目录文件, 得到了 all.tar
[root@VM-8-14-centos ~/luffy]# ls
all.tar  get  onepiece.txt  robin.txt  temp# 释放 all.tar 到当前目录
[root@VM-8-14-centos ~/luffy]# tar xvf all.tar 
onepiece.txt
robin.txt
get/
get/link.lnk
get/onepiece/
get/onepiece/haha.txt
get/link.txt


37、xz 格式的文件的压缩和解压缩

.xz 格式的文件压缩和解压缩都相对比较麻烦,通过一个命令是完不成对应的操作的,需要通过两步操作才行。并且操作过程中需要使用 tar 工具进行打包,压缩使用的则是 xz 工具。

1、压缩(.tar.xz)

创建文件的步骤如下,首先将需要压缩的文件打包 tar cvf xxx.tar files,然后再对打包文件进行压缩 xz -z xxx.tar,这样我们就可以得到一个打包之后的压缩文件了。

使用 xz 工具压缩文件的时候需要添加参数 -z

# 语法:
# 第一步
$ tar cvf xxx.tar 要压缩的文件
# 第二步, 最终得到一个xxx.tar.xz 格式的压缩文件
$ xz -z xxx.tar

举例

# 查看目录文件信息
# ls
get  onepiece.txt  robin.txt  temp# 将文件 onepiece.txt, robin.txt 和目录 get 打包到 all.tar 中
# tar cvf all.tar onepiece.txt robin.txt get/
onepiece.txt
robin.txt
get/
get/link.lnk
get/onepiece/
get/onepiece/haha.txt
get/link.txt# 查看目录文件信息, 多了一个打包文件 all.tar
# ls
all.tar  get  onepiece.txt  robin.txt  temp# 使用 xz 工具压缩打包文件 all.tar
# xz -z all.tar # 最终得到了压缩之后的打包文件 all.tar.xz
# ls
all.tar.xz  get  onepiece.txt  robin.txt  temp
2、解压缩(.tar.xz)

解压缩的步骤和压缩的步骤相反,需要先解压缩,然后将文件包中的文件释放出来。

使用 xz 工具解压需要使用参数 -d

# 语法:
# 第一步: 压缩包解压缩, 得到 xxx.tar
$ xz -d xxx.tar.xz
# 第二步: 将 xxx.tar 中的文件释放到当前目录
$ tar xvf xxx.tar 			

举例

# 查看目录中文件信息, 有一个 all.tar.xz
# ls
all.tar.xz  get  onepiece.txt  robin.txt  temp# 将 all.tar.xz 解压缩, 得到 all.tar
# xz -d all.tar.xz # 查看目录文件, 得到了 all.tar
# ls
all.tar  get  onepiece.txt  robin.txt  temp# 释放 all.tar 到当前目录
# tar xvf all.tar 
onepiece.txt
robin.txt
get/
get/link.lnk
get/onepiece/
get/onepiece/haha.txt
get/link.txt


38、使用 find 基于文件名和类型进行目录搜索

在使用Linux系统的时候,我们经常会需要查找某些文件,但是大多数情况下我们并不能确定这些文件的具体位置,这样的话就非常浪费我们的时间。Linux为我们提供了很多的用于文件搜索的命令,如果需求比较简单可以使用 locatewhichwhereis 来完成搜索,如果需求复杂可以使用 findgrep进行搜索。其中 which在前边已经介绍过了,使用方法和功能就直接略过了,whereis局限性太大,不常用这里也就不介绍了。

find 是Linux中一个搜索功能非常强大的工具,它的主要功能是根据文件的属性,查找对应的磁盘文件, 比如说我们常用的一些属性 文件名文件类型文件大小文件的目录深度 等,下面基于这些常用数据来讲解一些具体的使用方法。

如果想用通过属性对文件进行搜索,只需要指定出属性对应的参数就可以了,下面将依次进行介绍。

1、文件名 (-name)

根据文件名进行搜索有两种方式:精确查询模糊查询。关于模糊查询必须要使用对应的通配符,最常用的有两个,分别为 *?。其中 * 可以匹配零个或者多个字符, ? 用于匹配单个字符

如果我们进行模糊查询建议(非必须)将带有通配符的文件名写到引号中(单引号或者双引号都可以),这样可以避免搜索命令执行失败(如果不加引号,某些情况下会这样)。

如果需要根据文件名进行搜索, 需要使用参数 -name

# 语法格式: 根据文件名搜索 
$ find 搜索的路径 -name 要搜索的文件名

根据文件名搜索举例:

# 模式搜索
# 搜索 root 家目录下文件后缀为 txt 的文件
$ find /root -name "*.txt"
/root/luffy/get/onepiece/haha.txt
/root/luffy/get/onepiece/onepiece.txt
/root/luffy/get/onepiece.txt
/root/luffy/get/link.txt
/root/luffy/robin.txt
/root/luffy/onepiece.txt
/root/ace/brother/finally/die.txt
/root/onepiece.txt################################################### 精确搜索
# 搜索 root 家目录下文件名为 onepiece.txt 的文件
$ find /root -name "onepiece.txt"
/root/luffy/get/onepiece/onepiece.txt
/root/luffy/get/onepiece.txt
/root/luffy/onepiece.txt
/root/onepiece.txt
2、文件类型 (-type)

在前边文章中已经介绍过 Linux中有7中文件类型,如果有去求我们可以通过 find 对指定类型的文件进行搜索,该属性对应的参数为 -type。其中每种类型都有对应的关键字,如下表:

文件类型类型的字符描述
普通文件类型f
目录类型d
软连接类型l
字符设备类型c
块设备类型b
管道类型p
本地套接字类型s
# 语法格式: 
$ find 搜索的路径 -type 文件类型

根据文件类型搜索举例:

# 搜索 root 用户家目录下, 软连接类型的文件
$ find /root -type l
/root/link.lnk
/root/luffy/get/link.lnk
/root/file/link


39、使用 find 基于文件大小进行目录搜索

如果需要根据文件大小进行搜索,需要使用参数 -size。关于文件大小的单位有很多,可以根据实际需求选择,常用的分别有 k(小写)M(大写)G(大写)

在进行文件大小判断的时候,需要指定相应的范围,涉及的符号有两个分别为:加号(+) 和 减号(-),下面具体说明其使用方法:

# 语法格式: 
$ find 搜索的路径 -size [+|-]文件大小- 文件大小需要加单位: - k (小写)- M (大写)- G (大写)

关于文件大小的区间划分非常重要,请仔细阅读,并思考,可以自己画个图,这里以 4k来举例:

  1. -size 4k 表示的区间为 (4-1k,4k],表示一个区间,大于3k,小于等于4k
  2. -size -4k[0k, 4-1k],表示一个区间,大于等于0 并且 小于等于3k
  3. -size +4k:(4k, 正无穷),表示搜索大于4k的文件

根据文件大小搜索举例:

# 搜索当前目录下 大于1M的所有文件 (file>3M)
$ find ./ -size +3M# 搜索当前目录下 大于等于0M并且小于等于2M的文件 (0M <= file <=2M)
$ find ./ -size -3M# 搜索当前目录下 大于2M并且小于等于3M的文件 (2M < file <=3M)
$ find ./ -size 3M# 搜索当前目录下 大于1M 并且 小于等于 3M 的文件
$ find ./ -size +1M -size -4M


40、指定 find 搜索的目录层级

因为Linux的目录是树状结构,所有目录可能有很多层,在搜索某些属性的时候可以指定只搜索某几层目录,相关的参数有两个,分别为:-maxdepth-mindepth

这两个参数不能单独使用, 必须和其他属性一起使用,且该参数必须要在所有参数前面才可生效,也就是搜索某几层目录中满足条件的文件。

  • -maxdepth:最多搜索到第多少层目录 ,
  • -mindepth:至少从第多少层开始搜索。

下面通过 find 搜索某几层目录中文件名满足条件的文件:

# 查找文件, 从根目录开始, 最多搜索5层, 这个文件叫做 *.txt (1 <= 层数 <= 5)
$ sudo find / -maxdepth 5 -name "*.txt"# 查找文件, 从根目录开始, 至少从第5层开始搜索, 这个文件叫做 *.txt (层数>=5层)
$ sudo find / -mindepth 5 -name "*.txt"


41、使用 find 同时执行多个操作

1、同时执行多个操作

在搜索文件的时候如果想在一个 find 执行多个操作,通过使用管道(|)的方式是行不通的,比如下面的操作:

# 比如: 通过find搜索最多两层目录中后缀为 .txt 的文件, 然后再查看这些满足条件的文件的详细信息
# 在find操作中直接通过管道操作多个指令, 最终输出的结果是有问题, 因此不能直接这样使用
$ find ./ -maxdepth 2  -name "*.txt" | ls -l
total 612
drwxr-xr-x 2 root root   4096 Jan 26 18:11 a
-rw-r--r-- 1 root root    269 Jan 26 17:44 a.c
drwxr-xr-x 3 root root   4096 Jan 26 18:39 ace
drwxr-xr-x 4 root root   4096 Jan 25 15:21 file
lrwxrwxrwx 1 root root     24 Jan 25 17:27 link.lnk -> /root/luffy/onepiece.txt
drwxr-xr-x 4 root root   4096 Jan 26 18:39 luffy
-r--r--r-- 1 root root     37 Jan 26 16:50 onepiece.txt
-rw-r--r-- 1 root root 598314 Dec  2 02:07 rarlinux-x64-6.0.0.tar.gz

如果想要实现上面的需求,需要在 find 中使用 exec, ok, xargs, 这样就可以在 find 命令执行完毕之后,再执行其他的子命令了。

1. exec

-exec 是 find 的参数,可以在exec参数后添加其他需要被执行的shell命令

find 添加了 exec 参数之后, 命令的 尾部需要加 一个后缀 {} \;, 注意 {}\ 之间需要有一个空格。

在参数-exec后添加的shell命令处理的是find搜索之后的结果, find的结果会作为 新添加的shell命令 的输入,最后在终端上输出最终的处理结果。

# 语法:
$ find 路径 参数 参数值 -exec shell命令2 {} \;

命令的使用效果演示:

# 搜索最多两层目录, 文件名后缀为 .txt的文件
$ find ./ -maxdepth 2  -name "*.txt" 
./luffy/robin.txt
./luffy/onepiece.txt
./onepiece.txt# 搜索到满足条件的文件之后, 再继续查看文件的详细属性信息
$ find ./ -maxdepth 2  -name "*.txt" -exec ls -l {} \; 
-rw-r--r-- 1 root root 0 Jan 25 17:54 ./luffy/robin.txt
-r--r--r-- 2 root root 37 Jan 25 17:54 ./luffy/onepiece.txt
-r--r--r-- 1 root root 37 Jan 26 16:50 ./onepiece.txt
2. ok

-ok-exec 都是find命令的参数,使用方式类似,但是这个参数是交互式的,在处理find的结果的时候,会向用户发起询问,比如在删除搜索结果的时候,为了保险起见,就需要询问机制了。

语法格式如下:

# 语法: 其实就是将 -exec 替换为 -ok, 其他都不变
$ find 路径 参数 参数值 -ok shell命令2 {} \;

命令效果演示:

# 搜索到了2个满足条件的文件
$ find ./ -maxdepth 1  -name "*.txt"
./aaaaa.txt 
./english.txt# 查找并显示文件详细信息
$ find ./ -maxdepth 1  -name "*.txt" -ok ls -l {} \;     
< ls ... ./aaaaa.txt > ? y		# 同意显示文件详细信息
-rw-rw-r-- 1 robin robin 10 Apr 17 11:34 ./aaaaa.txt
< ls ... ./english.txt > ? n	# 不同意显示文件详细信息, 会跳过显示该条信息# 什么时候需要交互呢? ---> 删除文件的时候
$ find ./ -maxdepth 1  -name "*.txt" -ok rm -rf {} \;     
< rm ... ./aaaaa.txt > ? y		# 同意删除
< rm ... ./english.txt > ? n	# 不同意删除# 删除一个文件之后再次进行相同的搜索
$ find ./ -maxdepth 1  -name "*.txt"
./english.txt		# 只剩下了一个.txt 文件
3. xargs

在使用 find-exec 参数的时候, 需要在指定的子命令尾部添加几个特殊字符 {} \;,一不小心就容易写错,有一种看起来更加直观、书写更加简便的方式,我们可以使用 xargs 替换掉 -exec 参数,而且在处理数据的时候 xargs更高效。有了 xargs 的加持我们就可以在 find 命令中直接使用管道完成前后命令的数据传递,使用方法如下:

# 在find 中 使用 xargs 关键字我们就可以使用管道了, 否则使用管道也不会起作用
# 将 find 搜索的结果通过管道传递给后边的shell命令继续处理
$ find 路径 参数 参数值 | xargs shell命令2

命令效果演示:

# 查找文件
$ find ./ -maxdepth 1  -name "*.cpp" 
./occi.cpp
./main.cpp
./test.cpp# 查找文件, 并且显示文件的详细信息
$ find ./ -maxdepth 1  -name "*.cpp" | xargs ls -l
-rw-r--r-- 1 robin robin 2223 Mar  2  2020 ./main.cpp
-rw-r--r-- 1 robin robin 1406 Mar  2  2020 ./occi.cpp
-rw-r--r-- 1 robin robin 2015 Mar  1  2020 ./test.cpp# xargs的效率比使用 -exec 效率高-exec:  将find查询的结果逐条传递给后边的shell命令-xargs: 将find查询的结果一次性传递给后边的shell命令

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

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

相关文章

003-GeoGebra如何无缝嵌入到PPT里

GeoGebra无缝嵌入到PPT里真是一个头疼的问题&#xff0c;已成功解决&#xff0c;这里记录一下&#xff0c;希望可以帮助到更多人。 注意&#xff0c;后续所有的文章说的PPT都是Offce Power Point, 不要拿着WPS的bug来问我哦&#xff0c;我已经戒WPS了&#xff08;此处表示无奈&…

Hologres:高性能实时数据分析引擎

Hologres&#xff1a;高性能实时数据分析引擎 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 随着数据量的爆发式增长和数据处理需求的不断提升&#xff0c;高…

Flink ProcessFunction不同流异同及应用场景

ProcessFunction系列对比概览 函数类别关键特性应用场景示例ProcessFunction基础类&#xff0c;处理单个事件&#xff0c;支持事件时间、水位线、状态管理、定时器。单独处理每个事件&#xff0c;执行复杂逻辑&#xff0c;如基于事件内容动态响应。KeyedProcessFunction基于键…

adb热更新

模拟器连接AndroidStudio 解决:adb server version (36) doesnt match this client (40); killing... 1.G:\ProgramFils\android-sdk\platform-tools adb --version 2.H:\yeshen\Nox\bin adb --version 3.把G:\ProgramFils\android-sdk\platform-…

Vue组件化、单文件组件以及使用vue-cli(脚手架)

文章目录 1.Vue组件化1.1 什么是组件1.2 组件的使用1.3 组件的名字1.4 嵌套组件 2.单文件组件2.1 vue 组件组成结构2.1.1 template -> 组件的模板结构2.1.2 组件的 script 节点2.1.3 组件的 style 节点 2.2 Vue组件的使用步骤2.2.1 组件之间的父子关系2.2.2 使用组件的三个步…

直播电商APP源码

你有没有想过&#xff0c;如何通过手机就能够触手可及地购买到你想要的商品呢?直播电商APP源码&#xff0c;为你带来了全新的购物体验。它不仅为用户提供了便捷快速的购物平台&#xff0c;还为商家提供了一个高效的销售渠道。 武汉迅狐科技有限公司研发的直播电商APP源码&…

大模型日报 2024-06-28

大模型日报 2024-06-28 大模型资讯 1.寒武纪1号诞生&#xff1a;谢赛宁Yann LeCun团队发布最强开源多模态LLM 谢赛宁 Yann LeCun 团队发布了寒武纪1号&#xff0c;这是一个开源的多模态LLM模型。该模型以视觉为中心&#xff0c;探索了多种不同的视觉编码器及其组合&#xff…

Python | Leetcode Python题解之第190题颠倒二进制位

题目&#xff1a; 题解&#xff1a; class Solution:# param n, an integer# return an integerdef reverseBits(self, n):n (n >> 16) | (n << 16);n ((n & 0xff00ff00) >> 8) | ((n & 0x00ff00ff) << 8);n ((n & 0xf0f0f0f0) >&g…

virtualbox安装win10

等到安装完成 设备下选择安装增强功能

Android Input事件注入

1. Android可以通过adb shell input xxx命令注入输入事件&#xff0c;调用IMS.injectInputEvent&#xff0c;最终走到通过JNI调用InputDispatcher注入事件&#xff0c;没有经过InputReader public class Input extends BaseCommand {// ... ... ... ...Input() {COMMANDS.put(…

AUTOSAR NvM模块(一)

NvMBlockDescriptor [ECUC_NVM_00061] 用于存储所有特定于块的配置参数的容器。对于每个非易失性随机存取存储器&#xff08;NVRAM&#xff09;块&#xff0c;应该指定这个容器的一个实例。 NvMBlockCrcType 定义了NVRAM块的CRC数据宽度。根据Autosar标准&#xff0c;此参数…

Web渗透-逻辑漏洞

一、概述 逻辑漏洞是指由于程序逻辑不严或逻辑太复杂&#xff0c;导致一些逻辑分支不能够正常处理或处理错误&#xff0c;一般出现任意密码修改&#xff08;没有旧密码验证&#xff09;,越权访问&#xff0c;密码找回&#xff0c;交易支付金额等。对常见的漏洞进行过统计&…

2毛钱不到的2A同步降压DCDC电压6V频率1.5MHz电感2.2uH封装SOT23-5芯片MT3520B

前言 2A&#xff0c;2.3V-6V输入&#xff0c;1.5MHz 同步降压转换器&#xff0c;批量价格约0.18元 MT3520B 封装SOT23-5 丝印AS20B5 特征 高效率&#xff1a;高达 96% 1.5MHz恒定频率操作 2A 输出电流 无需肖特基二极管 2.3V至6V输入电压范围 输出电压低至 0.6V PFM 模式可在…

Symfony事件调度系统:掌控应用程序生命周期的钥匙

Symfony事件调度系统&#xff1a;掌控应用程序生命周期的钥匙 引言 Symfony是一个高度灵活的PHP框架&#xff0c;用于构建各种规模的Web应用程序。它的核心特性之一是事件调度系统&#xff0c;该系统允许开发者在应用程序的生命周期中触发和监听事件。这种机制为开发者提供了…

TS_开发一个项目

目录 一、编译一个TS文件 1.安装TypeScript 2.创建TS文件 3.编译文件 4.用Webpack打包TS ①下载依赖 ②创建文件 ③启动项目 TypeScript是微软开发的一个开源的编程语言&#xff0c;通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或…

我在高职教STM32——时钟系统与延时控制(1)

大家好&#xff0c;我是老耿&#xff0c;高职青椒一枚&#xff0c;一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次&#xff0c;同行应该都懂的&#xff0c;老师在课堂上教学几乎是没什么成就感的。正因如此&#xff0c;才有了借助 CSDN 平台寻求认同感和成就…

MySQL 重新初始化实例

1、关闭mysql服务 service mysqld stop 2、清理datadir(本例中指定的是/var/lib/mysql)指定的目录下的文件&#xff0c;将该目录下的所有文件删除或移动至其他位置 cd /var/lib/mysql mv * /opt/mysql_back/ 3、初始化实例 /usr/local/mysql/bin/mysqld --initialize --u…

免交互

1、定义 交互&#xff1a;我们发出指令控制程序的运行&#xff0c;程序在接受到指令之后按照指令的效果做出对应的反应。 免交互&#xff1a;间接的通过第三方把指令传送给程序&#xff0c;不用直接的下达指令 2、Here Document 免交互 这是命令行格式也可以写在脚本当中。…

6.26.4.3 条件生成对抗和卷积网络用于x射线乳房质量分割和形状分类

一种基于条件生成对抗网络(conditional Generative Adversarial Networks, cGAN)的乳房肿块分割方法。假设cGAN结构非常适合准确地勾勒出质量区域&#xff0c;特别是当训练数据有限时。生成网络学习肿瘤的内在特征&#xff0c;而对抗网络强制分割与基础事实相似。从公开DDSM数据…

【语言模型】深入探索语言模型中的神经网络算法:原理、特点与应用

随着人工智能技术的飞速发展&#xff0c;神经网络算法在语言模型中的应用日益广泛&#xff0c;为自然语言处理领域带来了革命性的变革。本文将深入探讨当前语言模型中常用的几种神经网络算法&#xff0c;包括全连接神经网络、卷积神经网络、循环神经网络、长短期记忆网络、门控…