当前位置: 首页 > news >正文

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

相关文章:

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 命令…...

【ORB-SLAM3:相机针孔模型和相机K8模型】

在ORB-SLAM3中&#xff0c;相机的建模是 SLAM 系统的核心之一&#xff0c;因为它直接影响到如何处理和利用图像数据进行定位和地图构建。ORB-SLAM3 支持不同的相机模型&#xff0c;其中包括针孔模型和鱼眼模型&#xff08;K8 模型&#xff09;。下面分别介绍这两种模型。 相机…...

Python函数(十二):函数的创建和调用、参数传递、返回值

前言&#xff1a;在编程的世界里&#xff0c;函数是一种基本的构建块&#xff0c;它允许我们将代码封装成可重复使用的单元。在Python中&#xff0c;函数的使用尤为重要&#xff0c;因为它不仅有助于代码的模块化&#xff0c;还提高了代码的可读性和可维护性。本章节&#xff0…...

掌握Docker命令与Dockerfile实战技巧:快速构建高效容器化应用

1. 介绍 Docker 是现代开发和运维的必备工具&#xff0c;集成了容器技术的优势。本文将记录 Docker 的常用指令&#xff0c;并会随着使用经验的积累进行不定期更新。 2. 常用命令 2.1 启动容器&#xff08;前台交互模式&#xff09; docker run --privileged --volume /hom…...

Virtualbox硬盘扩容

前言 有没有使用虚拟机安装操作系统的时候&#xff0c;虚拟硬盘一开始分配的虚拟硬盘空间不够用&#xff1f;在后期去扩容的伙伴们&#xff0c;下面我看看如何扩容virtualbox的虚拟硬盘&#xff1f; 重新分配虚拟硬盘大小 在virtualbox菜单选择【管理】-【工具】-【虚拟介质…...

10G光纤反射内存卡

在科技日新月异的今天&#xff0c;数据存储技术正以前所未有的速度发展&#xff0c;其中&#xff0c;“10G光纤反射内存卡”作为新一代存储技术的佼佼者&#xff0c;正逐步引领着数据存储领域的新风尚。本文将深入探讨这一创新产品的技术原理、性能优势、应用场景以及未来展望&…...

信创数据防泄漏中信创沙箱是什么样的安全方案

在信息化与工业化融合创新&#xff08;信创&#xff09;的快速发展中&#xff0c;企业面临着日益复杂的数据安全挑战。SDC沙盒技术以其独特的安全机制和先进的设计理念&#xff0c;为信创环境提供了强有力的数据保护支持。以下是SDC沙盒在信创领域支持能力的几个关键侧重点&…...

虚幻引擎结构之TArray

1.TArray 简介 TArray 是虚幻引擎提供的一个动态数组容器&#xff0c;用于存储相同类型的元素集合。它是一个模板类&#xff0c;能够容纳任意类型的数据&#xff0c;为用户提供了一套简便的方法来添加、删除、访问和操作数组中的元素。作为虚幻引擎的核心数据结构之一&#xff…...

【搭建一个网上商城系统】

搭建一个网上商城系统是一个复杂但有序的过程&#xff0c;涉及多个关键步骤。以下是一些主要的步骤&#xff1a; 确定运营模式 选择适合的模式&#xff1a;根据企业的规模、业务形态和目标市场&#xff0c;选择合适的电商平台运营模式&#xff0c;如B2C&#xff08;商对客&am…...

【gopher的java学习笔记】Spring Boot Starter初探

转到java这边后&#xff0c;这天需要搭一个java的web service出来&#xff0c;如果是以前golang的话&#xff0c;那我就可以非常熟练的用gin搭建一个web service出来&#xff0c;核心逻辑就是写好一些rest接口实现后再加上最为灵魂的一句&#xff1a; // 启动Gin服务器在8080端…...

web服务器之云主机、物理机租用、服务器托管的区别

云主机、物理机租用和服务器托管是三种不同的Web服务器部署方式&#xff0c;它们各有特点&#xff0c;适用于不同需求的用户。以下是这三种服务的区别&#xff1a; 云主机&#xff08;Cloud Hosting&#xff09;&#xff1a; 资源分配&#xff1a;基于虚拟化技术&#xff0c;多…...

centos制作离线安装包

目录 1.yumdownloader与repotrack怎么选择&#xff1f; yumdownloader --resolve repotrack 总结 2.环境准备 3.安装 1.yumdownloader与repotrack怎么选择&#xff1f; yumdownloader --resolve 和 repotrack 都是与 YUM&#xff08;Yellowdog Updater Modified&#xf…...

论文解读——掌纹生成网络 RPG-Palm升级版PCE-Palm

该文章是2023年论文RPG-Palm的升级版 论文&#xff1a;PCE-Palm: Palm Crease Energy Based Two-Stage Realistic Pseudo-Palmprint Generation 作者&#xff1a;Jin, Jianlong and Shen, Lei and Zhang, Ruixin and Zhao, Chenglong and Jin, Ge and Zhang, Jingyun and Ding,…...

Android修行手册 - 移动端几种常用动画方案对比

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…...

16 循环语句——for循环

#字符串是可以进行迭代的 for 循环: for 变量 in 可迭代的东西: 代码 把可迭代的东西中的每一项内容拿出来&#xff0c;挨个的赋值给变量&#xff0c;每一次的赋值都要执行一次循环体(代码) s "你好呀&#xff0c;我叫赛利…...

代码随想录-笔记-其八

让我们开始&#xff1a;动态规划&#xff01; 70. 爬楼梯 - 力扣&#xff08;LeetCode&#xff09; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; class Solution { public:int climbStairs(i…...

Effective C++ 条款 15:在资源管理类中提供对原始资源的访问

文章目录 条款 15&#xff1a;在资源管理类中提供对原始资源的访问核心思想原始资源的访问方式标准库中的实现示例设计建议总结 条款 15&#xff1a;在资源管理类中提供对原始资源的访问 核心思想 为什么需要访问原始资源&#xff1f; 在使用 RAII&#xff08;Resource Acquis…...

Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)

目录 1.压缩和解压缩 1.1压缩 1.2解压缩 2.vim编辑器 2.1vim的3种工作模式 2.2切换编辑模式 2.3保存和退出 2.4光标移动 2.5复制粘贴 2.6剪切、删除 2.7查找 替换 2.7.1查找 2.7.2替换 3.分屏操作 3.1快速翻屏 3.2分屏 4.vim的配置 4.1系统配置 4.2用户配置…...

C++ 面向对象编程:关系运算符重载、函数调用运算符重载

对 、<、> 三个运算符分别进行重载&#xff0c;可见以下代码&#xff1a; #include<iostream> using namespace std;class location { public:location(int x1, int y1) :x(x1), y(y1){};bool operator(const location& l1) const{return x l1.x && …...

拉普拉斯分布极大似然估计

在拉普拉斯分布中&#xff0c;概率密度函数 (PDF) 表示为&#xff1a; f ( x ∣ μ , b ) 1 2 b exp ⁡ ( − ∣ x − μ ∣ b ) , f(x | \mu, b) \frac{1}{2b} \exp\left(-\frac{|x - \mu|}{b}\right), f(x∣μ,b)2b1​exp(−b∣x−μ∣​), 其中 μ \mu μ 是位置参数&…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...