Bash-scp失败?

Bash-scp失败?,bash,scp,Bash,Scp,例如,我尝试做一个简单的scp: scptzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*。 当文件夹中明显有文件时,它会失败,并返回scp:No match.?我敢肯定这以前是行得通的。当我尝试时: scptzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/1.txt. 它很好用。这与我试图scp阻止我传输所有文件的服务器有

例如,我尝试做一个简单的scp:

scptzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*。

当文件夹中明显有文件时,它会失败,并返回
scp:No match.
?我敢肯定这以前是行得通的。当我尝试时:

scptzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/1.txt.

它很好用。这与我试图scp阻止我传输所有文件的服务器有关吗

编辑:已解决。主要的问题是我在tcsh而不是bash中。

也许这样就可以了

您必须将字面转义传递给SCP,以便远程机器不认为它是GLUB。

exmaple>

scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1\* .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1* .
也许这样就行了

您必须将字面转义传递给SCP,以便远程机器不认为它是GLUB。

exmaple>

scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1\* .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1* .

您需要在远程shell而不是本地shell上展开
*
(所有文件)

任何防止在本地shell上预扩展
*
的常规转义方法都可以:

scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/'*' .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/"*" .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/\* .
或者您也可以引用整个文件名字符串:

scp tzj21@example.co.uk:'/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*' .
scp tzj21@example.co.uk:"/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*" .

您需要在远程shell而不是本地shell上展开
*
(所有文件)

任何防止在本地shell上预扩展
*
的常规转义方法都可以:

scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/'*' .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/"*" .
scp tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/\* .
或者您也可以引用整个文件名字符串:

scp tzj21@example.co.uk:'/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*' .
scp tzj21@example.co.uk:"/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*" .

避开星号。在它前面加一个反斜杠,或者将包含它的字符串放在双引号中。或者更好,使用rsync
rsync
。就在我脑子里,你试过scp-r吗tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*?避开星号。在它前面加一个反斜杠,或者将包含它的字符串放在双引号中。或者更好,使用rsync
rsync
。就在我脑子里,你试过scp-r吗tzj21@example.co.uk:/home/tzj21/scratch/McAdam/chains/z0.5/temp_cc1/*?如果我想这么做,那么,假设远程shell是
bash
,那么scp只在temp_cc{1..250}之间创建文件呢?@TZJinzo相同的规则:转义模式
'temp_cc{1..250}
(让远程shell进行扩展)。有temp_cc1-temp_cc1000的文件。我只想查看1-250。
echo temp_cc{250..400}.txt
仅返回温度cc250..400。txt@TZJinzo有像
temp_cc250.txt
temp_cc251.txt
temp_cc252.txt
之类的文件吗?还有远程shell
bash
?(你在做大括号扩展,不是所有的shell都支持)。是的。现在我复制了所有的文件(这总比没有好)所以现在我的本地目录中有所有的txt文件,但我想去掉250个以外的所有文件,但我似乎做不到。我本以为
rm temp_cc{251..1000}.txt会奏效,但它根本不起作用……如果我想这样做,比如说,temp_cc{1..250}之间只有scp文件呢?@TZJinzo假设您的远程shell是
bash
,相同的规则:转义模式
'temp_cc{1..250}
(让远程shell进行扩展)。有temp_cc1-temp_cc1000的文件。我只想看1-250。
echo temp_cc{250..400}.txt
仅返回温度cc250..400。txt@TZJinzo有像
temp_cc250.txt
temp_cc251.txt
temp_cc252.txt
之类的文件吗?还有远程shell
bash
?(你在做大括号扩展,不是所有的shell都支持)。是的。现在我复制了所有的文件(这总比没有好).所以现在我的本地目录中有所有的txt文件,但我想清除所有超过250个的文件,但我似乎做不到。我本以为
rm temp_cc{251..1000}.txt
会奏效,但它根本不起作用。。。