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 关闭行号

相关推荐
qq_4419960535 分钟前
SSH 反向隧道:快速解决服务器网络限制
服务器·网络·ssh
政安晨40 分钟前
Ubuntu 服务器无法 ping 通网站域名的问题解决备忘 ——通常与网络配置有关(DNS解析)
linux·运维·服务器·ubuntu·ping·esp32编译服务器·dns域名解析
007php0072 小时前
Jenkins+docker 微服务实现自动化部署安装和部署过程
运维·数据库·git·docker·微服务·自动化·jenkins
路溪非溪2 小时前
嵌入式Linux驱动开发杂项总结
linux·运维·驱动开发
2501_920047032 小时前
nginx-限速-限制并发连接数-限制请求数
运维·nginx
Neolock3 小时前
Linux应急响应一般思路(三)
linux·web安全·应急响应
RainbowJie13 小时前
Gemini CLI 与 MCP 服务器:释放本地工具的强大潜力
java·服务器·spring boot·后端·python·单元测试·maven
蓝黑20203 小时前
VSCode远程连接阿里云ECS服务器
服务器·vscode·阿里云
网硕互联的小客服3 小时前
服务器支持IPv6吗?如何让服务器支持IPv6
运维·服务器·ip
被遗忘的旋律.4 小时前
Linux驱动开发笔记(七)——并发与竞争(上)——原子操作
linux·驱动开发·笔记