在Linux中对Scp路径中的空格进行转义?

[复制链接] |主动推送
查看30 | 回复0 | 2024-9-11 15:04:02 | 显示全部楼层 |阅读模式
安全复制工具(scp)是将文件安全地复制到远程计算机或从远程计算机复制到远程计算机的一种简单方法。但是,当scp由于文件名和/或文件夹路径中的空格而不能正常工作时,很容易产生挫折感。
在本教程中,我们将向您展示3种方法来避免因路径名中有空格而导致的scp错误。
为Scp命令转义路径名中的空格
下图显示了一个熟悉的错误,当使用scp命令在文件或文件夹名称中包含空格时,会遇到这个错误。
111344p6ck6hbmh11zfc1c.png
我所要做的就是复制一个名为文件1.txt的单个文件,它包含在一个名为大数据的文件夹和一个名为销售记录的子文件夹中。
我们来看看如何避免这种错误。
1. 在Scp中用反斜杠转义空格。
当使用scp命令时,在路径中转义的第一个方法是在每个空格前加上反斜杠(/)。
下面是一个例子。
$ scp big\ data/sales\ records/file\ 1.csv shola@20.56.105.164:/home/shola
2. Scp中带引号的转义空格。
避免因路径名中的空格而导致scp错误的第二种方法是将整个路径名用引号("")括起来。这对双引号或单引号都有效。
例如
$ scp "big data/sales records/file 1.csv" shola@20.56.105.164:/home/shola
或者
$ scp 'big data/sales records/file 1.csv' shola@20.56.105.164:/home/shola
3. 在Scp中使用反斜杠和引号转义空格。
第三种在路径名中转义空格的方法是结合反斜杠和引号。这在从远程计算机复制文件时尤为重要。
下面是一个例子。
$ scp "shola@20.56.105.164:/home/shola/file\ 1.csv" "big data/sales records"
在本教程中,我们介绍了3种可以避免路径名中的空格导致scp错误的方法。第一种方法是在空格前加上反斜杠,第二种方法是在路径名周围使用引号。第三种方法是将反斜杠和引号结合起来。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则