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

往期内容回顾

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


权限内容补充

粘滞位

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

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

tmp 目录的权限:

bash 复制代码
$ ls -ld /tmp
drwxrwxrwt 10 root root 4096 Aug  2 22:00 /tmp

你看到的 t 就是粘滞位。

权限解释:drwxrwxrwt

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

  • 但只能删除自己的文件

  • 不能删除其他人的文件

如何设置粘滞位

bash 复制代码
sudo chmod +t /shared
bash 复制代码
ls -ld /shared
# drwxrwxrwt 3 root root 4096 Aug  2 21:10 /shared

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

取消粘滞位:

bash 复制代码
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)**从网络上下载软件包。默认仓库配置文件通常位于:

bash 复制代码
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

bash 复制代码
 vim AliYun.repo

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

你可以:

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

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

非官方软件集合(EPEL)。


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

bash 复制代码
sudo yum install wget

sudo 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。你可以用以下命令检查:

bash 复制代码
vim --version

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

bash 复制代码
sudo yum install vim

2**、Vim 的三种模式**

Vim 有三种基本模式:

模式 作用 进入方式
普通模式(Normal) 默认模式,移动光标、复制粘贴等 启动 Vim 后默认进入
插入模式(Insert) 编辑文本 按 i、a、o 进入
命令模式(Command) 保存文件、退出 Vim 等 按 : 从普通模式进入

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


3、常用操作

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

bash 复制代码
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 文件中。常见设置例如:

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

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

命令 说明
/关键词 向下搜索
?关键词 向上搜索
n / N 重复上次搜索,正/反方向
:%s/旧/新/g 全文替换
:set nu 打开行号
:set nonu 关闭行号

相关推荐
搞不懂语言的程序员7 分钟前
Linux Epool的作用
linux·服务器
jzy371118 分钟前
主机管理优化方案:安全加固、资源整合与跨团队协作
linux·tomcat
Neng_Miao20 分钟前
文件与目录操作命令
linux·运维
ITKEY_28 分钟前
mohist服务器运行betterMC 踩坑记录
服务器
倔强的石头10640 分钟前
【Linux指南】软件安装全解析:从源码到包管理器的进阶之路
linux·运维·服务器
爱地球的曲奇1 小时前
Linux环境下(Ubuntu)Fortran语言如何安装配置NetCDF
linux·ubuntu·netcdf
freshman_y1 小时前
15个命令上手Linux!
linux·运维·服务器
limnade1 小时前
falsk windows 服务器部署-解决服务器外无法访问
服务器·windows·flask·智能路由器
highersister1 小时前
Linux 设备模型框架 kobject 和 kset
linux
云和数据.ChenGuang1 小时前
sleep infinity` 是一个 **Linux 系统命令
linux·运维·服务器