首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘`uname -r`做什么?

‘`uname -r`做什么?
EN

Ask Ubuntu用户
提问于 2015-03-20 01:37:12
回答 1查看 41.4K关注 0票数 12

下面的命令是做什么的?

代码语言:javascript
复制
sudo apt-get --reinstall install linux-headers-`uname -r`

sudo以提升的权限执行语句。apt-get是一个用于检索特定包/程序的命令。其余的开关/标志是做什么的?

我正在尝试将我的无线适配器的驱动程序重置为“工厂默认”设置。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2015-03-20 02:14:24

--reinstall install:

通常,这是编写的install --reinstall,但两者都工作得很好。这只是告诉apt-get重新安装软件包(S)。

linux-headers-:

linux-headers-是包名的开头。如果您运行dpkg -l | grep linux-headers-,您可以看到安装的任何包的完整列表,这些包以以下内容开头:

头文件来自GNU站点

头文件是包含在多个源文件之间共享的C声明和宏定义的文件。通过将头文件包含在程序中,并使用C预处理指令‘#include’来请求在程序中使用头文件。

而且,从dpkg -l | grep linux-headers-的响应中可以看到,以linux-headers-开头的包是Linux内核的头文件。

`uname -r`:

这就是所谓的命令替换。(该链接指向关于BASH命令替换功能的faqs.org页面。)

这将运行uname -r命令,该命令返回当前内核版本:

然后将从uname -r命令返回的内容放入sudo apt-get --reinstall install linux-headers-`uname -r`命令。

来自faqs.org页面:

命令替换允许命令的输出替换命令本身。命令替换发生在以下命令中:$( command )或Bash执行扩展,方法是执行命令,并将命令替换为命令的标准输出,删除任何尾随的新行。

另外,请参见Linux/Linux /A关于理解BASH backticks

现在,你不会看到这种情况-你只会看到结果。但是,如果您在将uname -r响应放入命令之后确实看到了该命令,则这看起来有点像(显然更改了当前内核版本):

sudo apt-get --reinstall install linux-headers-3.16.0-31-generic

简化版:

您告诉apt-get重新安装当前内核版本的linux包。

票数 21
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/598948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档