下面的命令有什么作用?
sudo apt-get --reinstall install linux-headers-`uname -r`
Run Code Online (Sandbox Code Playgroud)
sudo以提升的权限执行语句。apt-get是检索特定包/程序的命令。其余的开关/标志有什么作用?
我正在尝试将无线适配器的驱动程序重置为“出厂默认”设置。
RPi*_*ess 18
--reinstall install:通常,这是 write install --reinstall,但两者都可以正常工作。这只是告诉apt-get重新安装软件包。
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 页面:
命令替换允许命令的输出替换命令本身。当一个命令被如下包围时,会发生命令替换:
Run Code Online (Sandbox Code Playgroud)$(command)或者
Run Code Online (Sandbox Code Playgroud)`command`Bash 通过执行命令并用命令的标准输出替换命令替换来执行扩展,并删除任何尾随的换行符。
另外,请参阅有关了解 BASH 反引号的 Unix/Linux Q/A。
现在,您不会看到这种情况发生 - 您只会看到结果。但是,如果您在将响应放入命令后确实看到了uname -r该命令,则看起来有点像(显然针对您当前的内核版本进行了更改):
sudo apt-get --reinstall install linux-headers-3.16.0-31-generic
您告诉 apt-get 为您当前的内核版本重新安装 linux-headers 包。
| 归档时间: |
|
| 查看次数: |
33633 次 |
| 最近记录: |