Ubuntu 24 常用命令方法

文章目錄

  • 環境說明
  • 1、賬號管理
    • 1.1、啟用 root
  • 2、包管理工具 apt & dpkg
    • 2.1、apt 簡介 & 阿里源配置
    • 2.2、dpkg 簡介
    • 2.3、apt 和 dpkg 兩者之間的關系
    • 2.4、常用命令
  • 3、啟用 ssh 服務
  • 4、防火墻
  • 5、開啟遠程登錄
  • 6、關閉交換分區
  • 7、build-essential(編譯和開發軟件的工具和庫)
    • 7.1、異常處理
  • 8、網絡
    • 8.1、靜態 IP
    • 8.2、如何確認網線插在哪個網卡上了?
  • 9、Python
  • 10、vi
    • 10.1、異常處理:方向鍵出現奇怪的字符
  • 11、軟件包管理工具 snap
  • 12、下載工具
    • 12.1、第三方命令行下載工具
      • 12.1.1、aria2
    • 12.2、第三方圖形界面下載工具
      • 12.2.1、uGet
  • 其他常用操作


環境說明

操作系統:Ubuntu 24.04.1 LTS
安裝包:ubuntu-24.04.1-desktop-amd64.iso


1、賬號管理

1.1、啟用 root

注意事項:啟用root用戶登錄會帶來一定的安全風險,因為root用戶擁有系統中所有的權限,任何錯誤的操作都可能導致系統崩潰或數據丟失。因此,除非確實必要,否則不建議啟用root用戶登錄。

啟用root用戶登錄如果你確實需要啟用root用戶的登錄功能,可以按照以下步驟操作:

  1. 打開終端:可以通過按 Ctrl + Alt + T 快捷鍵打開終端。
  2. 設置root用戶密碼:
sudo passwd root

系統會提示你輸入新的Unix密碼,輸入你想要設置的root用戶密碼,然后再次輸入以確認。密碼輸入時不會顯示任何字符,這是正常的安全措施。
3. 切換到root用戶(可選):
輸入命令

su -  或  su - root

然后輸入剛剛設置的root用戶密碼,即可切換到root用戶。


2、包管理工具 apt & dpkg

2.1、apt 簡介 & 阿里源配置

在 Ubuntu 中,apt 是一個高級的包管理工具,用于安裝、更新、配置和刪除軟件包。它是 apt-get 的一個更現代、更用戶友好的替代品,提供了更簡潔的輸出和更友好的用戶界面。 apt 旨在簡化包管理任務,使其更適合普通用戶。

更改為阿里源 - 參考文檔
新手推薦使用圖形界面配置: 系統設置 -> 軟件和更新 選擇下載服務器 -> “mirrors.aliyun.com”

2.2、dpkg 簡介

dpkg 是 Debian 及其衍生發行版(如 Ubuntu)中用于管理 .deb 包的底層工具。提供了安裝、移除、查詢和管理軟件包的功能。

2.3、apt 和 dpkg 兩者之間的關系

dpkg:底層的包管理工具,直接操作 .deb 文件,適合手動安裝和管理軟件包。
apt:高級的包管理工具,基于 dpkg ,提供了自動處理依賴關系、更新軟件包列表、升級系統等高級功能,適合日常使用。

在實際使用中,apt 是更常用的工具,因為它提供了更高級的功能和更簡單的操作。如果你需要直接操作 .deb 文件,可以使用 dpkg。

2.4、常用命令

# 查看可用的軟件包及其來源
apt-cache policy
# 查看特定軟件包的來源
apt-cache policy 軟件包名稱
# 文件 /etc/apt/sources.list 包含了系統默認的軟件源配置
# 目錄 /etc/apt/sources.list.d/ 下的文件,包含了第三方或額外的軟件源配置文件# 更新包列表 - 更新本地包索引,確保系統知道可用的最新軟件包版本
apt update
# 安裝軟件包
apt install <package-name>
# 檢查是否安裝 package-name
dpkg -l | grep package-name
# 查詢軟件包詳細信息
dpkg -s 包名
# 查詢文件所屬的軟件包
dpkg -S 文件路徑
# 清理未使用的依賴包
sudo apt-get autoremove# 卸載軟件包
# 卸載指定的軟件包,但保留配置文件
apt remove <package-name>
# 卸載指定的軟件包及其配置文件
apt purge <package-name># 搜索軟件包名稱和描述中包含指定關鍵詞的軟件包
apt search <keyword># 顯示指定軟件包的詳細信息,包括版本、依賴關系、描述等
apt show <package-name>
# 清理已下載的軟件包文件,只保留當前安裝的軟件包的文件apt autoclean
# 自動移除不再需要的依賴包
apt autoremove# 升級所有已安裝的軟件包到最新版本
apt upgrade
# 升級所有已安裝的軟件包,并且可以自動處理依賴關系,可能會刪除或安裝新的包
apt full-upgrade

3、啟用 ssh 服務

# 查看是否安裝
dpkg -l | grep openssh-server
# 通過檢查服務狀態,查看是否安裝
systemctl status ssh# 更新包列表 - 更新本地包索引,確保系統知道可用的最新軟件包版本
apt update
# 安裝 ssh 服務
# 注意:2025-01-30 需要 apt install openssh-client=1:9.6p1-3ubuntu13.4 降級到此版本,否則會導致 oepnssh-server 安裝失敗
apt install openssh-server
# 更改配置文件
/etc/ssh/sshd_config
# 允許 root 用戶登錄
# PermitRootLogin yes
# 允許使用密碼登錄
# PasswordAuthentication yes
# 重啟 ssh 服務
systemctl restart ssh.service# 防火墻
# 開通端口
sudo ufw allow 22/tcp
# 重新加載
sudo ufw reload
# 查看狀態
sudo ufw status

4、防火墻

# 查看狀態
sudo ufw status# 開通端口
sudo ufw allow 3389/tcp
sudo ufw allow 22/tcp
# 重新加載
sudo ufw reload
# 啟用
sudo ufw enable
# 停用
sudo ufw disable

5、開啟遠程登錄

桌面共享 和 遠程登錄 什么區別?

  • 桌面共享:主要用于協作、演示和技術支持。
  • 遠程登錄:主要用于遠程管理和遠程辦公。

開啟遠程登錄,使用自帶的RDP功能

  1. 打開設置:點擊屏幕左上角的“活動”按鈕,打開“設置”

在這里插入圖片描述

  1. 進入遠程桌面設置:在“設置”中滑動鼠標到最下方,點擊“系統”選項,再點擊“遠程桌面”。

在這里插入圖片描述

  1. 開啟相關選項:勾選“遠程登錄”
  2. 設置登錄詳情:在“登錄詳情”中設置一個用戶名和密碼,用于遠程連接時的身份驗證。(注意此處的賬戶僅用戶遠程登錄)
  3. 修改端口(可選):若需要修改默認端口3389
  4. 配置防火墻(可選,默認防火墻未開啟):確保防火墻允許RDP連接,可使用命令
sudo ufw allow 3389/tcp
sudo ufw reload
sudo ufw enable

6、關閉交換分區

# 查看是否開啟
free -h# 臨時關閉Swap
swapoff -a
# 永久關閉Swap
nano /etc/fstab
# 注釋掉Swap相關的行

7、build-essential(編譯和開發軟件的工具和庫)

在Ubuntu系統中,build-essential是一個非常重要的包(元包 meta-package),它包含了一系列用于編譯和開發軟件的工具和庫。

常見用途:

  • 從源代碼安裝軟件:許多軟件提供源代碼包,需要編譯才能安裝。build-essential提供了必要的工具來完成編譯過程。
  • 開發C/C++程序:如果你是開發者,build-essential提供了編譯和調試C/C++程序所需的工具。
  • 構建和管理項目:make工具可以幫助你自動化項目的構建過程。

安裝步驟:

# 打開終端:可以通過按`Ctrl`+`Alt`+`T`快捷鍵打開終端
# 更新軟件包列表:在安裝任何軟件之前,建議先更新軟件包列表,以確保安裝的是最新版本的軟件
apt update# 安裝 build-essential
apt install build-essential# 驗證安裝
# 如果安裝成功,這些命令會顯示相應的版本信息
gcc --version
g++ --version
make --version

安裝的工具和庫:

  • C和C++編譯器:如gcc(GNU C Compiler)和g++(GNU C++Compiler)
  • Make工具:用于構建和管理項目。
  • 其他開發工具:如dpkg-devlibc6-dev等,這些工具和庫是編譯和開發軟件時常用的

7.1、異常處理

# 安裝過程中,會提示安裝 bzip2
# 安裝 bzip2 會提示 libbz2-1.0 版本過高
# 降級
apt install libbz2-1.0=1.0.8-5.1
# 安裝依賴
apt install bzip2
apt install build-essential

8、網絡

8.1、靜態 IP

使用 netplan 配置靜態 IP
說明:netplan 是 Ubuntu 18.04 及更高版本中默認的網絡配置工具

# 配置目錄
cd /etc/netplan
# 文件名可能類似于 01-netcfg.yaml 或 50-cloud-init.yaml
# 修改配置文件,示例參考下面
nano 50-cloud-init.yaml
# 測試配置
sudo  netplan try
# 應用配置
sudo netplan apply
# 驗證配置 - 檢查網絡接口的IP地址是否已更新
ip addr show eth0  # 替換為你的網絡接口名稱
# 驗證配置 - 檢查默認網關是否已更新
ip route show

配置示例

network:version: 2ethernets:eth0:  # 替換為你的網絡接口名稱,例如 eth0 或 ens33dhcp4: noaddresses:- 192.168.1.100/24  # 替換為你的靜態IP地址和子網掩碼gateway4: 192.168.1.1  # 替換為你的默認網關nameservers:addresses:- 8.8.8.8  # 替換為你的DNS服務器地址- 8.8.4.4

無線網絡

network:version: 2wifis:wlan0:  # 替換為你的無線網絡接口名稱dhcp4: noaddresses:- 192.168.1.100/24gateway4: 192.168.1.1nameservers:addresses:- 8.8.8.8- 8.8.4.4access-points:"your-ssid":  # 替換為你的無線網絡SSIDpassword: "your-password"  # 替換為你的無線網絡密碼

8.2、如何確認網線插在哪個網卡上了?

# 所有網絡接口的列表 - 其中 eth0 或其他 eth數字 的是物理網卡
ls /sys/class/net/
# 檢查網卡的連接狀態 - 如果網卡連接了網線,會顯示 Link detected: yes
sudo ethtool eth0
# 安裝 ethtool
sudo apt-get install ethtool

9、Python

python3 --version
# 系統自帶 Python 3.12.3
# 但是沒有 pip
# 安裝 pip
apt install python3-pip
# 查看版本
pip --version
# pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)

通過 Miniconda 進行環境管理


10、vi

10.1、異常處理:方向鍵出現奇怪的字符

異常情況說明:
使用 vi 時,方向鍵出現奇怪字符(如 [A 、 [B 、 [C 、 [D )的問題。

原因分析:
通常是由于 vi 編輯器默認處于兼容模式( compatible ),這種模式下 vi 會模擬原始的 vi 行為,導致方向鍵和退格鍵等功能鍵無法正常使用。

解決方法1:

# 通過 nano 修改 /etc/vim/vimrc.tiny 文件
nano /etc/vim/vimrc.tiny
# 找到文件中的 set compatible 行
# 將其改為 set nocompatible ,以啟用非兼容模式
# 在文件末尾添加 set backspace=2 ,解決退格鍵問題

解決方法2:

# 安裝完整版的 vim
sudo apt install vim

11、軟件包管理工具 snap

Snap 是由一種現代化的軟件包格式,旨在解決傳統 Linux 包管理中的依賴問題。
Snap 包是一個獨立的、自包含的軟件包,包含了應用程序的所有依賴項和運行時環境。這意味著 Snap 應用程序可以在多個 Linux 發行版上無縫運行,而無需擔心兼容性問題。

Snap 的主要特點包括:

  1. 跨平臺兼容性:Snap 包可以在多種 Linux 發行版上運行,而無需修改。
  2. 安全性:Snap 應用程序默認在沙箱環境中運行,限制了對系統資源的訪問。
  3. 自動更新:Snap 包會自動更新到最新版本,確保軟件始終處于最新狀態。
  4. 獨立性:每個 Snap 包包含所有必要的依賴項,不會與其他軟件沖突。

個人見解 - 有的時候自動更新是壞事兒 ~

常用命令:

# 檢查是否安裝
snap --version
# 安裝
sudo apt update
sudo apt install snapd# 永久禁用所有 Snap 應用的自動更新
sudo snap refresh --hold
# 禁用自動更新 - 禁用特定 Snap 包
sudo snap refresh --hold <snap-name>
# 解除更新限制
sudo snap refresh --unhold <snap-name># 查找 Snap 包
snap find <keyword># 安裝 Snap 包
sudo snap install <snap-name>
# 更新 Snap 包 - 所有
sudo snap refresh
# 更新 Snap 包 - 更新特定的 Snap 包
sudo snap refresh <snap-name>
# 更新到穩定版
sudo snap refresh <snap-name> --stable
# 如果你想查看當前哪些應用的更新被保留
sudo snap refresh --list# 列出已安裝的 Snap 包
snap list# 卸載 Snap 包
sudo snap remove <snap-name># 查看 Snap 包的詳細信息
snap info <snap-name># 運行 Snap 應用程序
snap run <snap-name># 檢查安裝路徑 - Snap 應用程序通常安裝在 /snap/<snap-name> 目錄下
ls -l /snap/buzz

12、下載工具

12.1、第三方命令行下載工具

12.1.1、aria2

aria2 是一個輕量級的多協議、多線程下載工具,支持 HTTP、HTTPS、FTP、BitTorrent 等多種協議。

優點:

  • 多線程下載,速度更快
  • 支持多種協議
  • 支持斷點續傳和批量下載

缺點:

  • 無圖形界面
  • 需要手動配置
# 安裝
sudo apt install aria2
# 下載文件
aria2c 文件URL

12.2、第三方圖形界面下載工具

12.2.1、uGet

uGet 是一個功能強大的圖形界面下載工具,支持 HTTP、HTTPS、FTP 等多種協議。

優點:

  • 圖形界面,使用方便
  • 支持多線程下載和斷點續傳
  • 支持多種協議

缺點:

  • 需要圖形界面支持
  • 功能相對復雜
# 安裝
sudo apt install uget
# 下載文件
uget-gtk
# 幫助文檔
uget-gtk --help

其他常用操作

參考文檔:CentOS 7 常用命令&方法

說明:都是 Linux ,很多操作方法其實差不太多的啦 ~


PS : 記筆記!偶爾忘了來查查! >_<|||

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72774.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72774.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72774.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OpenCV計算攝影學(22)將輸入的彩色圖像轉換為兩種風格的鉛筆素描效果函數pencilSketch()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 鉛筆風格非寫實線描圖。 該函數通過圖像處理技術將輸入的彩色圖像轉換為兩種風格的鉛筆素描效果&#xff1a; dst1&#xff1a;炭筆效果的灰度圖…

hackmyvm-Smol

信息收集 ┌──(root?kali)-[/home/kali] └─# arp-scan -I eth1 192.168.56.0/24 Interface: eth1, type: EN10MB, MAC: 00:0c:29:34:da:f5, IPv4: 192.168.56.103 WARNING: Cannot open MAC/Vendor file ieee-oui.txt: Permission denied WARNING: Cannot open MAC/Vendo…

使用DeepSeek和墨刀AI,寫PRD文檔、畫原型圖的思路、過程及方法

使用DeepSeek和墨刀AI&#xff0c;寫PRD文檔、畫原型圖的思路、過程及方法 現在PRD文檔要如何寫更高效、更清晰、更完整&#xff1f; 還是按以前的思路寫PRD&#xff0c;就還是以前的樣子。 現在AI這么強大&#xff0c;產品經理如何使用DeepSeek寫PRD文檔&#xff0c;產品經…

SpringData Redis緩存:自定義序列化與過期策略

文章目錄 引言一、Spring Cache與Redis集成基礎二、Redis緩存配置基礎三、自定義序列化策略四、實現自定義序列化器五、多級緩存配置六、自定義過期策略七、緩存注解的高級應用八、實現緩存預熱與更新策略九、緩存監控與統計總結 引言 在現代高并發分布式系統中&#xff0c;緩…

HOVER:人形機器人的多功能神經網絡全身控制器

編輯&#xff1a;陳萍萍的公主一點人工一點智能 HOVER&#xff1a;人形機器人的多功能神經網絡全身控制器HOVER通過策略蒸餾和統一命令空間設計&#xff0c;為人形機器人提供了通用、高效的全身控制框架。https://mp.weixin.qq.com/s/R1cw47I4BOi2UfF_m-KzWg 01 介紹 1.1 摘…

C++ :頂層const與底層const的區別

頂層const與底層const的區別 定義與核心區別 頂層 const (Top-level const)底層 const (Low-level const)?作用對象變量本身是常量&#xff08;不可修改&#xff09;變量指向或引用的對象是常量&#xff08;不可修改&#xff09;?典型場景指針本身不可變、普通變量為常量指…

Chainlit 自定義元素開發指南:使用 JSX 和受限導入實現交互式界面

自定義元素 Custom Element 類允許你渲染一個自定義的 .jsx 代碼片段。.jsx 文件應當放置在 public/elements/ELEMEN_NAME.jsx 目錄下。 屬性 name 字符串 自定義元素的名稱。它應該與你的JSX文件名相匹配(不包括 .jsx擴展名)。 props 字典 傳遞給 JSX 的屬性。 display El…

Opencv之計算機視覺一

一、環境準備 使用opencv庫來實現簡單的計算機視覺。 需要安裝兩個庫&#xff1a;opencv-python和opencv-contrib-python&#xff0c;版本可以自行選擇&#xff0c;注意不同版本的opencv中的某些函數名和用法可能不同 pip install opencv-python3.4.18.65 -i https://pypi.t…

k8s中PAUSE容器與init容器比較 local卷與hostpath卷比較

目錄 一、PAUSE容器與INIT容器比較 1. Pause 容器 作用 特點 示例 2. Init 容器 作用 特點 示例 3. Pause 容器 vs Init 容器 4. 總結 這兩個哪個先啟動呢&#xff1f; 詳細啟動順序 為什么 Pause 容器最先啟動&#xff1f; 示例 總結 二、local卷與hostpath卷…

Vue3 + TS組件封裝指南

在 Vue 3 TypeScript 中封裝組件時&#xff0c;需要注意以下幾點&#xff1a; 1. Props 定義 使用 defineProps 或 PropType 定義組件的 props&#xff0c;并為其添加類型。 示例&#xff1a; import { defineComponent, PropType } from vue;export default defineComponen…

mybatis_plus的樂觀鎖

樂觀鎖&#xff1a;總是假設最好的情況&#xff0c;每次讀取數據時認為數據不會被修改&#xff08;即不加鎖&#xff09;&#xff0c;當進行更新操作時&#xff0c;會判斷這條數據是否被修改&#xff0c;未被修改&#xff0c;則進行更新操作。若被修改&#xff0c;則數據更新失…

Redis系列:深入理解緩存穿透、緩存擊穿、緩存雪崩及其解決方案

在使用Redis作為緩存系統時&#xff0c;我們經常會遇到“緩存穿透”、“緩存擊穿”和“緩存雪崩”等問題&#xff0c;這些問題一旦出現&#xff0c;會嚴重影響應用性能甚至造成服務不可用。因此&#xff0c;理解這些問題的產生原因和解決方案非常重要。 本文將全面講解緩存穿透…

AT指令集-NBIOT

是什么&#xff1f; 窄帶物聯網&#xff08;Narrow Band Internet of Things, NB-IoT&#xff09;成為萬物互聯網絡的一個重要分支支持低功耗設備在廣域網的蜂窩數據連接&#xff0c;也被叫作低功耗廣域網(LPWAN)NB-IoT支持待機時間長、對網絡連接要求較高設備的高效連接NB-Io…

CBNet:一種用于目標檢測的復合骨干網架構之論文閱讀

摘要 現代頂級性能的目標檢測器在很大程度上依賴于骨干網絡&#xff0c;而骨干網絡的進步通過探索更高效的網絡結構帶來了持續的性能提升。本文提出了一種新穎且靈活的骨干框架——CBNet&#xff0c;該框架利用現有的開源預訓練骨干網絡&#xff0c;在預訓練-微調范式下構建高…

c++中字符串string常用的函數

在C中&#xff0c; std::string 類有許多常用函數&#xff0c;以下是一些常見的&#xff1a; 1. length() 或 size() &#xff1a;返回字符串的長度&#xff08;字符個數&#xff09;&#xff0c;二者功能相同。例如&#xff1a; #include <iostream> #include <str…

《保險科技》

自己在保險行業工作很多年&#xff0c;只是接觸了一些數據的內容&#xff0c;對于保險業務的知識了解的很少&#xff0c;想通過這本書補充一下&#xff0c;但是發現這本書就是一些知識的拼接。 先將保險的歷史&#xff0c;后講保險的定義&#xff0c;然后就是吹噓保險行業和互聯…

藍橋杯第13屆真題2

由硬件框圖可以知道我們要配置LED 和按鍵 一.LED 先配置LED的八個引腳為GPIO_OutPut&#xff0c;鎖存器PD2也是&#xff0c;然后都設置為起始高電平&#xff0c;生成代碼時還要去解決引腳沖突問題 二.按鍵 按鍵配置&#xff0c;由原理圖按鍵所對引腳要GPIO_Input 生成代碼&a…

java之IP 工具類

java程序一直需要獲取物理機的ip&#xff0c;寫了一個ip的工具類&#xff0c;感覺日常所需夠了 import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException;/*** IP 工具類*/ public class IpUtil {public static St…

貪心算法作業參考:P1106,P4995,P5019

貪心算法作業參考&#xff1a;P1106&#xff0c;P4995&#xff0c;P5019 P1106 刪數問題 作業批注&#xff1a; 原作業提交&#xff0c;是刪除k個最大的數。 不一定是刪除最大的數。 參考如下&#xff0c;用例&#xff1a; 輸入&#xff1a; 50074897 2輸出&#xff1a; 4…

雙曲空間學習記錄

文章目錄 前期學習內容雙曲空間中的圖卷積神經網絡 前期學習內容 雙曲空間中的圖卷積神經網絡 250318&#xff1a;這個博客的產生原因是我去看了B站上的一個視頻&#xff0c;up說ppt上傳到github上了&#xff0c;但是我去找了一圈也沒有找到&#xff0c;然后想給他留言&#x…