[问题]阻止软件包升级命令不理解之处,请教(已解决)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
oliver
帖子: 775
注册时间: 2005-10-05 11:31
联系:

[问题]阻止软件包升级命令不理解之处,请教(已解决)

#1

帖子 oliver » 2006-11-11 12:53

该命令:
dpkg --get-selections \* > selections.txt
中"\*"的组合是什么意思呢?

这位仁兄(http://www.linuxsir.org/bbs/showpost.ph ... ostcount=3)告诉我
"\"在这里是转义字符,"*"就是星号而非通配符代表任意全部,可是我还是感觉"*"在这里是通配符。
上次由 oliver 在 2006-11-12 16:46,总共编辑 3 次。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#2

帖子 BigSnake.NET » 2006-11-11 19:34

* = 任何字符
/* = 星號
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
oliver
帖子: 775
注册时间: 2005-10-05 11:31
联系:

#3

帖子 oliver » 2006-11-12 12:08

BigSnake.NET 写了:* = 任何字符
/* = 星號
直接 dpkg --get-selections > (某个文件) 不是就可以将包选项目录标准输出重定向到某个文件了么? 加上星号有什么意义呢?不解...
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#4

帖子 aBiNg » 2006-11-12 14:34

$man dpkg
...
dpkg --get-selections [package-name-pattern...]
Get list of package selections, and write it to stdout. Without a pattern, packages marked with state purge will not be shown.
...

here \*=="*", which is the pattern mode to match all of the debian packages without considering the state.
上次由 aBiNg 在 2006-11-12 17:39,总共编辑 1 次。
头像
oliver
帖子: 775
注册时间: 2005-10-05 11:31
联系:

#5

帖子 oliver » 2006-11-12 16:45

谢谢四楼的兄弟,现在明白了 :)
"\*"就是"*" ,也就是*通配符
如果没有“\”,那么"*"就会当成"*"符号。
例如

代码: 全选

oliver@ubuntu:~$ dpkg --get-selections acpi  >  Desktop/temp3.txt    
acpi就是一个符合模式,标准输出就只有acpi这一个包。
而用"\*"就代表"*"通配符代表所有。
如果没有任何模式字符,那么被标记为删除状态的包就不会在标准输出中出现。

P.S.你的注释是你自己用英语组织语言的吧?我dpkg manual中没有
Without
a pattern, packages marked with state purge will not be shown.

这一段。
:)
回复