【Linux】基礎開發工具(1)

1. 軟件包管理器

1.1 什么是軟件包

在Linux下安裝軟件, ?個常用的辦法是下載到程序的源代碼, 并進行編譯, 得到可執行程序.
但是這樣太麻煩了, 于是有些人把?些常?的軟件提前編譯好, 做成軟件包(可以理解成windows上
的安裝程序)放在?個服務器上, 通過包管理器可以很?便的獲取到這個編譯好的軟件包, 直接進行安裝.
軟件包和軟件包管理器, 就好比?"App" 和 "應?商店" 這樣的關系.
yum(Yellow dog Updater, Modified)是Linux下?常常?的?種包管理器. 主要應?在Fedora,
RedHat, Centos等發行版上.
Ubuntu:主要使?apt(Advanced Package Tool)作為其包管理器。apt同樣提供了?動解決依
賴關系、下載和安裝軟件包的功能。

1.2 國內鏡像

由于許多官方軟件源服務器位于國外,國內用戶直接訪問可能會因網絡距離和網絡擁塞等問題,導致下載速度緩慢。而國內鏡像源服務器部署在國內,能極大縮短網絡傳輸距離。比如,國內開發者從國外官方源下載 Linux 發行版(如 Ubuntu、CentOS)的安裝包或更新包,速度可能只有幾十 KB 每秒 ,但使用國內阿里云、清華大學等鏡像源,下載速度能提升到幾 MB 甚至幾十 MB 每秒。
以下是一些常見的國內鏡像源:
  • CentOS 國內鏡像源
    • 阿里云源1:centos安裝包下載_開源鏡像站-阿里云
    • 清華大學源7:http://linux.tuna.tsinghua.edu.cn/centos/
    • 網易源1:Index of /centos/
    • 中科大源7:http://mirrors.ustc.edu.cn/centos/
    • 搜狐源1:Index of /centos/
    • 騰訊云源7:Index of /centos/
    • 華為云源7:https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
    • 北京理工大學源6:http://mirror.bit.edu.cn/centos/
    • 大連東軟信息學院源1:http://mirrors.neusoft.edu.cn/centos/
    • 蘭州大學源1:404 Not Found
  • Ubuntu 國內鏡像源
    • 阿里云源5:ubuntu安裝包下載_開源鏡像站-阿里云
    • 清華大學源5:Index of /ubuntu/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror
    • 中科大源5:Index of /ubuntu/
    • 網易源6:Index of /ubuntu-releases/
    • 華為云源5:https://mirrors.huaweicloud.com/ubuntu/
    • 北京理工大學源6:http://mirror.bit.edu.cn/ubuntu-releases/
    • 浙江大學源6:Index of /ubuntu-releases/

?1.3 yum具體操作

1.3.1 查看軟件安裝包

通過 yum list 命令可以羅列出當前?共有哪些軟件包. 由于包的數目可能非常之多, 這里我們需要使用grep 命令只篩選出我們關注的包. 例如:
yum list | grep lrzsz

查找?lrzsz?軟件包(一個用于文件傳輸的工具)

注意事項

軟件包名稱: 主版本號.次版本號.源程序發行號-軟件包的發?號.主機平臺.cpu架構.
"x86_64" 后綴表?64位系統的安裝包, "i686" 后綴表?32位系統安裝包. 選擇包時要和系統匹配.
"el7" 表示操作系統發行版的版本. "el7" 表表示的是 centos7/redhat7. "el6" 表? centos6/redhat6.
最后?列, base 表?的是 "軟件源" 的名稱, 類似于 "??應?商店", "華為應?商店" 這樣的概念.
Ubuntu 有上述有詳細介紹

1.3.2 安裝軟件

通過 yum, 我們可以通過很簡單的?條命令完成 gcc 的安裝
# Centos
$ sudo yum install -y lrzsz# Ubuntu
$ sudo apt install -y lrzsz
yum/apt 會自動找到都有哪些軟件包需要下載, 這時候敲 "y" 確認安裝.
出現 "complete" 字樣或者中間未出現報錯, 說明安裝完成.
注意事項:
安裝軟件時由于需要向系統?錄中寫?內容, ?般需要 sudo 或者切到 root 賬?下才能完成.
yum/apt安裝軟件只能?個裝完了再裝另?個. 正在yum/apt安裝?個軟件的過程中, 如果再嘗試用
yum/apt安裝另外?個軟件, yum/apt會報錯.
如果 yum / apt報錯, 請自行百度.

1.3.3 卸載軟件

# Centos
sudo yum remove [-y] lrzsz# Ubuntu
sudo apt remove [-y] lrzsz

2. 編輯器vim

進?vim,在系統提?符號輸?vim及?件名稱后,就進?vim全屏幕編輯畫?:
$ vim test.c
不過有?點要特別注意,就是你進?vim之后,是處于[正常模式],你要切換到[插?模式]才能夠
輸??字。
[正常模式]切換?[插?模式]
輸?a
輸?i
輸?o
[插?模式]切換?[正常模式]
?前處于[插?模式],就只能?直輸??字,如果發現輸錯了字,想?光標鍵往回移動,將該字刪
除,可以先按?下「ESC」鍵轉到[正常模式]再刪除?字。當然,也可以直接刪除。
[正常模式]切換?[末?模式]
「shift + ;」, 其實就是輸?「:」
退出vim及保存?件,在[正常模式]下,按?下「:」冒號鍵進?「Last line mode」,例如:
: w (保存當前?件)
: wq (輸?「wq」,存盤并退出vim)
: q! (輸?q!,不存盤強制退出vim)

2-4 vim正常模式命令集

插?模式

按「i」切換進?插?模式「insert mode」,按“i”進?插?模式后是從光標當前位置開始輸?
?件;
按「a」進?插?模式后,是從?前光標所在位置的下?個位置開始輸??字;
按「o」進?插?模式后,是插?新的??,從??開始輸??字。
從插?模式切換為命令模式
按「ESC」鍵。

移動光標

vim可以直接?鍵盤上的光標來上下左右移動,但正規的vim是??寫英?字?「h」、「j」、
「k」、「l」,分別控制光標左、下、上、右移?格
按「G」:移動到?章的最后
按「 $ 」:移動到光標所在?的“?尾”
按「^」:移動到光標所在?的“??”
按「w」:光標跳到下個字的開頭
按「e」:光標跳到下個字的字尾
按「b」:光標回到上個字的開頭
按「#l」:光標移到該?的第#個位置,如:5l,56l
按[gg]:進?到?本開始
按[shift+g]:進??本末端
按「ctrl」+「b」:屏幕往“后”移動??
按「ctrl」+「f」:屏幕往“前”移動??
按「ctrl」+「u」:屏幕往“后”移動半?
按「ctrl」+「d」:屏幕往“前”移動半?

刪除文字

「x」:每按?次,刪除光標所在位置的?個字符
「#x」:例如,「6x」表?刪除光標所在位置的“后?(包含??在內)”6個字符
「X」:?寫的X,每按?次,刪除光標所在位置的“前?”?個字符
「#X」:例如,「20X」表?刪除光標所在位置的“前?”20個字符
「dd」:刪除光標所在?
「#dd」:從光標所在?開始刪除#?

復制

「yw」:將光標所在之處到字尾的字符復制到緩沖區中。
「#yw」:復制#個字到緩沖區
「yy」:復制光標所在?到緩沖區。
「#yy」:例如,「6yy」表?拷?從光標所在的該?“往下數”6??字。
「p」:將緩沖區內的字符貼到光標所在位置。注意:所有與“y”有關的復制命令都必須
與“p”配合才能完成復制與粘貼功能。

替換

「r」:替換光標所在處的字符。
「R」:替換光標所到之處的字符,直到按下「ESC」鍵為?。

撤銷上?次操作

「u」:如果您誤執??個命令,可以?上按下「u」,回到上?個操作。按多次“u”可以執?
多次回復。
「ctrl + r」: 撤銷的恢復

更改


「cw」:更改光標所在處的字到字尾處

「c#w」:例如,「c3w」表?更改3個字

跳至指定的行

「ctrl」+「g」列出光標所在?的?號。
「#G」:例如,「15G」,表?移動光標??章的第15??。

批量注釋

ctrl + v進入視圖模式,然后按h(左)、j(下)、k(上)、l(右)選擇區域(注意:按箭頭鍵沒用)。
選擇完后按SHFT + i ,輸入 //
最后按esc就完成批量注釋了

vim的配置

配置?件的位置
在目錄 /etc/ 下?,有個名為vimrc的?件,這是系統中公共的vim配置?件,對所有??都有
效。
?在每個??的主?錄下,都可以??建?私有的配置?件,命名為:“.vimrc”。例如,/root
?錄下,通常已經存在?個.vimrc?件,如果不存在,則創建之。vim會在家目錄下搜索.vimrc的配置文件,如果有就會讀取.vimrc的配置信息進行配置,沒有就使用默認的配置項。
切換??成為??執? su ,進???的主?作?錄,執? cd ~
打開???錄下的.vimrc?件,執? vim .vimrc
常用配置選項,用來測試
設置語法?亮: syntax on
顯??號: set nu
設置縮進的空格數為4: set shiftwidth=4

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

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

相關文章

藍橋杯51單片機設計

#超聲波原理# ①超聲波測距原理:聲波反射原理 聲波分類: 超聲波測距原理 超聲波頻率越高,波長越短,反身性越強,衍射性越弱 ②超聲波模塊原理 發射原理 跳線帽 接收原理 問題: 1.超聲波發射模塊需…

【LeetCode 熱題 100】240. 搜索二維矩陣 II——排除法

Problem: 240. 搜索二維矩陣 II 編寫一個高效的算法來搜索 m x n 矩陣 matrix 中的一個目標值 target 。該矩陣具有以下特性: 每行的元素從左到右升序排列。 每列的元素從上到下升序排列。 文章目錄 整體思路完整代碼時空復雜度時間復雜度:O(M N)空間復…

Android Input 系列專題【inputflinger事件的讀取與分發】

Android輸入系統在native中的核心工作就是,從Linux驅動設備節點中讀取事件,然后將這個事件進行分發,這兩項工作分別交給了InputReader和InputDispatcher來做。 他們的源碼都屬于native層inputflinger里面的一部分,如下架構&#…

【大模型LLM】GPU計算效率評估指標與優化方法:吞吐率

GPU計算效率評估指標與優化方法:吞吐率 一、核心效率指標二、大模型吞吐率(Large Model Throughput)三、關鍵性能瓶頸分析四、實際測量工具五、優化策略總結 一、核心效率指標 吞吐率(Throughput) 定義:單位…

Nestjs框架: 集成 Prisma

概述 在 NestJS 的官方文檔中,有兩處對數據庫進行了介紹 第一處位于左側“Techniques(技術)”部分下的“數據庫”板塊,中文文檔里同樣有這個位置。 Database 第二處是下面的“Recipes (秘籍)”板塊,這里有多個部分都與…

CppCon 2018 學習:What Do We Mean When We Say Nothing At All?

提供的內容深入探討了C編程中的一些關鍵概念,特別是如何編寫清晰、易維護的代碼,并展示了一些C17的新特性。我將對這些內容做中文的解釋和總結。 1. 良好的代碼設計原則 什么是“良好的代碼”? 能工作:代碼實現了預期功能。能在…

C語言中的輸入輸出函數:構建程序交互的基石

在C語言的世界里,輸入輸出(I/O)操作是程序與用戶或外部數據源進行交互的基本方式。無論是從鍵盤接收用戶輸入,還是將處理結果顯示到屏幕上,亦或是讀寫文件,都離不開C語言提供的輸入輸出函數。本文將深入探討…

高速信號眼圖

橫軸體系時域的抖動大小;縱軸體現電壓的噪聲。 噪聲越大,眼高越小。 抖動越大,眼寬越窄。 眼圖的模板是定義好的最大jitter和噪聲的模板范圍。就是信號的不可觸碰區域。信號波形不能夠觸碰到模板或者進行模板中。也就是眼圖中的線軌跡要在眼…

VisualSVN Server 禁止的特殊符號 導致的。具體分析如下:錯誤提示解讀

是由于 文件夾名稱中包含了 VisualSVN Server 禁止的特殊符號 導致的。具體分析如下&#xff1a; 錯誤提示解讀 錯誤信息明確說明&#xff1a; Folder name cannot contain following symbols < > : " / | and start or end by period. 即 文件夾名稱不能包含以下…

再見,WebSecurityConfigurerAdapter!你好,SecurityFilterChain

對于許多經驗豐富的 Spring開發者來說&#xff0c;WebSecurityConfigurerAdapter 是一個再熟悉不過的名字。在很長一段時間里&#xff0c;它幾乎是所有 Spring Security 配置的起點和核心。然而&#xff0c;隨著 Spring Boot 3.x 和 Spring Security 6.x 的普及&#xff0c;這個…

web前端面試-- MVC、MVP、MVVM 架構模式對比

MVC、MVP、MVVM 架構模式對比 基本概念 這三種都是用于分離用戶界面(UI)與業務邏輯的架構模式&#xff0c;旨在提高代碼的可維護性、可測試性和可擴展性。 1. MVC (Model-View-Controller) 核心結構&#xff1a; Model&#xff1a;數據模型和業務邏輯View&#xff1a;用戶界面展…

【C#】MVVM知識點匯總-2

在C#中實現MVVM&#xff08;Model-View-ViewModel&#xff09;架構時&#xff0c;可以總結以下幾個關鍵知識點&#xff0c;并通過具體的代碼示例來進行說明。 1. 模型 (Model) 模型包含應用程序中的數據和業務邏輯。通常與數據庫交互。 public class User { public int Id {…

一文了解PMI、CSPM、軟考、、IPMA、PeopleCert和華為項目管理認證

1 引言 常見的項目管理方面的認證有PMI、IPMA、PeopleCert、CSPM、軟考和華為項目管理認證6個認證。本篇文章讓你一文了解各認證的基本主要內容。 2 核心定位 目前全球范圍內最具影響力的六大認證體系各有特色&#xff0c;源于不同的管理哲學和實踐背景。六大認證體系的核心…

bean注入的過程中,Property of ‘java.util.ArrayList‘ type cannot be injected by ‘List‘

一、問題 在spring實踐bean注入ArrayList屬性的時候報錯&#xff1a;Property of ‘java.util.ArrayList’ type cannot be injected by ‘List’二、原因分析 在嘗試將 Spring 配置中的 注入到一個 ArrayList 類型的屬性時出現了類型不匹配問題。核心問題在于&#xff1a;Spr…

自注意力機制原理: 向量矩陣案例進行說明

自注意力機制原理: 向量矩陣案例進行說明 目錄 自注意力機制原理: 向量矩陣案例進行說明一個單詞和所有單詞進行乘法運算,提取特征一、場景設定:翻譯句子“我喜歡深度學習”二、向量矩陣構建:以“我”為例計算自注意力三、矩陣視角:批量計算整個序列的自注意力四、向量矩…

D3 面試題100道之(61-80)

這里是D3的面試題,我們從第 61~80題 開始逐條解答。一共100道,陸續發布中。 ?? 面試題(第 61~80 題) 61. D3 中如何繪制餅圖? 使用 d3.pie() 生成角度數據,再結合 d3.arc() 創建路徑。 示例: const data = [10, 20, 30

flutter更改第三方庫pub get的緩存目錄;更改.gradle文件夾存放目錄

1.在目標目錄中新建文件夾flutter_pub_cache 2.在“用戶變量“或“系統變量”中點擊“新建” 變量名: PUB_CACHE 變量值: D:\flutter_pub_cache 3.打開新的終端運行或者從Android studio 控制臺運行&#xff1a;flutter pub cache repair或者flutter pub clean pub讀取新的變…

《Redis》哨兵模式

文章目錄 為什么要有哨兵模式呢&#xff1f;哨兵自動恢復故障主節點使用docker搭建分布式系統查看哨兵節點工作哨兵選舉新的主節點的流程 總結 為什么要有哨兵模式呢&#xff1f; 主從復制的問題 Redis 的主從復制模式可以將主節點的數據改變同步給從節點&#xff0c;這樣從節…

零基礎保姆級本地化部署文心大模型4.5開源系列

近兩年隨著大模型的迅猛崛起&#xff0c;吸引了各行各業的廣泛關注&#xff0c;更對我們的工作方式與生活產生著顯著積極影響。在這樣一個技術范式轉換的關鍵節點&#xff0c;百度文心大模型開源事件無疑具有里程碑意義——它不僅為中國自主研發的AI技術底座打開了通向世界的大…

【筆記】PyCharm 2025.2 EAP 創建 Poetry 和 Hatch 環境的踩坑實錄與反饋

https://youtrack.jetbrains.com/issue/PY-82407/Incorrect-Python-Version-and-Virtual-Environment-Path-When-Creating-Poetry-and-Hatch-Environments-via-GUI-in-PyCharm-2025.2-EAP 在 Python 開發的道路上&#xff0c;PyCharm 一直是我們信賴的開發利器。然而&#xff0…