如何让tar ztvf正常显示包含特殊字符的文件

如何让tar ztvf正常显示包含特殊字符的文件

比如说我有一个如下的tgz包。

[root@ var]# tar ztvf /home/package.tar.gz
drwxr-xr-x root/root         0 2005-01-27 11:41:09 package/
-rw-r--r-- root/root   7867561 2005-01-27 07:45:58 package/"'*\\.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 07:47:09 package/"'*\\1.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 07:47:11 package/"'*\\2.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 07:47:13 package/"'*\\3.tar.gz
-rw-r--r-- root/root   3145728 2005-01-27 07:59:06 package/xaa
-rw-r--r-- root/root   3145728 2005-01-27 07:59:06 package/xab
-rw-r--r-- root/root   1576105 2005-01-27 07:59:06 package/xac
-rw-r--r-- root/root   7867561 2005-01-27 11:26:59 package/"*\\.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 11:27:03 package/'*\\.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 11:40:58 package/'*\\1.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 11:41:02 package/'*\\2.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 11:41:05 package/'*\\3.tar.gz
-rw-r--r-- root/root   7867561 2005-01-27 11:41:09 package/'*4\\.tar.gz

如果只想显示一个文件的情报的话,

[root@var]# tar ztvf /home/package.tar.gz package/xaa
-rw-r--r-- root/root   3145728 2005-01-27 07:59:06 package/xaa
可以正常工作

但是如果想显示特殊字符的文件的情况,就会报错
[root@var]# tar ztvf /home/package.tar.gz package/\'*4\\.tar.gz
tar: package/'*4\\.tar.gz: Not found in archive
tar: Error exit delayed from previous errors

我想应该是特殊字符匹配的问题,应该是用转移字符的。
请教应该如何表示这个特殊文件名。
set -o noglob
tar ....
set +o noglob
谢谢楼上的热心回答,不过和我的问题基本没有关系
不就是关闭通配符嘛!
[code:1]
/home/lee/test#ls *
?  *  file.tar.bz2  song  url

a:
/home/lee/test#set -o noglob
/home/lee/test#ls *
*
/home/lee/test#set +o noglob
/home/lee/test#ls *
?  *  file.tar.bz2  song  url

a:
[/code:1]
哎,这个不是shell的问题,是tar的问题,如果把一个包含*的文件打包,然后运行tar tf指定这个文件名,gtar总是报错说找不到包含*的那个文件。

我的问题是用如何的命令行可以让tgz中的文件显示出来

tar tf test.tar.gz test*1