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

【linux】(1)文件操作及vi

文件和目录的创建

创建文件
  1. touch 命令:创建一个新的空文件。

    touch filename.txt
    
  2. echo 命令:创建一个文件并写入内容。

    echo "Hello, World!" > filename.txt
    
  3. cat 命令:将内容写入文件。

    cat > filename.txt
    

    然后输入内容,按 Ctrl+D 结束。

创建目录
  1. mkdir 命令:创建一个新的目录。

    mkdir mydir
    
  2. mkdir -p 命令:递归创建目录。

    mkdir -p parentdir/childdir
    

文件和目录的查看

  1. ls 命令:列出目录内容。

    ls
    
  2. ls -l 命令:详细列出目录内容。

    ls -l
    
  3. ls -a 命令:显示所有文件,包括隐藏文件。

    ls -a
    
  4. cat 命令:显示文件内容。

    cat filename.txt
    
  5. moreless 命令:分页查看文件内容。

    more filename.txt
    less filename.txt
    
  6. head 命令:查看文件开头部分。

    head filename.txt
    
  7. tail 命令:查看文件结尾部分。

    tail filename.txt
    

文件和目录的复制

  1. cp 命令:复制文件。

    cp sourcefile.txt destinationfile.txt
    
  2. cp -r 命令:递归复制目录。

    cp -r sourcedir destinationdir
    

文件和目录的移动和重命名

  1. mv 命令:移动或重命名文件。
    mv oldname.txt newname.txt
    mv filename.txt /newpath/
    

文件和目录的删除

  1. rm 命令:删除文件。

    rm filename.txt
    
  2. rm -r 命令:递归删除目录。

    rm -r mydir
    
  3. rm -f 命令:强制删除文件。

    rm -f filename.txt
    

文件和目录的权限管理

  1. chmod 命令:更改文件权限。

    chmod 755 filename.txt
    
  2. chown 命令:更改文件所有者。

    chown user:group filename.txt
    

文件搜索

  1. find 命令:在目录中搜索文件。

    find /path -name filename.txt
    
  2. grep 命令:在文件内容中搜索特定字符串。

    grep "search term" filename.txt
    

文件和目录的压缩与解压

  1. tar 命令:打包和解包文件。

    tar -cvf archive.tar directory/
    tar -xvf archive.tar
    
  2. gzipgunzip 命令:压缩和解压文件。

    gzip filename.txt
    gunzip filename.txt.gz
    
  3. zipunzip 命令:压缩和解压文件。

    zip archive.zip file1 file2
    unzip archive.zip
    

磁盘空间查看

  1. df 命令:查看文件系统磁盘空间使用情况。

    df -h
    
  2. du 命令:查看文件和目录磁盘使用情况。

    du -sh filename.txt
    du -sh directory/
    

文件编辑vi

启动和退出 Vi
  1. 启动 Vi

    vi filename
    

    如果 filename 存在,Vi 会打开该文件;如果不存在,Vi 会创建一个新文件。

  2. 退出 Vi

    • 保存并退出:
      :wq
      
    • 仅保存:
      :w
      
    • 退出不保存:
      :q!
      
模式

Vi 有三种主要模式:

  1. 命令模式:这是 Vi 的默认模式,在该模式下可以执行各种命令。
  2. 插入模式:在该模式下可以插入和编辑文本。
  3. 底线命令模式:在该模式下可以输入以冒号 : 开头的命令。
切换模式
  1. 进入插入模式

    • 在光标前插入:按 i
    • 在光标后插入:按 a
    • 在行首插入:按 I
    • 在行尾插入:按 A
    • 在当前行下面插入新行:按 o
    • 在当前行上面插入新行:按 O
  2. 回到命令模式

    • 在插入模式下按 Esc
  3. 进入底线命令模式

    • 在命令模式下按 :
基本命令
  1. 光标移动

    • 向上移动:按 k
    • 向下移动:按 j
    • 向左移动:按 h
    • 向右移动:按 l
    • 移动到行首:按 0
    • 移动到行尾:按 $
    • 移动到文件头:按 gg
    • 移动到文件尾:按 G
    • 移动到指定行:按 :n,例如 :10 移动到第10行
    • 移动到当前行的第 n 个字符:按 n|,例如 5| 移动到当前行的第 5 个字符
    • 移动到下一个单词开头:按 w
    • 移动到下一个单词结尾:按 e
    • 移动到上一个单词开头:按 b
  2. 删除文本

    • 删除当前字符:按 x
    • 删除前一个字符:按 X
    • 删除当前行:按 dd
    • 删除光标到行尾的内容:按 D
    • 删除光标到行首的内容:按 d0
    • 删除指定数量的字符:按 ndd,例如 3dd 删除3行
  3. 复制和粘贴

    • 复制当前行:按 yy
    • 复制选定区域:按 y 后跟移动命令(如 yw 复制一个单词)
    • 粘贴复制的内容:按 p(在光标后粘贴)或 P(在光标前粘贴)
    • 复制多行:按 nyy,例如 3yy 复制当前行及以下两行
  4. 替换

    • 替换当前字符:按 r 后跟新字符
    • 替换当前行:按 R 进入替换模式,按 Esc 退出
  5. 查找和替换

    • 查找字符串:按 / 后跟字符串,按 n 查找下一个
    • 向上查找字符串:按 ? 后跟字符串
    • 替换当前行的字符串:按 :s/旧字符串/新字符串/
    • 替换整个文件的字符串:按 :%s/旧字符串/新字符串/g
    • 替换当前行中第一个匹配的字符串:按 :s/旧字符串/新字符串/1
    • 替换当前行中所有匹配的字符串:按 :s/旧字符串/新字符串/g
高级操作
  1. 显示行号

    :set number
    
  2. 取消显示行号

    :set nonumber
    
  3. 撤销和重做

    • 撤销:按 u
    • 重做:按 Ctrl+r
  4. 宏录制

    • 开始录制:按 q 后跟寄存器(如 qa 开始录制到寄存器 a
    • 停止录制:按 q
    • 播放宏:按 @ 后跟寄存器(如 @a 播放寄存器 a 中的宏)
  5. 可视模式

  • 进入可视模式:按 v
  • 进入行可视模式:按 V
  • 进入块可视模式:按 Ctrl+v
  • 在可视模式中选择文本后,可以使用 d 删除,y 复制,~ 切换大小写
底线命令
  1. 保存文件

    :w
    
  2. 退出 Vi

    :q
    
  3. 保存并退出

    :wq
    
  4. 强制退出

    :q!
    
  5. 读取另一个文件的内容

    :r filename
    
  6. 保存到另一个文件

    :w newfilename
    
  7. 打开另一个文件

    :e anotherfile
    
  8. 查看当前文件名和状态

    :f
    
设置选项
  1. 设置自动缩进

    :set autoindent
    
  2. 设置制表符宽度

    :set tabstop=4
    
  3. 设置扩展名自动补全

    :set wildmenu
    
  4. 高亮搜索结果

    :set hlsearch
    
  5. 取消高亮搜索结果

    :set nohlsearch
    
  6. 显示匹配的括号

    :set showmatch
    
  7. 忽略大小写搜索

    :set ignorecase
    
  8. 大小写敏感搜索

    :set noignorecase
    
文件分割与多窗口
  1. 水平分割窗口

    :split filename
    

    快捷键:按 Ctrl-w 后按 s

  2. 垂直分割窗口

    :vsplit filename
    

    快捷键:按 Ctrl-w 后按 v

  3. 切换窗口
    快捷键:按 Ctrl-w 后按 w

  4. 关闭当前窗口

    :close
    

    快捷键:按 Ctrl-w 后按 c

  5. 调整窗口大小
    快捷键:按 Ctrl-w 后按 +- 进行垂直调整,按 >< 进行水平调整

标签页管理
  1. 新建标签页

    :tabnew filename
    
  2. 切换到下一个标签页
    快捷键:按 gt

  3. 切换到上一个标签页
    快捷键:按 gT

  4. 关闭当前标签页

    :tabclose
    
  5. 列出所有标签页

    :tabs
    
其他有用的命令
  1. 删除多行
    快捷键:按 :<start>,<end>d,例如 :1,10d 删除第 1 到第 10 行

  2. 缩进多行
    快捷键:按 :<start>,<end>><count>:<start>,<end><count>,例如 :1,10>> 向右缩进第 1 到第 10 行

  3. 撤销缩进
    快捷键:按 :<start>,<end><<count>:<start>,<end><count>,例如 :1,10<< 向左缩进第 1 到第 10 行

  4. 转换大小写
    快捷键:按 ~ 切换选中文本的大小写

  5. 插入当前日期和时间
    在插入模式下按 Ctrl-r =strftime("%Y-%m-%d %H:%M:%S")

相关文章:

【linux】(1)文件操作及vi

文件和目录的创建 创建文件 touch 命令&#xff1a;创建一个新的空文件。 touch filename.txtecho 命令&#xff1a;创建一个文件并写入内容。 echo "Hello, World!" > filename.txtcat 命令&#xff1a;将内容写入文件。 cat > filename.txt然后输入内容&…...

【5】MySQL数据库备份-XtraBackup - 全量备份

MySQL数据库备份-XtraBackup-全量备份 前言环境版本 安装部署下载RPM 包二进制包 安装卸载 场景分析全量备份 | 恢复备份恢复综合 增量备份 | 恢复部分备份 | 恢复 前言 关于数据库备份的一些常见术语、工具等&#xff0c;可见《MySQL数据库-备份》章节&#xff0c;当前不再重…...

数据治理-数据标准演示

数据字典 数据标准-数据字典 词根 数据标准-词根 业务字典映射 数据标准-业务字典映射 标准文档 数据标准-标准文档...

基于Chisel的FPGA流水灯设计

Chisel流水灯 一、Chisel&#xff08;一&#xff09;什么是Chisel&#xff08;二&#xff09;Chisel能做什么&#xff08;三&#xff09;Chisel的使用&#xff08;四&#xff09;Chisel的优缺点1.优点2.缺点 二、流水灯设计 一、Chisel &#xff08;一&#xff09;什么是Chise…...

LabVIEW齿轮调制故障检测系统

LabVIEW齿轮调制故障检测系统 概述 开发了一种基于LabVIEW平台的齿轮调制故障检测系统&#xff0c;实现齿轮在恶劣工作条件下的故障振动信号的实时在线检测。系统利用LabVIEW的强大图形编程能力&#xff0c;结合Hilbert包络解调技术&#xff0c;对齿轮的振动信号进行精确分析…...

AI帮写:探索国内AI写作工具的创新与实用性

随着AI技术的快速发展&#xff0c;AI写作正成为创作的新风口。但是面对GPT-4这样的国际巨头&#xff0c;国内很多小伙伴往往望而却步&#xff0c;究其原因&#xff0c;就是它的使用门槛高&#xff0c;还有成本的考量。 不过&#xff0c;随着GPT技术的火热&#xff0c;国内也涌…...

n后问题 回溯笔记

问题描述 在nn格的棋盘上放置彼此不受攻击的n个皇后。 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同 一行或同一列或同一斜线上的棋子。n后问题等价于在nn格的棋盘上放置n个皇后&#xff0c;任何2个皇后不放在同一行或同一列或同一斜线上。 代码 import java.uti…...

简述Java中实现Socket通信的步骤

在Java中&#xff0c;实现Socket通信通常涉及客户端和服务器端两个角色。以下是它们各自的基本步骤&#xff1a; 服务器端&#xff08;Server&#xff09; 创建ServerSocket对象&#xff1a; 在服务器端&#xff0c;首先需要创建一个ServerSocket对象。这个对象会监听来自客户…...

Asp.Net Core 实现分片下载的最简单方式

技术群里的朋友遇到了这个问题&#xff0c;起初的原因是他对文件增加了一个属性配置 fileResult.EnableRangeProcessing true;这个属性我从未遇到过&#xff0c;然后&#xff0c;去F1查看这个属性的描述信息也依然少的可怜&#xff0c;只有简单的描述为(获取或设置为 启用范围…...

[Mac软件]Leech for Mac v3.2 - 轻量级mac下载工具

黑果魏叔推荐Leech是由Many Tricks开发的适用于Mac OS X的轻量级且功能强大的下载管理器。 Leech让您完全控制下载&#xff0c;并与浏览器完全集成。您可以将下载排队&#xff0c;暂停和恢复&#xff0c;从受密码保护的服务器下载&#xff0c;并将密码存储在系统范围的安全钥匙…...

留给“端侧大模型”的时间不多了

端侧大模型&#xff08;Edge AI models&#xff09;&#xff0c;也就是只在设备本地&#xff08;如智能手机、IoT设备、嵌入式系统等&#xff09;运行的大模型&#xff0c;过去一两年来非常流行。 具体表现在&#xff0c;终端设备厂商&#xff0c;如苹果、荣耀、小米、OV等&…...

Pytest框架中的Setup和Teardown功能

在 pytest 测试框架中&#xff0c;setup 和 teardown是用于在每个测试函数之前和之后执行设置和清理的动作&#xff0c;而pytest 实际上并没有内置的 setup 和 teardown 函数&#xff0c;而是使用了一些装饰器或钩子函数来实现类似的功能。 学习目录 钩子函数&#xff08;Hook…...

yolov10/v8 loss详解

v10出了就想看看它的loss设计有什么不同&#xff0c;看下来由于v8和v10的loss部分基本一致就放一起了。 v10的论文笔记&#xff0c;还没看的可以看看&#xff0c;初步尝试耗时确实有提升 好记性不如烂笔头&#xff0c;还是得记录一下&#xff0c;以免忘了&#xff0c;废话结束…...

Typescript高级: 深入理解infer关键字

概述 在 TS 中&#xff0c;infer 是一个高级类型操作&#xff0c;特别是条件类型和映射类型中非常有用的关键字它在泛型中使用也会是一个强大工具&#xff0c;增强了类型推断的能力&#xff0c;让开发者更灵活地处理和操作类型它允许在泛型类型推导过程中捕获一个具体的类型&a…...

JQC-3FF-S-Z 继电器模块使用(arduino)

前言 继电器模块可以控制电流的接通和非接通状态&#xff0c;和开关一样。实际上是用小电流去控制大电流运作的一种“自动开关” 本文只是简单使用继电器模块做一个 led 点亮和熄灭的案例&#xff0c;结合案例可以和 nodemcu 等板子结合做出远程控制开关。 材料准备 杜邦线…...

黑马一站制造数仓实战2

问题 DG连接问题 原理&#xff1a;JDBC&#xff1a;用Java代码连接数据库 Hive/SparkSQL&#xff1a;端口有区别 可以为同一个端口&#xff0c;只要不在同一台机器 项目&#xff1a;一台机器 HiveServer&#xff1a;10000 hiveserver.port 10000 SparkSQL&#xff1a;10001…...

网络I/O模型

网络I/O模型 同步I/O阻塞I/O非阻塞I/OI/O多路复用select函数接口示例 poll函数接口示例 poll 和 select 的区别epoll原理&#xff1a;示例 异步I/O 同步I/O 阻塞I/O 一个基本的C/S模型如下图所图&#xff1a;其中 listen()、connect()、write()、read() 都是阻塞I/O&#xff0…...

Docker 简介和安装

目录 Docker 是什么 跟普通虚拟机的对比 打包、分发、部署 Docker 部署的优势 Docker 通常用来做什么 重要概念&#xff1a;镜像、容器 安装 镜像加速源 Docker 是什么 Docker 是一个应用打包、分发、部署的工具 你也可以把它理解为一个轻量的虚拟机&#xff0c;它只虚…...

【源码】Spring Data JPA原理解析之Repository自定义方法命名规则执行原理(二)

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 5、Spring Data JPA自定…...

Vue前端中从后端获取图片验证码

前端发送请求 <template><el-form :model"user" :rules"rules" ref"userForm" class"login" label-width"auto" style"max-width: 600px"><el-form-item label"用户名" prop"name…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...