linux学习第四天
linux学习第四天vim编辑器每一个系统管理员都有一个偏爱的文本编辑器。有的管理员偏爱gedit有的偏爱nano甚至有的偏爱emacs。即使已经有偏爱的编辑器了解vim还是有必要的。因为vim可以安装在任何系统。vim版本Linux 系统中可以安装vim三个不同版本vim-minimal只提供vi和相关命令。vim-enhanced提供vim命令提供语法高亮拼写检查等特性。vim-X11提供gvim图形界面下的vim。gvim包涵菜单栏。当用户不知道命令的时候可以通过菜单操作。#安装vim工具#一定要在管理员账户下安装普通用户未授权的话操作等级不够[rootcentos7 ~20:33:12]# yum install vimcommand 模式该模式下键盘中的字母有特殊含义。例如G跳转到最后一行gg跳转到第一行。edit 模式在command模式下按i进入该模式。在该模式可以输入内容。在该模式下按Esc返回command模式。extended command 模式在command模式下按:进入该模式。在该模式下可以保存文件(:w)退出编辑:q强制退出编辑:q!报错并退出:wq。visual edit 模式在command模式下按 v单个字符选中、V整行选中或者ctrlv按矩形选中进入该模式。在该模式下用于选中文件随后可以复制或删除选中的内容。[ljycentos7 ~20:32:38]$cp/etc/profile ./profile.sh[ljycentos7 ~20:39:19]$vim./profile.sh定位文件内容w向后1个word(光标在单词开头)e向后1个word(光标在单词末尾)b向前1个word^或0行首$行尾(上一个句子头部)下一个句子尾部。{上一个自然段}下一个自然段。gg第一行G最后一行。less 使用g第一行G最后一行。进入插入模式i 当前位置插入。(insert)I行首插入。a当前位置追加。(append)A行末追加。o向下新开一个空白行。O向上新开一个空白行。复制yy复制1行相当于y1y。以此类推 y2y y2w y2b。粘贴p 当前位置后粘贴P 当前位置前粘贴删除x删除当前单个字符。5x删除当前字符和后续4个字符。X删除前一单个字符。dw删除1个word以此类推 d5w d3b d2d d$。D从当前删除到最后相当于d$。回退u撤销上一个操作。U撤销整行修改。Ctrlr反向撤销与u相反。修改相当于删除后插入s删除当前字符并进入编辑模式。S删除当前行并进入编辑模式。c代表替换动作例如cw删除1个word并进入编辑模式。以此类推 c5w。C从当前删除到最后并进入编辑模式。替换r替换单个字符后回退到命令行模式。R替换模式一直替换直到按Ese返回命令行模式。vim 配置两个位置全局/etc/vimrc给所有用户设置一些默认值。用户~/.vimrc特定用户的个性化设置。常见的设置命令[ljycentos7 ~20:39:55]$vim~/.vimrcsetnumbersetshowcmdsetaits2setcursorcolumnsetcursorline# 参数说明# 显示行号 set number# 显示操作命令 set showcmd# ai自动缩进tstabspace使用2个空格代替 set ai ts2# 列高亮对齐显示 set cursorcolumn# 行高亮对齐显示 set cursorlineLinux 输入输出重定向Linux 输入输出重定向介绍上图显示了Unix/Linux 系统中进程PROCESS的输入输出流I/O Streams模型核心是 “标准流Standard Streams” 的概念用于描述进程如何与外部如键盘、屏幕、文件进行数据交互。标准流的核心组成stdin标准输入编号 0是进程接收输入数据的通道默认连接到键盘程序通过它读取用户输入如scanf、read等操作会从stdin获取数据。用法为仅读取只能从该通道输入数据到进程。stdout标准输出编号 1是进程输出正常结果的通道默认连接到终端屏幕程序的普通打印如printf、echo等会输出到stdout。用法为仅写入进程只能向该通道输出数据。stderr标准错误编号 2是进程输出错误信息的通道默认也连接到终端屏幕用于区分正常输出和错误提示如程序崩溃、逻辑错误的提示信息。用法为仅写入专门用于输出错误内容。3 号通道其他文件filename代表进程与自定义文件的交互通道非标准流没有默认连接需要手动指定文件。用法为读取和 / 或写入可根据需求对文件进行读、写操作。流程逻辑输入用户通过键盘向stdin输入数据进程从stdin读取这些输入。输出进程将正常结果写入stdout错误信息写入stderr两者默认都显示在终端同时进程也可通过 3 号通道与其他文件进行数据的读写交互。这种模型是 Unix/Linux 系统中 “一切皆文件” 思想的体现让进程能以统一的方式处理不同来源 / 目标的数据也为重定向Redirect等操作如把stdout输出到文件、把文件内容作为stdin输入提供了基础。[ljycentos7 ~20:57:09]$find/etc/-namepasswdfind: ‘/etc/grub.d’: 权限不够 find: ‘/etc/pki/CA/private’: 权限不够 find: ‘/etc/pki/rsyslog’: 权限不够 /etc/pam.d/passwd find: ‘/etc/dhcp’: 权限不够 /etc/passwd.......# 查找 /etc 目录下 文件名是passwd的所有文件# 将找到的文件名清单覆盖写入到passwd.list文件中[ljycentos7 ~20:57:31]$find/etc-namepasswd1passwd.list#数字和符号中间一定不要隔开find: ‘/etc/grub.d’: 权限不够 find: ‘/etc/pki/CA/private’: 权限不够 find: ‘/etc/pki/rsyslog’: 权限不够 find: ‘/etc/dhcp’: 权限不够 find: ‘/etc/selinux/targeted/active’: 权限不够 find: ‘/etc/selinux/final’: 权限不够 find: ‘/etc/lvm/archive’: 权限不够 find: ‘/etc/lvm/backup’: 权限不够 find: ‘/etc/lvm/cache’: 权限不够 find: ‘/etc/polkit-1/rules.d’: 权限不够 find: ‘/etc/polkit-1/localauthority’: 权限不够 find: ‘/etc/firewalld’: 权限不够 find: ‘/etc/audisp’: 权限不够 find: ‘/etc/audit’: 权限不够 find: ‘/etc/ipsec.d’: 权限不够 find: ‘/etc/libvirt’: 权限不够 find: ‘/etc/cups/ssl’: 权限不够 find: ‘/etc/sudoers.d’: 权限不够#发现只剩下权限不够的信息[ljycentos7 ~21:00:48]$catpasswd.list /etc/pam.d/passwd /etc/passwd#将多个文件合并为一个[ljycentos7 ~21:01:02]$cat/etc/fstab /etc/hostsallinone[ljycentos7 ~21:02:48]$catallinone## /etc/fstab# Created by anaconda on Tue Jul 14 10:25:55 2026## Accessible filesystems, by reference, are maintained under /dev/disk# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/centos-root / xfs defaults00UUID7cc93785-0a49-4e9a-8cb1-4a6aeb2dc551 /boot xfs defaults00/dev/mapper/centos-home /home xfs defaults00/dev/mapper/centos-swap swap swap defaults00127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6#将找到的文件名追加写入到passwd。list文件中追加不会覆盖之前的文件会在下面继续写入[ljycentos7 ~21:03:17]$find/etc-namepasswd1passwd.list find: ‘/etc/grub.d’: 权限不够 find: ‘/etc/pki/CA/private’: 权限不够 find: ‘/etc/pki/rsyslog’: 权限不够.....[ljycentos7 ~21:05:02]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd#是在原有的信息下继续写入的之前的信息还在#将错误的信息丢弃[ljycentos7 ~21:05:30]$find-namepasswd2/dev/null#/dev/null黑洞设备写入的数据直接丢弃#作用屏蔽所有权限拒绝、无法访问目录的报错只输出找到的结果# 同时将错误信息、正确信息 覆盖 写入到相同文件[ljycentos7 ~21:08:57]$find/etc-namepasswdpasswd.list# 同时将错误信息、正确信息 追加 写入到相同文件[ljycentos7 ~21:12:13]$find/etc-namepasswdpasswd.list标准输出重定向到程序管道符|实现将上一个命令的输出作为标准输入传递给下一个命令。# 示例1 查看哪个man page 可以resize ext4文件系统大小# 搜索所有ext4相关手册并保存到ext4.man文件中[ljycentos7 ~21:12:41]$man-kext4ext4.man# 过滤ext4.man文件中含有resize的行[ljycentos7 ~21:37:12]$grepresizer ext4.man resize2fs(8)- ext2/ext3/ext4filesystem resizer# 以上两个命令和合并为一行[ljycentos7 ~21:37:49]$man-kext4|grepresizer resize2fs(8)- ext2/ext3/ext4filesystem resizer#两个命令合并简单话了我们的操作可以理解为搜索于ext4相关的手册把其中于resize有关的筛选出来**注意**管道符号后的命令必须能够接收标准输入例如ls不接收管道传递过来的标准输入。补充| 标准错误和标准输出同时传递给下一个命令作为下一个命令的标准输入。上一个命令错误管道符也会将这个错误的输出当成下一个命令的标准输入

相关新闻

Geek_Studio - 安卓终端调试工作台

Geek_Studio - 安卓终端调试工作台

面向 Android 设备的 Windows 桌面工具集,基于 C#(.NET Framework)控制台应用,提供设备管理、投屏控制、应用管理、APK 反编译回编、系统调试与图标索引文件自动填写等一体化功能。 功能 设备管理:自动识别设备类型&am…

2026/7/20 19:32:06阅读更多 →
大模型输出造成信息泄露类型

大模型输出造成信息泄露类型

大模型输出可能造成的信息泄露,主要可分为无意中暴露敏感数据和模型内部机制被逆向两大类,其核心风险点如下: 📄 敏感数据直接泄露 这是最直接的风险,指模型在其生成的回答中,直接暴露了其不应披露的敏感信…

2026/7/20 19:32:06阅读更多 →
一键粘贴革命:PasteMD让AI对话内容在Office中完美重生

一键粘贴革命:PasteMD让AI对话内容在Office中完美重生

一键粘贴革命:PasteMD让AI对话内容在Office中完美重生 【免费下载链接】PasteMD 一键将 Markdown 和网页 AI 对话(ChatGPT/DeepSeek等)完美粘贴到 Word、WPS 和 Excel 的效率工具 | One-click paste Markdown and AI responses (ChatGPT/Deep…

2026/7/20 19:32:06阅读更多 →
深入解析TI CPSW架构:硬件时间同步与嵌入式网络性能优化

深入解析TI CPSW架构:硬件时间同步与嵌入式网络性能优化

1. CPSW架构概览与核心价值在嵌入式网络开发领域,尤其是工业自动化、汽车电子和电力系统这些对实时性和确定性要求极高的场景,网络通信的“快”和“准”是同等重要的。我们常常需要多个设备在微秒甚至纳秒级别上协调动作,比如机器人关节的同步…

2026/7/21 10:39:55阅读更多 →
终极指南:如何将LaTeX PDF完美转换为PowerPoint PPTX

终极指南:如何将LaTeX PDF完美转换为PowerPoint PPTX

终极指南:如何将LaTeX PDF完美转换为PowerPoint PPTX 【免费下载链接】pdf2pptx Convert your (Beamer) PDF slides to (Powerpoint) PPTX 项目地址: https://gitcode.com/gh_mirrors/pd/pdf2pptx 还在为LaTeX制作的精美学术幻灯片无法在PowerPoint中正常展示…

2026/7/21 10:39:55阅读更多 →
Python SM4加密实战:CBC与ECB模式安全对比与gmssl应用

Python SM4加密实战:CBC与ECB模式安全对比与gmssl应用

1. 项目概述:为什么SM4的模式选择如此重要?如果你正在用Python处理一些需要加密的数据,尤其是涉及一些对安全性有要求的场景,比如数据传输、配置文件加密,或者仅仅是学习密码学,那么你很可能已经接触过或听…

2026/7/21 10:39:55阅读更多 →
算法篇----动态规划

算法篇----动态规划

1.做题通法 1)确定dp[i]的含义,确定方式:1.题目明确给出 2. 经验得出题目要求 3.分析问题时重复子问题 2) 状态转移方程,即dp[i]? 3)初始化,保证填表时不越界 4)填表顺序,要保…

2026/7/21 10:39:55阅读更多 →
3大核心功能解锁:Emby Premiere高级特性完全免费方案详解

3大核心功能解锁:Emby Premiere高级特性完全免费方案详解

3大核心功能解锁:Emby Premiere高级特性完全免费方案详解 【免费下载链接】emby-unlocked Emby with the premium Emby Premiere features unlocked. 项目地址: https://gitcode.com/gh_mirrors/em/emby-unlocked 在个人媒体中心建设领域,Emby凭借…

2026/7/21 10:39:55阅读更多 →
家庭暴力案件分析与安全防护指南

家庭暴力案件分析与安全防护指南

1. 案件背景与核心事实还原2023年8月15日凌晨,某市居民区发生一起恶性刑事案件。根据警方通报,32岁女性受害人李某在其住所内遭遇暴力侵害,现场发现亲笔书写的遗书类文件。法医鉴定显示死亡时间约为凌晨2时至4时之间,死因为机械性…

2026/7/21 10:37:54阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 0:51:49阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 0:51:49阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 0:51:49阅读更多 →
Windows+macOS 通用 OpenClaw 部署流程,内置依赖一键启动智能桌面助手

Windows+macOS 通用 OpenClaw 部署流程,内置依赖一键启动智能桌面助手

📌教程适配:OpenClaw v2.7.9 | 兼容 Windows10/11、macOS 双系统 📖前言 当下各类本地 AI 工具层出不穷,多数产品仅能完成文字问答交互,很难直接操控电脑执行实际操作。OpenClaw,业内常称小龙虾 AI&#…

2026/7/21 0:01:46阅读更多 →
Codex 接入后 Bug 反增?复盘从个人演示到团队协作的“流程陷阱”

Codex 接入后 Bug 反增?复盘从个人演示到团队协作的“流程陷阱”

聊《一次Codex项目复盘,问题最后出在流程而不是模型》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚:看完之后,你应该能判断这件事值不值得做&…

2026/7/21 0:01:46阅读更多 →
手把手搓一个五子棋游戏,零代码也能当“游戏开发者”

手把手搓一个五子棋游戏,零代码也能当“游戏开发者”

大家好,还是我。前几期带大家做了心情日记本和可视化大屏,后台有朋友留言:“能不能教点好玩的?我想做游戏,但一行代码都不会。”行,这期就安排。今天的目标:从零做一个五子棋游戏。 带AI对战、三…

2026/7/21 0:03:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/20 22:51:39阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/20 18:51:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/20 18:51:18阅读更多 →