Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 无法卸载文件?_Linux_Unix_Ftp_Shell_Tar - Fatal编程技术网

Linux 无法卸载文件?

Linux 无法卸载文件?,linux,unix,ftp,shell,tar,Linux,Unix,Ftp,Shell,Tar,我编写了一个shell脚本,它试图从ftp服务器中提取tar文件,并在本地对其进行解压缩。我需要从tar存档中提取特定文件。tarfile的文件名包含一个日期;我需要能够根据这个日期选择一个tar文件 abc_myfile_$date.tar是我从ftp服务器中提取的文件的格式 我当前的代码如下所示: for host in ftpserver do ftp -inv host <<END_SCRIPT user username password prompt cd remotep

我编写了一个shell脚本,它试图从ftp服务器中提取tar文件,并在本地对其进行解压缩。我需要从tar存档中提取特定文件。tarfile的文件名包含一个日期;我需要能够根据这个日期选择一个tar文件

abc_myfile_$date.tar是我从ftp服务器中提取的文件的格式

我当前的代码如下所示:

for host in ftpserver
do
ftp -inv host <<END_SCRIPT
user username password
prompt
cd remotepath
lcd localpath
mget *myfile_$date*.tar
quit
END_SCRIPT
done

for next in `ls localpath/*.tar`
do
tar xvf $next *required_file_in_tar_file*.dat
done
ftpserver中主机的

ftp-inv host我不太确定,但是如果要下载多个文件,ftp协议是否没有命令
mget
?(而不是
get

我不太确定,但是如果要下载多个文件,FTP协议是否没有命令
mget
?(而不是
get

您将获得
.tar
文件,但使用
z
选项将其解压缩。压缩文件(需要
z
的文件)通常具有
.tar.gz
前缀。试一试

tar xvf $next *required_file_in_tar_file*.dat

您将获得
.tar
文件,但使用
z
选项将其解压缩。压缩文件(需要
z
的文件)通常具有
.tar.gz
前缀。试一试

tar xvf $next *required_file_in_tar_file*.dat

首先,如果要对从服务器获取的文件名使用通配符,则需要使用mget而不是get。通配符文件扩展(the*)不适用于get命令。

拉取文件后,tar操作将按预期工作,大多数现代版本的linux/bsd都有一个“智能”tar,它不需要“z”命令来指定tar文件是压缩的-他们会发现tarball是自己压缩的,并自动解压缩,系统上提供了适当的压缩/解压缩工具(bzip2用于.jz文件,gzip用于.gz文件)。

首先,如果要对从服务器获取的文件名使用通配符,则需要使用mget而不是get。通配符文件扩展(the*)不适用于get命令。

拉取文件后,tar操作将按预期工作,大多数现代版本的linux/bsd都有一个“智能”tar,它不需要“z”命令来指定tar文件是压缩的-他们会发现tarball是自己压缩的,并自动解压缩,系统上提供了适当的压缩/解压缩工具(bzip2用于.jz文件,gzip用于.gz文件)。

对不起,这是PHP吗?或者这是什么语言?shell脚本…………对不起,这是PHP吗?或者这是什么语言?shell脚本当我在命令行中执行这个命令时,它工作得非常好。但是在脚本中它不工作tar:my_required_file_in_tar_file_123.dat:在archieve中找不到,但该文件在archieve中…您是否考虑过引用第二个参数(带星号的参数)?我编写了与您提到的相同的代码,并尝试了其他类型。我可以在命令行中完成所有这些,但是当我运行脚本时,我无法解压文件。“无法”说什么?(顺便说一句,你为什么不在localpath/*
中为下一个设置
,而不是生成另一个ls?在某些情况下,这可能会用着色转义序列污染你的tar名称)。在ftp之后,如果我放置cd localpath,我就能够获得所需文件的untar。。。。谢谢你…当我在命令行中执行这个命令时,它工作得非常好。但是在脚本中它不工作tar:my_required_file_in_tar_file_123.dat:在archieve中找不到,但该文件在archieve中…您是否考虑过引用第二个参数(带星号的参数)?我编写了与您提到的相同的代码,并尝试了其他类型。我可以在命令行中完成所有这些,但是当我运行脚本时,我无法解压文件。“无法”说什么?(顺便说一句,你为什么不在localpath/*
中为下一个设置
,而不是生成另一个ls?在某些情况下,这可能会用着色转义序列污染你的tar名称)。在ftp之后,如果我放置cd localpath,我就能够获得所需文件的untar。。。。谢谢你。。。。