Linux快速入门-Linux的常用命令

Linux的常用命令

  • 1. Linux的终端与工作区
    • 1.1 终端概述
    • 1.2 切换终端
  • 2. Shell语言解释器
    • 2.1 Shell概述
  • 3. 用户登录与身份切换
    • 3.1 `su` 命令
    • 3.2 `sudo` 命令
  • 4. 文件、目录操作命令
    • 4.1 `pwd` 命令
    • 4.2 `cd` 命令
    • 4.3 `ls` 命令
      • 4.3.1 `ls 指令叠加使用`
    • 4.4 `mkdir` 命令
    • 4.5 `rmdir` 命令
    • 4.6 `cp` 命令
    • 4.7 `rm` 命令
    • 4.8 `mv` 命令
    • 4.9 `cat` 命令
    • 4.10 `more` 和 `less` 命令
    • 4.11 `head` 和 `tail` 命令
    • 4.12 `touch` 命令
    • 4.13 `ln` 命令
      • 4.13.1 硬链接(Hard Link)
      • 4.13.2 符号链接(Symbolic Link / Symlink)
  • 5. 信息显示命令
    • 5.1 `grep` 命令
    • 5.2 `file` 命令
    • 5.3 `find` 命令
      • `find` 命令的基本语法:
      • 常见用法和示例:
    • 5.4 `locate` 命令
      • `locate` 命令的基本语法:
      • 常见用法和示例:
      • `locate` 与 `find` 的比较:

1. Linux的终端与工作区

1.1 终端概述

Linux操作系统通常提供多个终端,用户可以在这些终端之间切换,以实现多任务处理。常见的终端划分如下:

  • tty1 到 tty6:这些是命令行控制台终端,通常在没有图形界面时使用,每个终端都是独立的工作环境。
  • tty7:这个终端通常是图形用户界面(GUI),如GNOME、KDE等图形化桌面环境。

1.2 切换终端

  • 切换终端:用户可以通过按 Alt + F1Alt + F6 来切换不同的命令行终端。这对于多任务处理非常有用,尤其在需要监控多个任务或会话时。
  • 从图形界面切换到命令行终端:按 Ctrl + Alt + F1Ctrl + Alt + F6 可以跳到一个命令行终端。在图形界面下可以通过 Ctrl + Alt + F7 切换回图形环境。

这种终端管理方式有助于在没有图形界面的环境下进行系统管理,或者在资源受限的情况下执行一些系统任务。


2. Shell语言解释器

2.1 Shell概述

Shell是用户与Linux系统之间的命令语言解释器,主要用于执行命令并与操作系统内核交互。最常见的Shell是Bash(Bourne Again Shell),它具有以下特性:

  • 命令自动补齐:Bash允许通过按 Tab 键来自动补全命令和文件名,极大提高了命令输入的效率。
  • 历史记录:Bash会保存用户输入的命令历史,用户可以通过上下箭头浏览和重新执行之前的命令。
  • 别名:用户可以为常用命令设置别名,简化常见操作。例如,设置 alias ll='ls -l' 可以让 ll 等同于 ls -l
  • 输入输出重定向和管道:可以将命令的输出重定向到文件或通过管道将一个命令的输出传递给另一个命令。例如:ls | grep "txt" 通过管道将 ls 命令的输出传递给 grep 命令。
  • 通配符:Bash支持多种通配符,如 * 匹配任意字符,? 匹配单个字符,[] 匹配指定范围的字符,增强了文件名和目录匹配功能。

这些特性让用户能更高效地与系统交互,执行复杂的命令任务。


3. 用户登录与身份切换

3.1 su 命令

su(Switch User)命令用于切换到指定的用户账户,特别是切换到root账户,以获取更高的权限。其基本格式为:

su [-lm] [-c command] username
  • -l:模拟用户登录环境,通常用于切换到root账户时使用。
  • -m:保留当前环境变量(常用于保留用户的环境)。
  • -c:执行指定的命令。

3.2 sudo 命令

sudo(SuperUser Do)命令允许普通用户在输入自己密码后,以root权限执行命令,而不需要知道root账户的密码。sudo可以增加安全性并限制root权限的使用。格式为:

sudo [-u user] command
  • -u user:指定执行命令的用户(默认为root)。
  • command:要执行的命令。

su不同,sudo命令仅授予用户在特定情况下执行特权命令的权限,减少了滥用root权限的风险。


4. 文件、目录操作命令

4.1 pwd 命令

pwd(Print Working Directory)命令用于显示当前工作目录的绝对路径。常用格式:

pwd
  • -P 参数:显示实际路径,避免符号链接路径的干扰。

4.2 cd 命令

cd(Change Directory)命令用于更改当前工作目录。常见用法包括:

  • cd ~:进入用户的主目录(即 /home/username)。
    在这里插入图片描述

  • cd -:返回上一个访问的目录。

  • cd ..:进入上一级目录。
    在这里插入图片描述

  • cd ../..:进入上两级目录。
    在这里插入图片描述

4.3 ls 命令

ls(List)命令用于列出目录中的文件和子目录。常用选项包括:

  • -a:列出所有文件(包括隐藏文件,即以.开头的文件)。
  • -l:以长格式列出文件信息,包括文件的权限、所有者、大小、修改时间等。
  • ls -l == ll;
  • -F:在文件名后添加标识符,表示文件类型(如目录后加 /,可执行文件后加 *)。
  • -R:递归列出目录及其所有子目录的内容。
  • -t:按文件的修改时间排序,最近修改的文件排在前面。

4.3.1 ls 指令叠加使用

  • ls -al | more :命令会列出当前目录下的所有文件(包括隐藏文件),并使用长格式显示它们的详细信息,然后通过 more 命令分页显示这些信息。这样,当目录中文件很多时,你可以逐页查看输出,而不会一次性显示所有内容。
    在这里插入图片描述

4.4 mkdir 命令

mkdir(Make Directory)命令用于创建目录。常用选项包括:

  • -m:指定目录的权限。
  • -p:递归创建多级目录,例如 mkdir -p /path/to/directory 可以一次性创建多个目录。

4.5 rmdir 命令

rmdir(Remove Directory)命令用于删除空目录。常用选项包括:

  • -p:递归删除父目录,只有在目录为空时才能删除。
  • -v:显示删除过程。

4.6 cp 命令

cp(Copy)命令用于复制文件或目录。常用选项包括:

  • -f:强制覆盖目标文件。
  • -i:在覆盖文件时进行提示。
  • -R:递归复制目录及其内容。
  • -b:备份已存在的目标文件。
  • -a:保持文件的原有属性(包括权限、时间戳等)。
    在这里插入图片描述

4.7 rm 命令

rm(Remove)命令用于删除文件或目录。常用选项包括:

  • -d:删除空目录。
  • -f:强制删除,不提示确认。
  • -r-R:递归删除目录及其内容。
  • -v:显示删除过程。
    在这里插入图片描述

4.8 mv 命令

mv(Move)命令用于移动或重命名文件。常用选项包括:

  • -b:在覆盖目标文件之前备份文件。
  • -f:强制覆盖目标文件。
  • -i:在覆盖文件时进行确认。
  • -u:仅当源文件比目标文件新时,才执行覆盖在这里插入图片描述
    这里 aa就被重命名为ab了

4.9 cat 命令

cat(Concatenate)命令用于显示文件内容、创建文件或合并多个文件。常用选项包括:

  • -n:为输出的每行加上行号。
    在这里插入图片描述
    带行号查看testfile.txt的内容。
    在这里插入图片描述
    合并aa.txt 和bb.txt 并重命名为cc.txt。(aa,bb不会删除)

4.10 moreless 命令

这两个命令用于分页显示文件内容。

  • more:从文件开头开始显示,按空格键翻页。
  • less:与more类似,但提供更强大的导航功能,用户可以向前或向后翻页,支持搜索等。
    在这里插入图片描述
    less查看testfile.txt

4.11 headtail 命令

  • head:显示文件的前n行。例如:head -n 10 file.txt 显示文件的前10行。
  • tail:显示文件的后n行。例如:tail -n 10 file.txt 显示文件的后10行。

4.12 touch 命令

touch 命令用于修改文件的时间戳(访问时间和修改时间),或者创建新的空文件。常用选项包括:

  • -a:仅修改访问时间。
  • -m:仅修改修改时间。

4.13 ln 命令

ln(Link)命令用于创建硬链接或符号链接。常用选项包括:

  • -s:创建符号链接(软链接)。
  • -f:强制覆盖已有链接。
  • -i:在覆盖已有的链接时,提示用户确认。
  • -v:显示命令的详细信息,显示已创建的链接。

4.13.1 硬链接(Hard Link)

硬链接是指多个文件名指向同一个 inode(文件内容和元数据的集合)。删除一个硬链接不会删除文件内容,除非所有指向该 inode 的链接都被删除。

基本用法:

命令格式
ln <源文件> <目标链接>
示例:
ln file1.txt file2.txt
这条命令会创建一个名为 file2.txt 的硬链接,它指向 file1.txt 文件的同一个内容。

注意:
硬链接不能跨文件系统(即不能链接到不同的磁盘分区)。
硬链接无法创建对目录的链接(除非使用超级用户权限)。


4.13.2 符号链接(Symbolic Link / Symlink)

符号链接是一个指向另一个文件或目录的快捷方式。它类似于 Windows 中的快捷方式。符号链接可以跨文件系统,并且可以创建对目录的链接。

命令格式:
ln -s <源文件> <目标链接>

示例:
ln -s /path/to/file1.txt /path/to/symlink.txt
这条命令会创建一个名为 symlink.txt 的符号链接,它指向 /path/to/file1.txt。

查看符号链接: 使用 ls -l 命令查看符号链接的详情。符号链接通常会显示目标文件,例如:
ls -l symlink.txt
输出:
lrwxrwxrwx 1 user user 20 Oct  1 10:00 symlink.txt -> /path/to/file1.txt
其中,l 表示这是一个符号链接,-> /path/to/file1.txt 表示符号链接指向的目标。

删除符号链接: 删除符号链接不会影响原文件内容,只是删除链接本身。
rm symlink.txt

5. 信息显示命令

5.1 grep 命令

grep 命令的基本语法:
grep [选项] '模式' 文件
模式:是要搜索的文本或正则表达式。
文件:指定要搜索的文件名。
常见的 grep 命令用法:
基本用法:查找文本中的模式
grep 'pattern' file.txt
该命令会在 file.txt 文件中查找包含 "pattern" 的行,并将匹配的行输出。
示例:
grep 'hello' file.txt
这会列出 file.txt 中所有包含 "hello" 的行。

忽略大小写(-i 选项) -i 选项使 grep 在搜索时忽略大小写。
grep -i 'pattern' file.txt
示例:
grep -i 'hello' file.txt
这个命令会匹配 hello、Hello、HELLO 等。

显示行号(-n 选项) -n 选项让 grep 在输出时显示匹配行的行号。
grep -n 'pattern' file.txt
示例:
grep -n 'hello' file.txt
输出类似:
2:hello world
5:Hello there
显示不匹配的行(-v 选项) -v 选项会显示不匹配给定模式的行。
grep -v 'pattern' file.txt
示例:
grep -v 'hello' file.txt
这个命令会显示 file.txt 中所有不包含 "hello" 的行。

匹配整个单词(-w 选项) -w 选项确保匹配的是完整的单词。
grep -w 'pattern' file.txt
示例:
grep -w 'hello' file.txt
这个命令只会匹配包含 "hello" 作为单独单词的行,而不会匹配 "helloworld""myhello"。

递归查找(-r 或 -R 选项) -r-R 选项使 grep 在指定目录及其子目录中递归查找。
grep -r 'pattern' /path/to/directory/
示例:
grep -r 'hello' /home/user/
这个命令会递归查找 /home/user/ 目录及其子目录中的所有文件,列出包含 "hello" 的行。

显示匹配的文件名(-l 选项) -l 选项只显示包含模式的文件名,而不显示匹配的行内容。
grep -l 'pattern' *.txt
示例:
grep -l 'hello' *.txt
这个命令会列出当前目录下所有包含 "hello" 的 .txt 文件的文件名。

显示匹配的行数(-c 选项) -c 选项让 grep 输出匹配模式的行数,而不是显示匹配的行。
grep -c 'pattern' file.txt
示例:
grep -c 'hello' file.txt
这个命令会输出 file.txt 中包含 "hello" 的行数。

显示匹配前后的上下文(-B, -A, -C 选项)

-B N:显示匹配行之前的 N 行。
-A N:显示匹配行之后的 N 行。
-C N:显示匹配行之前和之后的 N 行(上下文行)。
示例:
grep -B 2 'hello' file.txt
这个命令会显示所有包含 "hello" 的行及其之前的 2 行内容。
grep -A 3 'hello' file.txt
这个命令会显示所有包含 "hello" 的行及其之后的 3 行内容。
grep -C 2 'hello' file.txt
这个命令会显示所有包含 "hello" 的行及其前后各 2 行内容。

使用正则表达式(-E 选项) grep 默认使用基本正则表达式。如果你需要使用扩展正则表达式(如 +、?、{} 等),可以使用 -E 选项,或者使用 egrep(egrep 是 grep -E 的简写)。
示例:
grep -E 'he+llo' file.txt
这个命令会匹配 hello、heello、heeeello 等字符串。

结合管道使用 grep
grep 通常与其他命令结合使用,通过管道 (|) 将其他命令的输出传递给 grep 进行筛选。
示例:
ps aux | grep 'nginx'
这个命令会列出所有包含 "nginx" 的进程信息。

5.2 file 命令

file 命令的基本语法:
file [选项] 文件名
文件名:要检测类型的文件或目录。
选项:可选,用于控制命令的行为。
常见用法和示例:
查看单个文件的类型:

file example.txt

输出示例:

example.txt: ASCII text

这表示 example.txt 文件是一个 ASCII 文本文件。

查看二进制文件的类型:

file example.bin

输出示例:

example.bin: data

这表示 example.bin 文件是一个二进制数据文件。file 会根据文件的内容尝试识别类型。

查看一个图像文件的类型:

file example.jpg

输出示例:

example.jpg: JPEG image data, EXIF standard 2.21

这表示 example.jpg 是一个 JPEG 图像文件,并且包含 EXIF 信息。

查看可执行文件的类型:

file example.out

输出示例:

example.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.15.0, not stripped

这表示 example.out 是一个 64 位 ELF 可执行文件。

查看多个文件的类型:

file example1.txt example2.jpg example3.bin

输出示例:

example1.txt: ASCII text
example2.jpg: JPEG image data, EXIF standard 2.21
example3.bin: data

这表示 file 可以一次性检测多个文件,并显示每个文件的类型。

查看文件类型并输出详细信息(-i 选项): -i 选项显示文件的 MIME 类型,这对于确定文件的具体格式(如文本编码、图像格式等)非常有用。

file -i example.txt

输出示例:

example.txt: text/plain; charset=us-ascii

这表示 example.txt 是一个普通文本文件,字符集为 US-ASCII。

查看文件类型并输出文件的编码(-b 选项): -b 选项用于省略 file 命令的文件名输出,只显示文件的类型信息。

file -b example.txt

输出示例:

ASCII text

这表示 example.txt 是一个 ASCII 文本文件,并且仅输出类型信息而不显示文件名。

查看文件是否是压缩文件: 如果你不确定文件是否被压缩,可以使用 file 命令查看:

file example.tar.gz

输出示例:

example.tar.gz: gzip compressed data, from Unix, last modified: Mon May 10 10:21:33 2021

这表示 example.tar.gz 是一个 GZIP 压缩文件。

查看文件的 MIME 类型(-m 选项): -m 选项可以让你指定一个自定义的魔法文件来解析文件类型(通常不常用)。

file -m /usr/share/file/magic example.txt

查看一个目录中所有文件的类型(递归检查): 使用 find 和 file 配合,可以查看一个目录中所有文件的类型:

find /path/to/dir -type f -exec file {} \;

这条命令会递归地查看 /path/to/dir 目录下的所有文件并显示它们的类型。

5.3 find 命令

find 是一个强大的命令,用于在文件系统中查找符合条件的文件或目录。它通过递归搜索指定目录及其子目录中的文件,并根据用户指定的条件(如文件名、修改时间、大小等)进行过滤。

find 命令的基本语法:

find [路径] [条件] [操作]
  • 路径:要开始搜索的目录路径,通常为 /(根目录)或当前目录 .
  • 条件:指定查找的条件,如文件名、文件类型、修改时间等。
  • 操作:对查找到的文件进行操作,如删除、打印、修改权限等。

常见用法和示例:

  1. 查找指定目录下的所有文件

    find /path/to/directory
    

    这条命令会递归查找 /path/to/directory 目录下的所有文件和子目录。

  2. 查找指定目录下的所有文件(包括子目录)并按文件名查找

    find /path/to/directory -name 'pattern'
    

    其中 pattern 是文件名的模式,支持通配符。

    示例
    查找 /home/user/ 目录下所有以 .txt 结尾的文件:

    find /home/user -name '*.txt'
    
  3. 忽略大小写进行查找(-iname
    -iname 选项可以在查找文件时忽略大小写。

    示例
    查找所有以 helloHELLO 等形式命名的文件:

    find /home/user -iname 'hello*'
    
  4. 查找某个类型的文件(-type
    使用 -type 选项查找指定类型的文件:

    • f:普通文件
    • d:目录
    • l:符号链接(symlink)

    示例
    查找 /home/user/ 目录下的所有目录:

    find /home/user -type d
    

    查找 /home/user/ 目录下的所有普通文件:

    find /home/user -type f
    
  5. 查找文件并执行操作(-exec
    -exec 选项允许在找到符合条件的文件时执行指定的命令。常用于删除、移动文件或修改文件权限等操作。

    示例
    查找所有 .log 文件并删除:

    find /path/to/directory -name '*.log' -exec rm {} \;
    
    • rm {}:执行删除命令。
    • {} 是一个占位符,表示 find 找到的每个文件。
    • \; 用来结束 -exec 选项。

    示例
    查找所有 .txt 文件并修改权限:

    find /home/user -name '*.txt' -exec chmod 644 {} \;
    
  6. 查找修改时间在一定范围内的文件(-mtime-atime-ctime

    • -mtime:按文件的最后修改时间查找文件。
    • -atime:按文件的最后访问时间查找文件。
    • -ctime:按文件的状态改变时间查找文件。

    选项后面可以跟数字或带符号的数字:

    • +n:表示查找修改时间超过 n 天的文件。
    • -n:表示查找修改时间在 n 天内的文件。
    • n:表示查找恰好修改时间为 n 天的文件。

    示例
    查找 7 天前修改的文件:

    find /path/to/directory -mtime +7
    

    查找过去 7 天内访问过的文件:

    find /path/to/directory -atime -7
    
  7. 查找指定大小的文件(-size
    -size 选项用于查找特定大小的文件。单位可以是:

    • b:块(512字节)
    • c:字节
    • k:KB
    • M:MB
    • G:GB

    示例
    查找大于 100MB 的文件:

    find /path/to/directory -size +100M
    

    查找小于 10KB 的文件:

    find /path/to/directory -size -10k
    
  8. 查找并列出空文件或空目录(-empty
    -empty 选项用于查找空文件或空目录。

    示例
    查找空目录:

    find /path/to/directory -type d -empty
    

    查找空文件:

    find /path/to/directory -type f -empty
    
  9. 查找指定权限的文件(-perm
    -perm 选项用于查找具有特定权限的文件,可以指定权限的数字值或符号模式。

    示例
    查找权限为 755 的文件:

    find /path/to/directory -perm 755
    

    查找所有可执行的文件:

    find /path/to/directory -perm /111
    
  10. 查找文件并限制最大搜索深度(-maxdepth-mindepth

    • -maxdepth N:限制搜索的最大深度为 N 级。
    • -mindepth N:限制搜索的最小深度为 N 级。

    示例
    查找 /path/to/directory 中最多一层深度的文件:

    find /path/to/directory -maxdepth 1
    

5.4 locate 命令

locate 是一个非常快速的文件查找工具,它通过查询一个预先构建的数据库来查找文件,而不是实时遍历文件系统。因此,locate 命令的查找速度非常快,但前提是数据库必须是最新的。默认情况下,locate 使用的数据库是由 updatedb 命令定期更新的。

locate 命令的基本语法:

locate [选项] 查找模式
  • 查找模式:这是你要查找的文件或目录的名称模式,支持通配符(如 *?)来进行模糊匹配。

常见用法和示例:

  1. 查找文件

    locate filename
    

    这条命令会在 locate 数据库中查找所有包含 “filename” 的文件路径。

    示例
    查找所有包含 “nginx” 的文件路径:

    locate nginx
    

    输出示例:

    /etc/nginx/nginx.conf
    /var/log/nginx/access.log
    /usr/sbin/nginx
    
  2. 使用通配符查找文件
    locate 支持使用通配符来进行模糊匹配:

    • *:匹配任意字符(包括零个字符)。
    • ?:匹配一个字符。

    示例
    查找所有 .txt 结尾的文件:

    locate *.txt
    

    查找以 “log” 开头且以 “.txt” 结尾的文件:

    locate log*.txt
    
  3. 查找并限制结果显示(-n 选项)
    -n 选项用来限制显示的结果数。

    示例
    显示匹配到的前 10 个结果:

    locate -n 10 nginx
    
  4. 查看详细路径信息(-i 选项)
    -i 选项用于忽略大小写进行查找。

    示例
    查找所有不区分大小写的 “nginx” 文件:

    locate -i nginx
    
  5. 查看文件的完整路径(-c 选项)
    -c 选项会显示匹配到的文件数量,而不是文件路径。

    示例
    查找包含 “nginx” 的文件,并输出文件总数:

    locate -c nginx
    
  6. 更新数据库(updatedb 命令)
    locate 使用的数据库并非实时更新,而是定期通过 updatedb 命令来更新。通常这个过程是由系统定时任务(如 cron)来执行的,但用户也可以手动执行 updatedb 来更新数据库。

    示例
    手动更新数据库:

    sudo updatedb
    
  7. 查找文件路径中包含特定目录(-r 选项)
    -r 选项用于使用正则表达式来查找路径中符合条件的文件。

    示例
    查找路径中包含 “nginx” 的文件:

    locate -r nginx
    
  8. 查找文件路径中排除某个目录(-e 选项)
    -e 选项用于排除包含某个目录的文件。

    示例
    查找包含 “log” 的文件,但排除路径中包含 “nginx” 的文件:

    locate log -e nginx
    

locatefind 的比较:

  • 速度locate 基于一个预先构建的数据库来查找文件,因此搜索速度非常快;而 find 则是实时查找文件,速度较慢,尤其是在大文件系统上。
  • 实时性locate 依赖于数据库,如果数据库没有及时更新,可能无法找到最近添加的文件。而 find 是实时查找,能找到最新的文件。
  • 使用场景:如果你需要快速查找文件且不需要实时更新,可以使用 locate;如果需要实时查找文件,或者需要复杂的查找条件(如查找文件类型、大小等),则应使用 find

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一区牛顿-拉夫逊算法+分解+深度学习!VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测

一区牛顿-拉夫逊算法分解深度学习&#xff01;VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测 目录 一区牛顿-拉夫逊算法分解深度学习&#xff01;VMD-NRBO-Transformer-GRU多变量时间序列光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院一区…

机器学习04-为什么Relu函数

机器学习0-为什么Relu函数 文章目录 机器学习0-为什么Relu函数 [toc]1-手搓神经网络步骤总结2-为什么要用Relu函数3-进行L1正则化修改后的代码解释 4-进行L2正则化解释注意事项 5-Relu激活函数多有夸张1-细数Relu函数的5宗罪2-Relu函数5宗罪详述 6-那为什么要用这个Relu函数7-文…

RunCam WiFiLink连接手机图传测试

RunCam WiFiLink中文手册从这里下载 一、摄像头端 1.连接天线&#xff08;易忘&#xff09; 2.打开摄像头前面的盖子&#xff08;易忘&#xff09; 3.接上直流电源&#xff0c;红线为正&#xff0c;黑线为负 4.直流电源设置电压为14v&#xff0c;电流为3.15A&#xff0c; 通…

STM32之GPIO输出与输出

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 一.GPIO输入1.1GPIP简介1.2GPIO基本结构1.3GPIO位结构1.4GPIO的八种模式1.4.1浮空/上拉/下拉输入1.4.2 模拟输入1.4.3 推挽输出\开漏输出 二.GPIO输入2.1.按键介绍2.2传感器模块介绍2.3按键电路 一.G…

动手学深度学习-多层感知机-10预测房价

目录 下载和缓存数据集 Kaggle 访问和读取数据集 数据预处理 训练 K折交叉验证 模型选择 提交Kaggle预测 小结 之前几节我们学习了一些训练深度网络的基本工具和网络正则化的技术&#xff08;如权重衰减、暂退法等&#xff09;。 本节我们将通过Kaggle比赛&#xff0c…

左神算法基础巩固--1

文章目录 时间复杂度常数时间的操作时间复杂度的定义时间复杂度的作用剖析递归行为和递归行为时间复杂度的估算 排序选择排序冒泡排序插入排序归并排序小和问题问题描述解题思路 快速排序荷兰国旗问题问题描述 堆排序堆结构大根堆小根堆 桶排序 二分二分搜索 ^的运用不用额外空…

【C++读写.xlsx文件】OpenXLSX开源库在 Ubuntu 18.04 的编译、交叉编译与使用教程

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-12-17 …

汽车电子零部件(15):AVM全景影像系统

概述: 使用ADAS全景监控(AVM)精确停车和操纵。这项先进技术采用多个摄像头,提供车辆周围环境的鸟瞰图。 360度全景监控系统: 360 AVM系统可以帮助驾驶员360度查看车辆周围的情况,避免发生碰撞。360 AVM系统由一个电子控制单元(ECU)和四个摄像头组成。ECU将处理四个摄…

C语言习题2.0

C语言习题1.0 C语言习题-CSDN博客 目录 C语言习题1.0 C语言习题-CSDN博客 找一个数字的连续因子 求N个分数的和 正整数AB 函数 预处理 文件处理 操作符 找一个数字的连续因子 //找连续因子,及其个数 int main() {int a;scanf("%d", &a);int num 0; …

flask flask-socketio创建一个网页聊天应用

应用所需环境&#xff1a; python 3.11.11 其他 只需要通过这个命令即可 pip install flask3.1.0 Flask-SocketIO5.4.1 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 最好是用conda创建一个新的虚拟环境来验证 完整的pip list如下 Package Version ----…

重拾设计模式--观察者模式

文章目录 观察者模式&#xff08;Observer Pattern&#xff09;概述观察者模式UML图作用&#xff1a;实现对象间的解耦支持一对多的依赖关系易于维护和扩展 观察者模式的结构抽象主题&#xff08;Subject&#xff09;&#xff1a;具体主题&#xff08;Concrete Subject&#xf…

正则表达式优化之算法和效率优化

正则表达式优化之算法和效率优化 前言 正则表达式是处理文本匹配的强大工具&#xff0c;但在实际应用中&#xff0c;如果不加以优化&#xff0c;可能会导致性能问题或匹配结果不精确。 本文将分三篇从表达式结构、算法效率和实际应用场景三个方面. 深入探讨如何优化正则表达…

workman服务端开发模式-应用开发-gateway长链接端工作原理

一、长链接的工作原理 Register类其实也是基于基础的Worker开发的。Gateway进程和BusinessWorker进程启动后分别向Register进程注册自己的通讯地址&#xff0c;Gateway进程和BusinessWorker通过Register进程得到通讯地址后&#xff0c;就可以建立起连接并通讯了。而Gateway进程…

排序算法 (插入,选择,冒泡,希尔,快速,归并,堆排序)

排序:经常在算法题中作为一个前置操作,为了之后的贪心or else做个铺垫,虽然我们经常都只是调用个sort,但是了解一些排序算法可以扩充下知识库 排序的分类: 从存储设备角度&#xff1a; ✓ 内排序&#xff1a;在排序过程中所有数据元素都在内存中&#xff1b; ✓ 外排序&a…

云途领航:现代应用架构助力企业转型新篇

在数字化转型的浪潮中&#xff0c;现代应用架构为企业带来了灵活性、效率和创新能力。各类服务模型相继出现&#xff0c;为企业提供了强有力的支持&#xff0c;助力其顺利转型。随着技术的快速发展&#xff0c;企业面临的挑战和机遇也在不断演变&#xff0c;这促使它们必须重新…

【IMU:视觉惯性SLAM系统】

视觉惯性SLAM系统简介 相机&#xff08;单目/双目/RGBD)与IMU结合起来就是视觉惯性&#xff0c;通常以单目/双目IMU为主。 IMU里面有个小芯片可以测量角速度与加速度&#xff0c;可分为6轴(6个自由度)和9轴&#xff08;9个自由度&#xff09;IMU&#xff0c;具体的关于IMU的介…

面试题整理3----nc命令的常见用法

面试题整理3----nc命令的常见用法 1. NC是什么2. NC的常用参数2.1 开启指定端口TCP监听(-l小写的L)2.2 测试端口是否能访问(-v)2.3 开启指定端口UDP监听(-u)2.4 端口扫描(-z)2.5 指定超时时间(-w)2.6 指定本地端口号连接(-p)2.7 指定的命令(-e) 1. NC是什么 nc&#xff08;Net…

ubuntu 如何重装你的apt【apt-get报错: symbol lookup error/undefined symbol】

副标题:解决error:apt-get: symbol lookup error: /lib/x86_64-linux-gnu/libapt-private.so.0.0: undefined symbol: _ZNK13pkgTagSection7FindULLENS_3KeyERKy, version APTPKG_6.0 文章目录 问题描述报错分析解决方案:重装你的apt1、查看你的ubuntu版本2、下载适配你的ap…

解决:excel鼠标滚动幅度太大如何调节?

在excel里为什么滚动一次跳过很多行呢&#xff1f;很不方便。。。 1. 问题&#xff1a; 一开始单元格从第1行开始&#xff1a; 鼠标轻轻滚动一下后&#xff0c;直接跳到第4行&#xff1a; 鼠标在word和浏览器里都是好好的。在excel里为什么不是滚动一次跳过一行呢&#xff…

VMWare 的克隆操作

零、碎碎念 VMWare 的这个克隆操作很简单&#xff0c;单拎出来成贴的目的是方便后续使用。 一、操作步骤 1.1、在“源”服务器上点右键&#xff0c;选择“管理--克隆” 1.2、选择“虚拟机的当前状态”为基础制作克隆&#xff0c;如下图所示&#xff0c;然后点击“下一页” 1.3、…