scp 命令

scp 是 Secure Copy 的简称,它是一种在 Linux 系统中安全地复制文件的工具,可以用来在两个不同的服务器之间复制文件或目录,非常方便。

使用语法

scp 命令的基本语法如下:

  1. scp [参数] [源文件] [目标文件]
  • 参数:可选的参数,用于定义拷贝的行为
  • 源文件:指定要复制的文件或者目录
  • 目标文件:指定复制文件的目的地

    常用参数

    scp 命令的常用参数如下:

  • -P:指定远程服务器的端口号

  • -q:取消拷贝过程中的提示信息
  • -r:拷贝目录时使用递归模式
  • -v:显示拷贝过程中的详细信息

    使用实例

    以下为一些常用的scp命令示例:

  • 将远程服务器上的文件remote_file拷贝到本地的当前目录:

    1. scp user@remote_host:remote_file .
  • 将本地的文件local_file拷贝到远程服务器的当前目录:

    1. scp local_file user@remote_host:.
  • 将本地的目录local_dir拷贝到远程服务器的remote_dir

    1. scp -r local_dir user@remote_host:remote_dir

    注意事项

  • scp 命令只能拷贝文件,不能拷贝文件夹,但可以使用-r参数进行递归拷贝

  • 在使用scp命令拷贝文件时,需要先保证源文件和目标文件的用户账号有权限操作
  • 如果拷贝的文件名中包含特殊字符,可以使用引号括起来,以免出现错误

    总结

    scp 命令是一种在 Linux 系统中安全地复制文件的工具,它可以用来在两个不同的服务器之间复制文件或目录,使用起来非常方便。但在使用scp命令时,要确保源文件和目标文件的用户账号有权限操作,否则会遇到权限问题。

示例

从服务器下载文件

  1. scp username@servername:/path/filename /tmp/local_destination

例如把192.168.0.101上的/home/lwmacct/test.txt的文件下载到 /tmp/local_destination

  1. scp root@192.168.0.101:/home/lwmacct/test.txt /tmp/local_destination

上传本地文件到服务器

  1. scp /path/local_filename username@servername:/path

例如把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

  1. scp /var/www/test.php root@192.168.0.101:/var/www/

从服务器下载整个目录

scp -r username@servername:remote_dir/ /tmp/local_dir

  1. scp -r root@192.168.0.101 /home/kimi/test /tmp/local_dir

上传目录到服务器

scp -r /tmp/local_dir username@servername:remote_dir
例如把当前目录下的test目录上传到服务器的/var/www/ 目录

  1. scp -r test root@192.168.0.101:/var/www/