当前位置: 首页 > news >正文

Linux系统编程Day4-- Linux常用工具(yum与vim)

往期内容回顾

        Linux系统编程Day4-- Shell与权限


权限内容补充

        粘滞位

        “粘滞位”(Sticky Bit)是 Linux/Unix 系统中一个特殊的权限标志,主要用于控制谁可以删除共享目录中的文件。理解它非常关键,尤其是在多人共享文件目录(如 /tmp)时。

粘滞位让目录中的文件只能被其所有者或 root 删除,即使其他用户对该目录有写权限

tmp 目录的权限:

$ ls -ld /tmp
drwxrwxrwt 10 root root 4096 Aug  2 22:00 /tmp

你看到的 t 就是粘滞位。

        权限解释:drwxrwxrwt

  • 所有用户可以读、写、执行(进入)这个目录

  • 但只能删除自己的文件

  • 不能删除其他人的文件

如何设置粘滞位

sudo chmod +t /shared
ls -ld /shared
# drwxrwxrwt 3 root root 4096 Aug  2 21:10 /shared

注意目录权限末尾多了一个 t;

取消粘滞位:

sudo chmod -t /shared

一、Linux软件管理器yum

        

1、什么是 YUM?

        yum 是Linux 基于 RPM 的软件包管理器,常用于 RedHat、CentOS、Fedora 等发行版,用来安装、升级、删除和管理软件包。它自动解决软件依赖问题,能从网络仓库下载安装所需软件和其依赖项。


2、YUM 的常用命令

命令

作用

yum install <软件包>

安装软件

yum remove <软件包>

卸载软件

yum update

更新系统中所有软件

yum update <软件包>

更新指定软件

yum search <关键字>

搜索软件包

yum info <软件包>

查看软件包信息

yum list

显示所有可用或已安装软件包

yum list installed

显示已安装的软件包

yum list available

显示可安装的软件包

yum clean all

清除缓存

yum history

查看安装、删除等操作记录


3、YUM 源(仓库)

        YUM 通过配置的**仓库地址(repo)**从网络上下载软件包。默认仓库配置文件通常位于:

ls /etc/yum.repos.d/

        输出了当前系统中 Yum/DNF 使用的 软件仓库配置文件,这些 .repo 文件用于告诉系统从哪里下载安装软件包, 对于阿里云服务器输出如下:

AliYun.repo  
AliYun.repo.rpmnew  
epel-modular.repo  
epel.repo  
epel-testing-modular.repo  
epel-testing.repo

 vim AliYun.repo

查看 阿里云仓库包括的链接

你可以:

  • 添加第三方仓库(如 EPEL)。

  • 使用本地镜像源(便于离线安装或提速)。

非官方软件集合(EPEL)。


 4、YUM 安装软件的全过程(举例)

sudo yum install wgetsudo yum -y sl

这个命令会:

        1、查询本地是否已安装 wget; 2、从仓库中找到最新版及其依赖项;

        3、下载并安装;        4、自动解决依赖


5、常见问题

  •  YUM 下载慢:可配置为国内镜像,如阿里云源。

  •  软件找不到:可能未启用某个 repo,或软件名不正确。

  •  权限问题:操作 YUM 一般需要 sudo。


 二、Linux开发工具

        1、Linux编辑器-vim使用

        Vim 是 “Vi IMproved” 的缩写,是 vi 编辑器的升级版,功能更强大,广泛用于 Linux/Unix 中的文本编辑,尤其适合程序员。

          1、Vim 安装

大多数 Linux 发行版默认已安装 Vim。你可以用以下命令检查:

vim --version

如果未安装,可使用以下命令安装(以 CentOS 为例):

sudo yum install vim

       2、Vim 的三种模式

        Vim 有三种基本模式:

模式

作用

进入方式

普通模式(Normal)

默认模式,移动光标、复制粘贴等

启动 Vim 后默认进入

插入模式(Insert)

编辑文本

按 i、a、o 进入

命令模式(Command)

保存文件、退出 Vim 等

按 : 从普通模式进入

模式切换统一通过按 Esc 返回普通模式。


       3、常用操作

        1. 启动 Vim (启动之后进入命令模式)

vim 文件名

        2. 插入/编辑文本(输入“ i ”进入插入模式)

命令

含义

i

在光标前插入

a

在光标后插入

o

在下一行新建并插入

Esc

退出插入模式回到普通模

        3. 保存和退出(默认命令模式,其他模式“esc”)

命令

含义

:w

保存文件

:q

退出 Vim

:wq 或 ZZ

保存并退出

:q!

强制退出不保存

        4. 光标移动(底行模式“shift + :”)

操作

含义

h/j/k/l

左/下/上/右

0 / ^ / $

行首 / 第一个非空字符 / 行尾

G / gg

跳到文件末尾 / 文件开头

:n

跳转到第 n 行

        5. 删除/复制/粘贴

命令

含义

x

删除当前字符

dd

删除当前行

yy

复制当前行

p

粘贴到下一行

u

撤销

Ctrl + r

恢复撤销的内容

       4、Vim 配置文件

        个人 Vim 设置保存在 ~/.vimrc 文件中。常见设置例如:

set number        " 显示行号
syntax on         " 开启语法高亮
set tabstop=4     " 设置 tab 长度
set expandtab     " 用空格替代 tab

        2、进阶技巧(简单了解)

命令

说明

/关键词

向下搜索

?关键词

向上搜索

n / N

重复上次搜索,正/反方向

:%s/旧/新/g

全文替换

:set nu

打开行号

:set nonu

关闭行号


http://www.dtcms.com/a/312345.html

相关文章:

  • io_setup系统调用及示例
  • Odoo OWL前端框架全面学习指南 (后端开发者视角)
  • 【LeetCode 热题 100】84. 柱状图中最大的矩形——(解法一)单调栈+三次遍历
  • Flink程序关键一步:触发环境执行
  • 机器翻译入门:定义、发展简史与核心价值
  • 云轴科技ZStack AI翻译平台建设实践-聚焦中英
  • 华为智能家居与Spring人工智能
  • 【游戏比赛demo灵感】Scenario No.9(又名:World Agent)
  • 【PDF + ZIP 合并器:把ZIP文件打包至PDF文件中】
  • 【大模型实战】向量数据库实战 - Chroma Milvus
  • GaussDB case when的用法
  • Linux常用命令分类总结
  • 论文阅读笔记:《Dataset Condensation with Distribution Matching》
  • 【C 学习】04.1-数字化基础
  • Web 开发 11
  • Java 大视界 -- Java 大数据在智能教育学习资源个性化推荐与学习路径动态调整中的深度应用(378)
  • Web 安全之开放重定向攻击(Open Redirect )详解
  • Spring+K8s+AI实战:3全栈开发指南
  • Node.js 操作 MySQL
  • [每周一更]-(第154期):Docker 底层深度剖析:掌控 CPU 与内存资源的艺术
  • Mysql深入学习:慢sql执行
  • 【嵌入式硬件实例】-555定时器IC的负电压发生器
  • 如新能源汽车渗透率模拟展开完整报告
  • GB 44496-2024《汽车软件升级通用技术要求》对行业从业者的变革性影响
  • MySQL存储过程和触发器
  • 关于车位引导及汽车乘梯解决方案的专业性、系统性、可落地性强的综合设计方案与技术实现说明,旨在为现代智慧停车楼提供高效、安全、智能的停车体验。
  • 6.1、Redis多级缓存原理和优化、Redis部分参数优化调整
  • 在 macOS 上通过 Docker 部署DM8 (ARM 架构)
  • 译|用户增长策略如何使用因果机器学习的案例
  • Javaweb————Apache Tomcat目录文件结构讲解