linux scp命令创建目录,linux – 让scp始终覆盖或创建目录
时间: 2023-05-11 13:04:03 浏览: 100
可以使用以下命令创建目录并复制文件:
scp -r /path/to/local/folder user@remote:/path/to/remote/folder
其中,-r 表示递归复制整个目录,user 是远程服务器的用户名,remote 是远程服务器的 IP 地址或域名,/path/to/remote/folder 是远程服务器上的目标目录。
如果目标目录不存在,则会自动创建。如果目标目录已存在,则会将文件复制到该目录中,覆盖同名文件。
如果要始终覆盖或创建目录,可以使用以下命令:
scp -r -B /path/to/local/folder user@remote:/path/to/remote/folder
其中,-B 表示始终覆盖目标文件。如果目标文件不存在,则创建一个新的文件。
注意:在使用 scp 命令时,需要确保本地和远程服务器之间已经建立了 SSH 连接。
相关问题
linuxscp批量分发文件
以下是使用scp命令进行Linux批量分发文件的步骤:
1. 创建一个批量分发脚本并赋予执行权限:
```shell
touch /usr/shell/scp.sh && chmod 777 /usr/shell/scp.sh
```
2. 定义批量处理的主机列表。
3. 使用scp命令进行文件分发:
```shell
scp <源文件路径> <目标主机用户名@目标主机IP:目标文件路径>
```
其中,源文件路径是要分发的文件在本地的路径,目标主机用户名是目标主机的用户名,目标主机IP是目标主机的IP地址,目标文件路径是文件在目标主机上的路径。
例如,将本地的文件file.txt分发到目标主机的/tmp目录下:
```shell
scp /path/to/file.txt user@192.168.0.1:/tmp
```
请注意,你需要在执行scp命令时输入目标主机的密码。
linux 开启 scp服务器
要开启 Linux 上的 SCP 服务器,需要执行以下步骤:
1. 确认 OpenSSH 是否已经安装:
```
sudo apt-get update
sudo apt-get install openssh-server
```
2. 修改 SSH 配置文件 /etc/ssh/sshd_config,取消注释以下行:
```
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
```
3. 在配置文件的最后添加以下内容:
```
Match group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
```
其中,sftpusers 是一个组名,%u 代表用户名,/home/%u 是用户的根目录。
4. 创建 sftpusers 组,并将需要使用 SCP 服务的用户添加到该组中:
```
sudo groupadd sftpusers
sudo usermod -a -G sftpusers username
```
其中,username 是需要使用 SCP 服务的用户名。
5. 重启 SSH 服务:
```
sudo service ssh restart
```
现在,SCP 服务器已经开启,可以使用 SCP 命令进行文件传输了。例如,从本地主机将文件 file.txt 传输到远程主机的 /home/username 目录下:
```
scp file.txt username@remotehost:/home/username/
```