linux工具

一、软件包的概念

软件包(Package)是预先编译好的应用程序及其依赖项的集合,类似于 Windows 中的安装程序(如 .exe 文件)。
在 Linux 中,软件包包含:

  • 可执行程序

  • 配置文件

  • 依赖关系信息

  • 安装脚本

二、Linux 安装软件的 3 种方案

方案特点适用场景
1. 源代码安装- 手动编译源码
- 需解决依赖关系(需安装 gccmake 等工具)
- 灵活性高,但复杂
需要定制化功能或特定版本时
2. RPM 安装- 使用 .rpm 包直接安装
- 依赖需手动解决(可能陷入“依赖地狱”)
- 适合离线环境
已知依赖关系的简单软件安装
3. YUM 安装- 自动解决依赖关系
- 从远程仓库下载并安装
- 简单高效
日常软件安装(推荐

三、Linux 软件生态

 

1. YUM 的角色

  • 类比:类似于手机应用商店(如安卓的 Google Play、苹果的 App Store)。

  • 功能

    • 集中管理软件源(仓库)

    • 自动处理依赖关系

    • 提供版本控制和更新

2. YUM 源配置

  • 仓库文件路径/etc/yum.repos.d/

  • 查看默认源

    ls /etc/yum.repos.d/               # 列出所有仓库文件
    
    #显示
    CentOS-Base.repo  CentOS-Epel.repo        #后续会解释分别代表什么
  • 文件内容:包含软件仓库的 URL、是否启用、GPG 校验等信息。(了解)

3. 软件提供者的动机

  • 开源商业策略

    • 免费软件:吸引用户,通过技术支持、企业版增值服务盈利(如 Red Hat)。

    • 生态绑定:用户依赖特定 OS 生态后,后续服务(如云服务、硬件)可盈利。

  • 社区贡献:开发者通过开源协作提升技术影响力。

4. 开源与生态建设

(1)开源是商业战略

  • 案例

    • Red Hat:提供免费的 CentOS,但企业版 RHEL 收费(含技术支持)。

    • Google:开源 Android 系统,通过 Google 服务和应用商店盈利。

(2)开源的“隐性成本”

  • 使用者角度

    • 学习成本:需要熟悉开源工具的使用和配置。

    • 维护成本:长期维护和升级可能需要专业团队。

    • 生态依赖性:企业一旦依赖某 OS 生态,迁移成本高。

(3)操作系统选型要点

  • 生态完整性:软件是否丰富、社区是否活跃。

  • 长期支持:是否有稳定维护和更新。

  • 商业支持:是否需要付费技术支持。

四、YUM 使用详解

1. YUM 基础

  • YUM 是什么
    YUM 是 Linux 下的软件包管理工具,类似手机应用商店,用于从远程仓库自动下载并安装软件包,解决依赖关系。

  • YUM 源分类

    • 官方源:系统默认配置的软件仓库(如 CentOS-Base)。

    • 扩展源:如 EPEL(Extra Packages for Enterprise Linux),需手动安装。

  • c常用命令

    yum install package      # 安装软件(-y 自动确认)
    yum remove package       # 卸载软件
    yum list                 # 列出所有可用软件
    yum search keyword       # 搜索软件(替代 grep 过滤)
    yum update               # 更新所有已安装软件

     

2. 配置 YUM 源

  • 查看默认源

    ls /etc/yum.repos.d/           # 列出所有仓库文件
    cat /etc/yum.repos.d/CentOS-Base.repo  # 查看默认源配置
  •  安装扩展源 EPEL
    yum install -y epel-release    # 安装 EPEL 扩展源
  • 更换国内镜像源(解决速度问题)
    适用于虚拟机或本地服务器(云服务器通常已优化)。 
    # 备份原文件
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    # 下载阿里云镜像源(以 CentOS 7 为例)
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # 清理缓存并更新
    yum clean all && yum makecache

3. 推荐安装的趣味工具

yum install -y sl       # 火车动画(输入 sl 触发)
yum install -y cowsay   # 会说话的牛(cowsay "Hello")
yum install -y fortune  # 随机名言(fortune | cowsay)

4. 文件传输工具 lrzsz

  • 功能:通过 Xshell 等工具在 Windows 和 Linux 间拖拽传输文件。

  • 安装与使用

    # 搜索并安装
    yum list | grep lrzsz    # 显示示例:lrzsz.x86_64 0.12.20-36.el7 @base
    yum install -y lrzsz.x86_64
    
    # 使用命令
    rz      # 从 Windows 上传文件到 Linux
    sz file # 从 Linux 下载文件到 Windows
    
    #卸载
    yum remove lrzsz.x86_64

五、vim编辑器 

1. 多模式操作

模式进入方式退出方式用途
命令模式启动 Vim 或按 ESC输入 i 进入插入模式执行复制、删除、光标移动等操作
插入模式命令模式下按 iao按 ESC 返回命令模式编辑文本内容
底行模式命令模式下按 :按 ESC 返回命令模式保存、退出、执行外部命令等

模式切换示意图

命令模式 ← ESC → 插入模式
   ↓
底行模式(输入 :)

命令模式常用操作

光标移动

命令功能
gg跳转到文件首行
G跳转到文件末行
5G跳转到第 5 行
$跳转到当前行行尾
^跳转到当前行行首(非空白字符)
w / b按单词向后/向前移动
h j k l左、下、上、右移动(方向键也可用)

文本操作

命令功能
yy复制当前行
3yy复制当前行及下 2 行
dd剪切(删除)当前行
3dd剪切(删除)当前行及下 2 行
p粘贴到光标下一行
u撤销操作
Ctrl + r重做(反撤销)
~切换光标处字符大小写
3r替换光标处及后 2 个字符(输入新字符后生效)
R替换模式:覆盖后续字符(按 ESC 退出)
3x删除光标处及后 2 个字符

底行模式操作

 

基础命令

命令功能
:w保存文件
:q退出 Vim
:wq保存并退出
:w!强制保存(只读文件需权限)
:q!强制退出(不保存)

高级功能 

命令功能
:set nu显示行号
:set nonu隐藏行号
:!ls执行外部命令(如 ls
:!gcc test.c编译当前文件
:vs code1.c垂直分屏打开 code1.c
:sp code1.c水平分屏打开 code1.c
Ctrl + ww切换分屏窗口

2.Vim 个性化配置

配置文件路径

  • 用户级配置
    每个用户的 Vim 配置独立保存在家目录的隐藏文件 .vimrc 中。

    ls -al ~          # 查看家目录所有文件(含隐藏文件)
    vim ~/.vimrc      # 编辑当前用户的 Vim 配置
  • 全局配置(不推荐修改):
    Root 用户的全局配置文件路径为 /etc/vimrc,修改会影响所有用户。

常用配置项

set nu                " 显示行号
set showmatch         " 高亮匹配括号(如 ()、{})
set cursorline        " 高亮当前行
set tabstop=4         " Tab 显示为 4 个空格
set softtabstop=4     " 按 Tab 键插入 4 个空格
set shiftwidth=4      " 自动缩进 4 个空格
syntax on             " 开启语法高亮

推荐一个快捷的配置方式:

#命令行输入
$ curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

#会显示让你输入root用户密码,输入即可

#...等待下载

配置生效方法

  • 直接生效
    修改 .vimrc 后,重启 Vim 或重新打开文件即可生效。
    无需 运行 source .bashrc(该命令用于 Shell 环境变量刷新)。

六、补充:为普通用户添加 sudo 权限

1.问题场景

  • 新建的普通用户无法使用 sudo 命令,提示 xxx is not in the sudoers file

2.解决步骤

切换至 Root 用户

su - root  # 输入 root 密码

安全编辑 sudoers 文件

$ vim /etc/sudoers

添加用户权限

  • 在文件中找到以下行(约第 100 行):

  • 复制并修改
    按下 yy 复制该行,再按 p 粘贴到下一行,将 root 改为目标用户名:

    username   ALL=(ALL)       ALL  # 替换为实际用户名

保存并退出

  • 在 Vim 中按 ESC 进入命令模式,输入 :wq! 强制保存退出(文件默认只读)。

验证权限

su - username      # 切换回普通用户
sudo ls /root      # 测试 sudo 权限(输入用户密码)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值