下面的命令是做什么的?
sudo apt-get --reinstall install linux-headers-`uname -r`sudo以提升的权限执行语句。apt-get是一个用于检索特定包/程序的命令。其余的开关/标志是做什么的?
我正在尝试将我的无线适配器的驱动程序重置为“工厂默认”设置。
发布于 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包。
https://askubuntu.com/questions/598948
复制相似问题