服务器 > 服务器 > Linux

Linux使用cp命令复制文件和目录的方法

6人参与 2026-01-31 Linux

引言

在 linux 操作系统中,cp (copy) 命令是进行文件和目录复制的核心工具。无论你是系统管理员、开发者还是普通用户,掌握 cp 命令的各种用法都是至关重要的。它不仅能够让你快速复制单个文件,还能通过巧妙的组合和选项,实现批量复制、递归复制、权限设置、覆盖控制等高级功能。本文将深入探讨 cp 命令的各种用法,从基础的复制文件到高级的目录操作和批量处理,并提供丰富的代码示例和实际应用场景。

一、cp命令基础入门

1.1 cp命令基本概念

cp 命令在 linux 中的核心功能是复制文件和目录。它可以从源位置复制文件或目录到目标位置,支持多种选项来控制复制行为,如覆盖、递归、权限保留等。

1.2 cp命令基本语法

cp 命令的基本语法如下:

cp [选项] 源文件/目录 目标文件/目录

源文件/目录 是你想要复制的对象,目标文件/目录 是复制后存放的位置。如果目标是一个已存在的目录,cp 会将源文件/目录复制到该目录下;如果目标是一个已存在的文件,cp 会覆盖该文件;如果目标不存在,则会创建一个新的文件或目录。

1.3 复制单个文件

最基本的用法是复制单个文件。

示例演示:

# 复制一个文件到当前目录
$ cp source_file.txt destination_file.txt

# 复制一个文件到另一个目录
$ cp source_file.txt /home/user/documents/

# 复制一个文件并重命名
$ cp source_file.txt new_name.txt

# 使用相对路径复制
$ cp ../source_file.txt ./destination_file.txt

1.4 复制单个目录

复制单个目录需要使用 -r 选项(递归)。

示例演示:

# 复制一个目录(需要 -r 选项)
$ cp -r source_dir destination_dir

# 复制目录到另一个目录下
$ cp -r source_dir /home/user/documents/

# 复制目录并重命名
$ cp -r source_dir renamed_dir

1.5 cp命令的退出状态码

cp 命令在成功复制文件时返回退出状态码 0。如果遇到错误(例如源文件不存在、权限不足、目标路径无法写入等),则返回非零值。

# 成功复制文件
$ cp file1.txt file2.txt
$ echo $?
0

# 尝试复制不存在的文件
$ cp nonexistent_file.txt target_file.txt
cp: cannot stat 'nonexistent_file.txt': no such file or directory
$ echo $?
1

# 尝试在无权限目录下复制(假设 /root 无写权限)
# $ cp file.txt /root/
# cp: cannot remove '/root/file.txt': permission denied
# $ echo $?
# 1

二、cp命令的常用选项详解

2.1 -r选项:递归复制目录

-r 选项是 cp 命令中最重要的选项之一,用于递归复制整个目录树。如果没有此选项,cp 无法复制目录。

示例演示:

# 创建一个测试目录结构
$ mkdir -p test_project/src/main/java/com/example
$ touch test_project/src/main/java/com/example/main.java
$ touch test_project/src/main/java/com/example/utils.java

# 复制整个目录树
$ cp -r test_project copied_project

# 验证复制结果
$ ls -la copied_project
drwxr-xr-x 3 user user 4096 jan 1 12:00 copied_project
$ ls -la copied_project/src
drwxr-xr-x 3 user user 4096 jan 1 12:00 src
$ ls -la copied_project/src/main
drwxr-xr-x 3 user user 4096 jan 1 12:00 main
$ ls -la copied_project/src/main/java
drwxr-xr-x 3 user user 4096 jan 1 12:00 java
$ ls -la copied_project/src/main/java/com
drwxr-xr-x 3 user user 4096 jan 1 12:00 com
$ ls -la copied_project/src/main/java/com/example
drwxr-xr-x 3 user user 4096 jan 1 12:00 example
$ ls -la copied_project/src/main/java/com/example/*.java
-rw-r--r-- 1 user user 0 jan 1 12:00 copied_project/src/main/java/com/example/main.java
-rw-r--r-- 1 user user 0 jan 1 12:00 copied_project/src/main/java/com/example/utils.java

2.2 -i选项:交互式复制(询问覆盖)

-i 选项会在覆盖文件前提示用户确认,防止意外覆盖重要文件。

示例演示:

# 创建一个文件
$ touch existing_file.txt

# 尝试复制一个文件覆盖已存在的文件(会提示确认)
$ cp -i source_file.txt existing_file.txt
cp: overwrite 'existing_file.txt'? y
# 输入 y 确认覆盖

# 或者使用 -i 选项,不提示
$ cp -i source_file.txt existing_file.txt
cp: overwrite 'existing_file.txt'? n
# 输入 n 不覆盖

2.3 -f选项:强制复制(不提示)

-f 选项会强制覆盖目标文件,不进行任何提示。

示例演示:

# 创建一个文件
$ touch existing_file.txt

# 强制覆盖文件(不提示)
$ cp -f source_file.txt existing_file.txt

2.4 -v选项:显示详细信息

-v 选项可以让 cp 命令在复制文件时显示详细信息,告诉你哪些文件被复制了。

示例演示:

# 复制文件并显示详细信息
$ cp -v source_file.txt destination_file.txt
'./source_file.txt' -> './destination_file.txt'

# 复制目录并显示详细信息
$ cp -rv source_dir destination_dir
'./source_dir/file1.txt' -> './destination_dir/file1.txt'
'./source_dir/subdir/file2.txt' -> './destination_dir/subdir/file2.txt'

2.5 -u选项:仅在源文件较新时复制

-u 选项(update)只会复制那些源文件比目标文件更新或目标文件不存在的文件。

示例演示:

# 创建源文件
$ echo "content1" > source_file.txt

# 复制文件
$ cp source_file.txt dest_file.txt

# 等待一段时间后,修改源文件
$ echo "content2" > source_file.txt

# 使用 -u 选项,只有源文件更新时才复制
$ cp -u source_file.txt dest_file.txt

# 检查文件内容
$ cat dest_file.txt
# 输出: content2

# 如果源文件不更新,则不会复制
$ cp -u source_file.txt dest_file.txt
# 无输出,文件未被复制

2.6 -p选项:保留文件属性

-p 选项会保留源文件的属性,包括所有者、组、权限、时间戳等。

示例演示:

# 创建一个文件并设置特定权限
$ touch test_file.txt
$ chmod 755 test_file.txt

# 复制文件并保留属性
$ cp -p test_file.txt copied_file.txt

# 验证权限是否保留
$ ls -l test_file.txt copied_file.txt
# 输出应该显示相同的权限

2.7 -a选项:归档模式(相当于 -dpr)

-a 选项是归档模式,它等价于同时使用 -d, -p, -r 选项。它会保留文件的所有属性,并递归复制目录。

示例演示:

# 复制目录并保留所有属性
$ cp -a source_dir destination_dir

# 等价于
$ cp -dpr source_dir destination_dir

2.8 -l选项:硬链接

-l 选项会创建硬链接而不是复制文件。硬链接指向同一个 inode,因此修改其中一个会影响另一个。

示例演示:

# 创建一个文件
$ echo "hello world" > original.txt

# 创建硬链接
$ cp -l original.txt linked.txt

# 验证硬链接
$ ls -li original.txt linked.txt
# 输出显示两个文件具有相同的 inode 编号

# 修改原始文件
$ echo "modified" > original.txt

# 查看硬链接文件
$ cat linked.txt
# 输出: modified

注意:硬链接只能在同一文件系统内创建。并且,硬链接不能跨目录创建,也不能链接到目录。

2.9 -s选项:软链接

-s 选项会创建符号链接(软链接),它类似于 windows 中的快捷方式。

示例演示:

# 创建一个文件
$ echo "content" > original.txt

# 创建软链接
$ cp -s original.txt symlink.txt

# 验证软链接
$ ls -la symlink.txt
# 输出: lrwxrwxrwx 1 user user 12 jan 1 12:00 symlink.txt -> original.txt

# 访问软链接
$ cat symlink.txt
# 输出: content

# 删除原文件
$ rm original.txt

# 再次访问软链接(会失败)
$ cat symlink.txt
# cat: symlink.txt: no such file or directory

2.10 --help选项:查看帮助信息

使用 --help 选项可以查看 cp 命令的所有可用选项和用法。

示例演示:

$ cp --help
usage: cp [option]... [-t] source dest
  or:  cp [option]... source... directory
  or:  cp [option]... -t directory source...

copy source to dest, or multiple source(s) to directory.

mandatory arguments to long options are mandatory for short options too.
  -a, --archive                same as -dr --preserve=all
      --attributes-only        don't copy the file data, just the attributes
      --backup[=control]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
  -c                           (ignored)
  -d                           same as --no-dereference --preserve=links
  -f, --force                  if an existing destination file cannot be
                                 opened, remove it and try again (this option
                                 is ignored when the -n option is also used)
  -i, --interactive            prompt before overwrite (overrides a previous -n
                                 option)
  -l, --link                   hard link files instead of copying
  -n, --no-clobber             do not overwrite an existing file (overrides
                                 a previous -i option)
  -p, --preserve=all           preserve all attributes including ownership,
                                 timestamps, and permissions
  -r, -r, --recursive          copy directories recursively
  -s, --symbolic-link          make symbolic links instead of copying files
  -t, --target-directory=directory  copy all source arguments into directory
  -t, --no-target-directory    treat dest as a normal file
  -u, --update                 copy only when the source file is newer than
                                 the destination file or when the destination
                                 file is missing
  -v, --verbose                explain what is being done
      --help     display this help and exit
      --version  output version information and exit

gnu coreutils online help: <https://www.gnu.org/software/coreutils/>
full documentation at: <https://www.gnu.org/software/coreutils/cp>
or available locally via: info '(coreutils) cp invocation'

三、cp命令的高级特性与实用技巧

3.1 批量复制文件

结合 cpfor 循环,可以轻松实现批量复制文件。

示例脚本:

#!/bin/bash

# 创建一个文件列表
files=("file1.txt" "file2.log" "file3.conf" "file4.sh")

# 批量复制到目标目录
for file in "${files[@]}"; do
    if [ -f "$file" ]; then
        cp "$file" /backup/
        echo "已复制文件: $file"
    else
        echo "文件 $file 不存在"
    fi
done

3.2 使用{}扩展复制多个文件

cp 支持使用花括号 {} 来一次性复制多个具有相似名称的文件。

示例演示:

# 创建一些测试文件
$ touch config.{json,yaml,xml}

# 复制这些文件到另一个目录
$ cp config.{json,yaml,xml} /etc/config/

# 查看结果
$ ls -la /etc/config/
-rw-r--r-- 1 user user 0 jan 1 12:00 config.json
-rw-r--r-- 1 user user 0 jan 1 12:00 config.yaml
-rw-r--r-- 1 user user 0 jan 1 12:00 config.xml

3.3 结合find命令复制文件

可以结合 find 命令来根据某些条件复制文件。

示例脚本:

#!/bin/bash

# 在当前目录下查找所有 .txt 文件并复制到备份目录
find . -type f -name "*.txt" -exec cp {} /backup/ \;

# 查找特定大小的文件并复制
find . -type f -size +1m -exec cp {} /large_files/ \;

3.4 使用cp和chmod组合创建安全文件

在需要复制一个文件并立即设置权限时,可以将 cpchmod 组合使用。

示例演示:

# 复制文件并设置权限
cp source_file.txt secure_file.txt
chmod 600 secure_file.txt

# 或者使用 -p 选项保留原权限并复制
cp -p source_file.txt secure_file2.txt
chmod 600 secure_file2.txt

3.5 cp与trap结合用于清理

在脚本中,可以使用 trap 命令来确保在脚本退出时清理临时复制的文件。

示例脚本:

#!/bin/bash

# 创建一个临时文件
temp_file=$(mktemp)
echo "临时文件: $temp_file"

# 设置 trap,在脚本退出时删除临时文件
trap 'rm -f "$temp_file"' exit

# 复制一个文件到临时位置
cp /etc/passwd "$temp_file"

# 检查文件
ls -l "$temp_file"

# 脚本结束后,临时文件将被自动删除

3.6 cp与tar结合用于批量复制

可以结合 tarcp 来实现更高效的批量复制。

示例脚本:

#!/bin/bash

# 将多个文件打包成 tarball,然后复制
tar -cf backup.tar file1.txt file2.log file3.conf
cp backup.tar /backup/

# 从 tarball 中提取文件
tar -xf backup.tar -c /restore/

四、cp命令与脚本编程

在 shell 脚本中,cp 命令的使用至关重要。它常用于备份文件、初始化项目结构、复制配置文件或在不同目录间移动文件。

4.1 脚本中使用cp的注意事项

在脚本中使用 cp 时,需要注意文件权限、路径有效性以及错误处理。

示例脚本:

#!/bin/bash

# 定义文件路径
source_file="/home/user/source.conf"
target_dir="/etc/myapp"
target_file="$target_dir/config.conf"

# 创建目标目录
mkdir -p "$target_dir"

# 复制文件
echo "正在复制配置文件..."
cp "$source_file" "$target_file"

# 检查是否成功复制
if [ $? -eq 0 ]; then
    echo "配置文件复制成功: $target_file"
else
    echo "配置文件复制失败"
    exit 1
fi

# 设置文件权限
chmod 644 "$target_file"
echo "配置文件权限已设置为 644"

4.2 使用cp创建临时工作区

在脚本中创建临时工作区是一种常见的做法。

示例脚本:

#!/bin/bash

# 创建临时工作区
workspace_dir=$(mktemp -d)
echo "工作区目录: $workspace_dir"

# 确保在脚本退出时清理工作区
trap 'rm -rf "$workspace_dir"' exit

# 在工作区中执行操作
cd "$workspace_dir"

# 复制一些文件到工作区
cp /etc/passwd ./passwd_copy
cp /etc/group ./group_copy

# 检查文件
ls -la

4.3 cp与test命令结合使用

可以结合 test 命令来检查文件是否存在,然后再决定是否复制。

示例脚本:

#!/bin/bash

source_file="/home/user/optional_file.txt"
target_file="/home/user/backup/optional_file.txt"

# 检查源文件是否存在
if [ -f "$source_file" ]; then
    echo "源文件 $source_file 存在,正在复制..."
    # 创建目标目录
    mkdir -p "$(dirname "$target_file")"
    cp "$source_file" "$target_file"
    echo "文件复制成功"
else
    echo "源文件 $source_file 不存在"
fi

# 验证文件存在
if [ -f "$target_file" ]; then
    echo "验证通过:文件 $target_file 存在"
else
    echo "验证失败:文件 $target_file 不存在"
fi

4.4 cp用于创建备份文件

在执行重要操作前,可以使用 cp 创建备份文件。

示例脚本:

#!/bin/bash

config_file="/etc/nginx/nginx.conf"
backup_file="/etc/nginx/nginx.conf.backup"

# 创建备份
echo "正在创建配置文件备份..."
cp "$config_file" "$backup_file"
echo "备份文件已创建: $backup_file"

# 执行修改操作
echo "# 新配置" >> "$config_file"

# 如果出现问题,可以恢复备份
# cp "$backup_file" "$config_file"

五、cp命令的性能优化与最佳实践

5.1 合理利用-r选项

在复制目录时,总是使用 -r 选项。这可以避免多次调用 cp,提高效率。

示例对比:

# 不推荐:多次调用 cp
cp source_dir/file1.txt dest_dir/
cp source_dir/file2.txt dest_dir/
cp source_dir/subdir/file3.txt dest_dir/subdir/

# 推荐:一次调用
cp -r source_dir dest_dir

5.2 使用-a选项进行完整复制

如果需要保留所有文件属性(包括时间戳、权限、所有者等),使用 -a 选项。

示例演示:

# 完整复制目录结构及属性
cp -a /home/user/project /backup/project

5.3 预先检查文件/目录是否存在

在脚本中,预先检查源文件/目录是否存在,以及目标路径是否可写,可以避免不必要的错误。

示例脚本:

#!/bin/bash

source="/home/user/my_file.txt"
target="/home/user/backup/my_file.txt"

# 检查源文件是否存在
if [ ! -f "$source" ]; then
    echo "错误:源文件 $source 不存在"
    exit 1
fi

# 检查目标目录是否可写
target_dir=$(dirname "$target")
if [ ! -w "$target_dir" ]; then
    echo "错误:目标目录 $target_dir 不可写"
    exit 1
fi

# 执行复制
echo "正在复制文件..."
cp "$source" "$target"
echo "文件复制成功"

5.4 使用-v选项进行调试

在开发或调试阶段,使用 -v 选项可以帮助你确认文件是否按预期复制。

示例:

# 在调试模式下复制文件
cp -v source_file.txt destination_file.txt
# 输出:
# './source_file.txt' -> './destination_file.txt'

5.5 避免权限问题

复制文件时,考虑用户和组的权限,避免因权限不足导致复制失败。

示例脚本:

#!/bin/bash

# 检查当前用户是否有权限在目标目录下复制文件
target_dir="/tmp"

if [ -w "$target_dir" ]; then
    echo "当前用户有写权限: $target_dir"
    cp source_file.txt "$target_dir/"
    echo "文件复制成功"
else
    echo "当前用户在 $target_dir 没有写权限"
    echo "请检查权限或使用 sudo"
fi

5.6 使用-u选项进行增量复制

在进行定期备份或同步时,使用 -u 选项可以只复制更新过的文件,节省时间和带宽。

示例脚本:

#!/bin/bash

source_dir="/home/user/documents"
target_dir="/backup/documents"

# 只复制更新过的文件
cp -ru "$source_dir" "$target_dir"
echo "增量复制完成"

六、cp命令的常见陷阱与解决办法

6.1 目录复制时忘记使用-r选项

这是最常见的错误之一。如果尝试复制目录而不使用 -r 选项,cp 会报错。

示例演示:

# 错误的做法
cp source_dir destination_dir

# 正确的做法
cp -r source_dir destination_dir

6.2 目录名包含空格或特殊字符

当目录名包含空格、引号或其他特殊字符时,必须使用引号包围路径。

示例演示:

# 错误的做法
cp my directory/ destination_dir/

# 正确的做法
cp "my directory/" destination_dir/
cp 'my directory/' destination_dir/
cp my\ directory/ destination_dir/

6.3 目录覆盖问题

如果目标目录已存在,cp -r 会将源目录复制到目标目录下,而不是替换目标目录。

示例演示:

# 创建目标目录
mkdir -p target_dir

# 尝试复制目录到目标目录下(会创建 target_dir/source_dir)
cp -r source_dir target_dir

# 查看结果
ls -la target_dir/
# 输出: source_dir

6.4 权限不足

如果用户没有足够的权限在指定路径下复制文件或目录,cp 会失败。

示例演示:

# 尝试复制到 /root (通常需要 root 权限)
cp file.txt /root/
cp: cannot remove '/root/file.txt': permission denied

6.5 路径中的父目录不存在

如果指定的目标路径中,父目录不存在,cp 会失败。

示例演示:

# 尝试复制到一个父目录不存在的路径(会失败)
cp file.txt /nonexistent/path/to/file.txt

# 需要先创建父目录
mkdir -p /nonexistent/path/to
cp file.txt /nonexistent/path/to/file.txt
# 成功

6.6 硬链接和软链接的误解

-l 选项创建硬链接,-s 选项创建软链接。它们的行为不同,需谨慎使用。

示例演示:

# 创建原始文件
echo "hello world" > original.txt

# 创建硬链接
cp -l original.txt linked.txt

# 创建软链接
cp -s original.txt symlink.txt

# 硬链接和软链接的区别
ls -li original.txt linked.txt symlink.txt
# 硬链接 inode 相同,软链接指向原始文件

七、cp命令与其他工具的协同工作

7.1 cp与find的结合

find 命令可以用来定位文件,然后结合 cp 进行复制。

示例脚本:

#!/bin/bash

# 在当前目录下查找所有 .pdf 文件,并复制到另一个目录
find . -type f -name "*.pdf" -exec cp {} /backup/pdfs/ \;

# 查找特定日期之前的文件并复制
find . -type f -name "*.txt" -mtime +30 -exec cp {} /old_files/ \;

7.2 cp与tar的结合

在打包或解压文件时,可以结合 tarcp

示例脚本:

#!/bin/bash

# 创建一个包含特定文件的压缩包
tar -czf backup.tar.gz file1.txt file2.log file3.conf

# 复制压缩包
cp backup.tar.gz /backup/

# 解压到指定目录
tar -xzf backup.tar.gz -c /restore/

echo "文件已备份和恢复"

7.3 cp与grep的结合

在查找文件内容后,可以使用 cp 复制对应的文件。

示例脚本:

#!/bin/bash

# 查找包含特定关键字的文件,并复制它们到一个目录
search_keyword="error_log"
find . -type f -name "*.log" -exec grep -l "$search_keyword" {} \; | while read log_file; do
    cp "$log_file" /error_logs/
    echo "已复制 $log_file 到 /error_logs/"
done

7.4 cp与xargs的结合

xargs 可以将 findgrep 的输出传递给 cp

示例脚本:

#!/bin/bash

# 为当前目录下所有 .sh 文件复制到另一个目录
find . -type f -name "*.sh" -print0 | xargs -0 -i {} cp {} /scripts/

# 为所有 .txt 文件创建对应的 .bak 文件
find . -type f -name "*.txt" -print0 | xargs -0 -i {} cp {} {}.bak

7.5 cp与rsync的结合

虽然 rsync 是更高级的同步工具,但在某些场景下,cp 可以与 rsync 结合使用。

示例脚本:

#!/bin/bash

# 使用 cp 复制本地文件
cp -r /local/project /backup/project

# 使用 rsync 同步到远程服务器(需要先安装 rsync)
# rsync -avz /backup/project user@remote:/remote/backup/

八、cp命令在不同 shell 中的差异

8.1 bash vs zsh

bash 和 zsh 在 cp 命令的行为上基本一致,都支持 -r, -i, -f, -v, -u, -p, -a, -l, -s 等选项。两者都遵循标准的 posix 规范。

8.2 cp命令的选项兼容性

大多数现代 shell(包括 bash, zsh, fish 等)都支持 cp 命令的所有标准选项。

8.3 cp与mv的区别

cp 用于复制文件,mv 用于移动或重命名文件。两者在语法上相似,但行为完全不同。

九、cp命令的未来趋势与展望

随着 linux 系统的发展,cp 命令本身作为基础工具不会有大的变化。然而,围绕 cp 的使用模式和技术也在不断演进。

9.1 更智能的复制和同步

未来的工具可能会提供更智能的复制和同步功能,例如基于内容的去重、增量同步、自动压缩等。

9.2 集成开发环境中的文件管理

在现代 ide 和编辑器中,cp 的概念会被进一步抽象化,提供图形界面的文件复制和同步功能。

9.3 云环境和容器化中的路径处理

随着云计算和容器技术的普及,cp 在容器内部和云环境中可能需要更灵活的处理方式,比如支持挂载点和虚拟路径。

十、cp命令的实用技巧总结

10.1 快速复制目录结构

# 使用 -a 选项复制目录结构及所有属性
cp -a source_dir destination_dir

10.2 批量复制文件

# 使用花括号一次性复制多个文件
cp file_{1..5}.txt /backup/

10.3 创建备份文件

# 使用 -i 选项交互式复制,避免意外覆盖
cp -i original_file.txt backup_file.txt

10.4 只复制更新的文件

# 使用 -u 选项,只复制源文件更新的文件
cp -u source_dir/* destination_dir/

10.5 结合trap自动清理

# 创建临时文件并在脚本退出时清理
temp_file=$(mktemp)
trap 'rm -f "$temp_file"' exit
cp source_file.txt "$temp_file"

10.6 使用-v选项进行调试

# 在调试模式下复制文件,查看详细信息
cp -v source_file.txt destination_file.txt

结语

cp 命令虽然看似简单,但其背后的灵活性和强大的组合能力使其成为 linux 系统中不可或缺的工具。从基础的单个文件复制,到利用 -r 选项递归复制多层目录结构,再到结合脚本和高级选项实现复杂的自动化任务,cp 的用法丰富多样。掌握这些技巧不仅能让你在日常操作中更加高效,也能在编写脚本时提供更强大的功能。

希望本文提供的示例和技巧能帮助你在日常使用 cp 命令时更加得心应手。记住,实践是检验真理的唯一标准。多尝试不同的组合和用法,你会发现 cp 命令的强大之处远超你的想象!

以上就是linux使用cp命令复制文件和目录的方法的详细内容,更多关于linux cp复制文件和目录的资料请关注代码网其它相关文章!

(0)

您想发表意见!!点此发布评论

推荐阅读

Ubuntu bash:没有那个文件或目录问题及解决

01-31

Linux使用head命令查看文件开头内容的方法详解

01-31

Linux使用touch命令创建空文件的技巧分享

01-31

通过Nginx(basic auth)实现Prometheus账号密码登录

01-31

Linux下查看DNS配置信息的常用命令说明

01-31

linux编译ko文件方式(不同内核源码版本)

01-31

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论