linux常用命令-find命令与scp命令详解(超详细)

文章目录

  • 前言
  • 一、find命令介绍
    • 1. find命令简介
    • 2. find命令的基本语法
    • 3. 常用的find命令选项和表达式
  • 二、find命令示例用法
    • 1. 按照名称进行搜索
    • 2. 按照类型进行搜索
    • 3. 按照修改时间进行搜索
    • 4. 按照文件大小进行搜索
    • 5. 对搜索到的文件执行指定的命令
    • 6. 删除搜索到的文件
  • 三、scp命令介绍
    • 1. scp命令简介
    • 2. scp命令的基本语法
    • 3. 常用的scp命令选项
  • 四、scp命令示例用法
    • 1. 从本地复制文件到远程主机
    • 2. 从远程主机复制文件到本地
    • 3. 递归复制整个目录
    • 4. 从远程主机复制文件到本地,并指定SSH端口号
    • 5. 使用私钥文件进行身份验证
  • 总结


前言

本文将介绍两个常用的linux命令:find和scp。find命令用于在指定目录及其子目录中搜索文件和目录,并提供了灵活的搜索功能和操作选项。scp命令是一个安全的文件复制工具,可以在本地主机和远程主机之间进行文件传输。通过学习这两个命令的基本语法和常用选项,我们可以更高效地管理和操作文件。


一、find命令介绍

1. find命令简介

find命令用于在指定目录及其子目录中搜索文件和目录。它提供了灵活的搜索功能,可以根据不同的条件进行搜索,并执行各种操作。

2. find命令的基本语法

find [路径] [表达式]

其中,路径指定要搜索的目录路径,表达式定义了搜索的条件和操作。

3. 常用的find命令选项和表达式

  • -name:按照文件名进行匹配搜索。
  • -type:按照文件类型进行匹配搜索,如-type f表示搜索普通文件,-type d表示搜索目录。
  • -mtime:按照文件的修改时间进行匹配搜索,可以使用+n表示大于n天前的文件,-n表示小于n天前的文件,n表示正好n天前的文件。
  • -size:按照文件的大小进行匹配搜索,可以使用+n表示大于n个块的文件,-n表示小于n个块的文件,n表示正好n个块的文件。
  • -exec:对搜索到的文件执行指定的命令。
  • -delete:删除搜索到的文件。
  • -print:打印搜索到的文件路径。

二、find命令示例用法

1. 按照名称进行搜索

搜索 /opt/目录下所有的shell目录或文件的路径

find /opt/ -name "shell"

linux常用命令-find命令与scp命令详解(超详细)_第1张图片

2. 按照类型进行搜索

搜索 /opt/目录下所有的shell目录的路径

find /opt/ -type d -name "shell"

linux常用命令-find命令与scp命令详解(超详细)_第2张图片

3. 按照修改时间进行搜索

搜索 /opt/目录下所有7天以前目录或文件的路径

find /opt/ -mtime +7

4. 按照文件大小进行搜索

搜索 /opt/目录下所有文件大小大于100M文件的路径

find /opt/ -size +100M

在这里插入图片描述

5. 对搜索到的文件执行指定的命令

搜索 /opt/目录下所有.txt文件,并显示文件的详细信息

find /opt/ -name "*.txt" -exec ls -l {} \;

linux常用命令-find命令与scp命令详解(超详细)_第3张图片

6. 删除搜索到的文件

搜索 /opt/目录下所有demo.txt文件,并删除

find /opt/ -name "demo.txt" -delete

三、scp命令介绍

1. scp命令简介

scp(Secure Copy)是一个用于在本地主机和远程主机之间安全复制文件的命令行工具。它使用SSH协议进行数据传输,提供了加密和身份验证功能,可以在不同主机之间传输文件和目录。

2. scp命令的基本语法

scp [选项] 源文件 目标文件

其中,源文件表示要复制的本地文件或远程文件,目标文件表示要将文件复制到的目标位置。源文件和目标文件可以是本地路径或远程路径。

3. 常用的scp命令选项

  • -r:递归复制整个目录。
  • -P :指定远程主机的SSH端口号。
  • -p:保留文件的原始修改时间和权限。
  • -q:静默模式,不显示复制进度信息。
  • -C:开启压缩传输,加快传输速度。
  • -i :指定用于身份验证的私钥文件。
  • -l :限制传输速率。

四、scp命令示例用法

1. 从本地复制文件到远程主机

从本地复制/opt/module/demo.txt文件到hadoop103的/opt/module目录下

scp /opt/module/demo.txt root@hadoop103:/opt/module

scp /opt/module/demo.txt hadoop103:/opt/module

2. 从远程主机复制文件到本地

复制hadoop103的/opt/module/demo.txt文件到本地/opt/module目录下

scp root@hadoop103:/opt/module/demo.txt /opt/module

scp hadoop103:/opt/module/demo.txt /opt/module

3. 递归复制整个目录

递归复制整个/opt/module/python目录到hadoop103的/opt/module目录下

scp -r /opt/module/python root@hadoop103:/opt/module

scp -r /opt/module/python hadoop103:/opt/module

4. 从远程主机复制文件到本地,并指定SSH端口号

scp -P 2222 root@hadoop103:/opt/module/demo.txt /opt/module

scp -P 2222 hadoop103:/opt/module/demo.txt /opt/module

5. 使用私钥文件进行身份验证

scp -i /opt/module/private_key.pem /opt/module/demo.txt root@hadoop103:/opt/module

scp -i /opt/module/private_key.pem /opt/module/demo.txt hadoop103:/opt/module

总结

通过掌握这两个命令,我们可以更加高效地管理和传输文件。无论是在本地文件系统中搜索和操作文件,还是在不同主机之间进行文件传输,find和scp命令都能够帮助我们快速完成任务。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

你可能感兴趣的:(shell编程,linux,bash)