本文将介绍两个常用的linux命令:find和scp。find命令用于在指定目录及其子目录中搜索文件和目录,并提供了灵活的搜索功能和操作选项。scp命令是一个安全的文件复制工具,可以在本地主机和远程主机之间进行文件传输。通过学习这两个命令的基本语法和常用选项,我们可以更高效地管理和操作文件。
find
命令用于在指定目录及其子目录中搜索文件和目录。它提供了灵活的搜索功能,可以根据不同的条件进行搜索,并执行各种操作。
find [路径] [表达式]
其中,路径
指定要搜索的目录路径,表达式
定义了搜索的条件和操作。
-name
:按照文件名进行匹配搜索。-type
:按照文件类型进行匹配搜索,如-type f
表示搜索普通文件,-type d
表示搜索目录。-mtime
:按照文件的修改时间进行匹配搜索,可以使用+n
表示大于n天前的文件,-n
表示小于n天前的文件,n
表示正好n天前的文件。-size
:按照文件的大小进行匹配搜索,可以使用+n
表示大于n个块的文件,-n
表示小于n个块的文件,n
表示正好n个块的文件。-exec
:对搜索到的文件执行指定的命令。-delete
:删除搜索到的文件。-print
:打印搜索到的文件路径。搜索 /opt/目录下所有的shell目录或文件的路径
find /opt/ -name "shell"
搜索 /opt/目录下所有的shell目录的路径
find /opt/ -type d -name "shell"
搜索 /opt/目录下所有7天以前目录或文件的路径
find /opt/ -mtime +7
搜索 /opt/目录下所有文件大小大于100M文件的路径
find /opt/ -size +100M
搜索 /opt/目录下所有.txt文件,并显示文件的详细信息
find /opt/ -name "*.txt" -exec ls -l {} \;
搜索 /opt/目录下所有demo.txt文件,并删除
find /opt/ -name "demo.txt" -delete
scp
(Secure Copy)是一个用于在本地主机和远程主机之间安全复制文件的命令行工具。它使用SSH协议进行数据传输,提供了加密和身份验证功能,可以在不同主机之间传输文件和目录。
scp [选项] 源文件 目标文件
其中,源文件
表示要复制的本地文件或远程文件,目标文件
表示要将文件复制到的目标位置。源文件和目标文件可以是本地路径或远程路径。
-r
:递归复制整个目录。-P
:指定远程主机的SSH端口号。-p
:保留文件的原始修改时间和权限。-q
:静默模式,不显示复制进度信息。-C
:开启压缩传输,加快传输速度。-i
:指定用于身份验证的私钥文件。-l
:限制传输速率。从本地复制/opt/module/demo.txt文件到hadoop103的/opt/module目录下
scp /opt/module/demo.txt root@hadoop103:/opt/module
或
scp /opt/module/demo.txt hadoop103:/opt/module
复制hadoop103的/opt/module/demo.txt文件到本地/opt/module目录下
scp root@hadoop103:/opt/module/demo.txt /opt/module
或
scp hadoop103:/opt/module/demo.txt /opt/module
递归复制整个/opt/module/python目录到hadoop103的/opt/module目录下
scp -r /opt/module/python root@hadoop103:/opt/module
或
scp -r /opt/module/python hadoop103:/opt/module
scp -P 2222 root@hadoop103:/opt/module/demo.txt /opt/module
或
scp -P 2222 hadoop103:/opt/module/demo.txt /opt/module
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命令都能够帮助我们快速完成任务。
希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!