信阳网站建设机票网站建设

四川晟源达科技有限公司 2026/09/09 19:32:04

1、sudo

  • 作用
    允许普通用户以超级用户(root)或其他用户的权限执行命令。
    在 Ubuntu 等现代 Linux 发行版中,出于安全考虑,默认禁用 root 登录,而是通过sudo临时提权。

  • 英文全称
    sudo= “superuser do”或更准确地说是“substitute user and do”
    它的本意是“以另一个用户的身份执行(命令)”,默认是 root 用户。

  • 示例

    sudoaptupdate# 以 root 权限运行 apt update
  • 补充
    第一次使用sudo时通常需要输入当前用户的密码(不是 root 密码),验证通过后短时间内再次使用无需重复输入。

2、apt

  • 作用
    Advanced Package Tool的命令行工具,用于在 Debian/Ubuntu 系统中管理软件包,包括:

    • 安装(install)
    • 卸载(remove / purge)
    • 更新软件列表(update)
    • 升级已安装软件(upgrade)
    • 搜索软件包(search)等
  • 英文全称
    apt= Advanced Package Tool
    (注意:apt本身是一个高层命令,底层实际调用的是dpkgapt-getapt-cache等工具)

  • 设计目的
    提供一个更简洁、用户友好的包管理接口(相比老式的apt-getapt-cache)。

  • 常见命令

    sudoaptinstallfirefox# 安装软件sudoaptremove firefox# 卸载软件(保留配置)sudoaptpurge firefox# 彻底卸载(含配置)sudoaptupdate# 更新软件源索引sudoaptupgrade# 升级已安装的软件

3、sudo apt update

  • 作用:从配置的软件源(repositories)下载最新的软件包索引信息
  • 说明
    • 它不会安装或升级任何软件,只是同步本地的软件包列表与远程仓库的最新状态。
    • 这样系统才知道有哪些软件有新版本可用。
  • 类比:就像你去书店前先查一下“最新书目清单”,但还没买书。
  1. sudo apt update→ 实际调用apt-get update,更新本地缓存(供apt-cache查询)
  2. apt-cache search nginx→ 查找 nginx 相关包
  3. sudo apt install nginx→ 内部调用apt-get install,自动下载依赖并用dpkg安装

4、sudo apt upgrade

  • 作用升级所有已安装的软件包到最新版本(基于上一步获取的索引)。

  • 只升级当前系统中已经安装的软件包

  • 而且仅在apt update获取到的新索引中发现这些软件有更新版本时,才会进行升级;

  • 不会安装新软件,也不会删除已有软件(除非极特殊情况,但默认upgrade会避免删除);

  • 行为逻辑非常类似于手机应用商店(如 iOS App Store 或 Android Play 商店):

    • 应用商店先检查服务器上有没有已安装 App 的新版本(相当于apt update);
    • 如果有,就提示“可更新”,点击“全部更新”就升级所有能升的 App(相当于apt upgrade)。

5、dpkg

sudodpkg -i google-chrome-stable_current_amd64.deb

为什么 Ubuntu 可以安装.deb文件?

因为Ubuntu 是基于 Debian 的发行版,原生支持.deb包格式。系统内置了处理.deb文件的工具链:

  • 底层工具:dpkg(直接操作.deb文件)
  • 高层工具:aptapt-get(可自动下载并安装.deb及其依赖)

💡 就像 Android 原生支持.apk,Windows 支持.exe一样,Ubuntu 原生支持.deb

正确名称:.deb文件

  • 全称Debian software package
  • 用途:Debian 及其衍生发行版(如 Ubuntu、Linux Mint 等)使用的安装包格式,类似于 Windows 的.exe.msi,macOS 的.dmg
  • 结构:本质上是一个ar 归档文件,内部包含:
    • 控制信息(包名、版本、依赖等)
    • 安装脚本(pre-install, post-install 等)
    • 实际要安装的文件(通常打包在 data.tar.xz 中)

6、gedit

sudogedit /etc/hosts

geditGNOME 桌面环境下的默认图形化文本编辑器(类似于 Windows 的“记事本”或 macOS 的“文本编辑”)。

  • 全称/含义GNOMEEditor
  • 用途:一个简单、易用的 GUI(图形界面)文本编辑器,支持语法高亮、多标签页、插件扩展等。
  • 适用系统:主要在使用 GNOME 桌面的 Linux 发行版中预装,比如:
    • Ubuntu(默认桌面是 GNOME)
    • Fedora Workstation
    • Debian GNOME 版 等

7、nohup

nohupyour_command&
  • 场景:你让朋友帮你烧一壶水

  • 情况 1:你站在厨房盯着他(不加&)你不能离开,终端一直卡在这个位置。

  • 情况2:加了& 后,你可以离开。

&能让程序在后台运行,是因为 Shell 启动该进程后不会等待它结束,而是立即返回命令行;同时将其放入后台进程组,不分配终端控制权——这就是“后台运行”的技术实现。

8、source

source的作用是:让脚本里的设置(变量、路径、函数等)在当前终端“永久生效”,而不是跑完就消失。

  • 场景:你写了一个开发环境配置脚本my_env.sh

内容如下(你可以自己创建这个文件):

# 文件名: my_env.sh# 1. 设置一个自定义变量exportMY_PROJECT="Awesome Robot"# 2. 把某个目录加入 PATH(比如你的工具脚本目录)exportPATH="$PATH:$HOME/my_tools"# 3. 定义一个函数say_hello(){echo"Hello! You're working on$MY_PROJECT"}# 4. 设置一个别名(虽然通常放 .bashrc,但这里演示)aliasll='ls -lh'
  • 情况一:不用source,直接运行脚本
./my_env.sh
echo$MY_PROJECT# 输出:(空!)echo$PATH# 没有包含 $HOME/my_toolssay_hello# 报错:command not foundll# 可能无效(除非之前已定义)

为什么?
因为./my_env.sh子 shell中运行,所有修改只在那个“临时房间”里有效。脚本一结束,房间就销毁了,主终端什么都没变。

  • 情况二:用source执行脚本
sourcemy_env.sh# 或者.my_env.sh
echo$MY_PROJECT# 输出:Awesome Robot ✅echo$PATH|grepmy_tools# 能看到 /home/yourname/my_tools 在 PATH 里 ✅say_hello# 输出:Hello! You're working on Awesome Robot ✅ll# 现在等价于 ls -lh ✅

🎉全部生效了!
因为source是在你当前的终端环境里逐行执行脚本,就像你亲手敲了那些命令一样。

再进一步:验证“持久性”

  • 如果你在source之后打开新终端,这些设置又没了(因为每个终端是独立的 shell 会话)。
  • 如果你想永久生效,可以把source ~/my_env.sh加到~/.bashrc里:
echo"source ~/my_env.sh">>~/.bashrc

这样以后每个新终端都会自动加载它。


  • 实际应用场景举例
场景脚本作用为什么必须用source
Python 虚拟环境venv/bin/activate修改PATH和提示符,让你用的是虚拟环境的python
ROS 2 工作空间install/setup.shros2 run能找到你的包
AWS CLI 配置aws configure export-credentials(某些方式)临时设置AWS_ACCESS_KEY_ID等环境变量
自定义开发环境dev_setup.sh统一团队的环境变量、工具路径、快捷函数

小贴士:如何知道一个脚本是否该用source

看它的目的:

  • 如果脚本主要是exportalias、定义函数、改PATH必须用source
  • 如果脚本是执行一个任务(比如备份文件、下载数据)→ 直接运行即可
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

个人网站建设福田网站建设

TensorFlow镜像兼容性全解析:支持多种操作系统与硬件平台在现代AI工程实践中,一个看似简单的问题却常常让团队耗费数小时甚至数天时间——为什么模型在开发机上跑得好好的

2026/06/30 11:04:53

大连网站建设云南网站建设

1.2 人工智能的多维度定义:弱AI、强AI与超级AI的理论边界在厘清“智能”的本质之后,对“人工智能”(Artificial Intelligence&#x

2026/06/30 12:08:59

番禺网站建设龙岩网站建设

Simulink通信系统仿真1. Simulink概述1.1 Simulink简介Simulink是MATLAB的一个附加产品,主要用于动态系统建模、仿真和分析。Simulink提供了一

2026/06/30 10:43:21

四川网站建设河北网站建设

前言工业软件开发中,稳定、高效的网络通信能力往往是系统成败的关键。不管是远程监控 PLC 设备、采集传感器数据,还是对接视频监控系统、提供本地配置服务,常常需

2026/06/30 10:38:51

青岛网站建设东莞手机网站建设

2.1 Cursor核心功能全解析:文档集成与行为定制化在第一章中,我们初步了解了AI编程工具的基本概念,并通过实战项目体验了AI如何提升开发效率。从本章开始,我们将深入学习Cursor这款专为AI编

2026/06/30 10:24:50

重庆网站建设义乌网站建设

YOLO模型训练断点续传功能实现:网络不稳定也不怕在工业级AI视觉系统中,目标检测的稳定性与效率直接决定着产品能否顺利落地。YOLO(You Only Loo

2026/06/30 12:05:29

建设网站制作常州网站建设

上一章我们搞懂了寄存器的底层逻辑,知道它是CPU内部的“贴身高速仓库”。但新的疑问随之而来:CPU内部的寄存器、ALU,如何与外部的内存、硬盘、显卡等组件交换

2026/06/30 10:47:22

网站外链建设团购网站建设

extract-video-ppt:视频PPT智能提取终极指南与完整教程【免费下载链接】extract-video-pptextract the ppt in the video项目地址

2026/06/30 10:22:50

网站建设方案牡丹江网站建设

手把手教你实现 STM32CubeMX 中文汉化:从原理到实战你是不是也曾在打开 STM32CubeMX 时,面对满屏英文菜单感到头大?“Clock Conf

2026/06/30 12:07:00