无法使用 cd 命令或以 root 身份执行文件

Sam*_*mi 2 command-line root

我想升级我的 BIOS 我有文件和这里的说明它的“此脚本需要根级别权限,只能在预装 Linux 的 HP 笔记本电脑上运行。

  1. 切换到超级用户(root)
  2. 确保 gzip(.gz) 文件与脚本位于同一目录中。
  3. 更改文件 hp-linux-bios-installer 的权限以使其可执行:

    chmod +x hp-linux-bios-installer
    
    Run Code Online (Sandbox Code Playgroud)
  4. 通过键入以下命令来执行安装程序:

    ./hp-linux-bios-installer
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在 HP Splash 屏幕上按 F10 重新启动到 BIOS 菜单,然后选中“Update System Bios”复选框
  6. 按ESC
  7. 保存更改
  8. 设备重新启动后,在 HP BIOS 更新屏幕上按“立即应用更新”按钮
  9. 重新启动到 BIOS 屏幕并单击“恢复默认值”
  10. 按ESC
  11. 保存更改。”

当我切换到 root 时,我做了前三个步骤......我无法执行脚本或者我无法将目录更改为桌面所以我可以执行它(文件夹在我的桌面上 - 我是否必须将它移动到某个地方别的?)

Zan*_*nna 7

正如@AnwarShah 指出的那样,您可以(并且应该)使用以下命令运行脚本 sudo

sudo ./hp-linux-bios-installer
Run Code Online (Sandbox Code Playgroud)

但这里出了问题:

您将.gzip文件和hp-linux-bios-installer放在 ~/Desktop 目录中。您使文件hp-linux-bios-installer可执行...

然后你做 sudo -i

无论当前的工作目录是什么,当您使用此命令以 root 身份打开 shell 时,您现在都位于 root 的主目录中/root。输入pwd,你会看到这个。

波浪号扩展是参考当前用户执行的,因此如果您尝试这样做

cd Desktop
cd ~/Desktop
Run Code Online (Sandbox Code Playgroud)

它们都不会工作,因为没有目录/root/Desktop(如果有,它就不是你想要的目录)。您可以使用完整路径

cd /home/YOUR_USERNAME/Desktop/DIRECTORY-NAME
Run Code Online (Sandbox Code Playgroud)

或者去步骤,(使用lspwd如果你迷路)(我用我自己的用户名来作为例子)

cd ..
cd home
cd zanna
cd Desktop
cd [directory-name-with-the-files]
Run Code Online (Sandbox Code Playgroud)

现在您可以在此目录中运行可执行文件。