【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")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/21519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人脸识别系统之动态人脸识别

二&#xff0e;动态人脸识别 1.摄像头人脸识别 1.1.导入资源包 import dlib import cv2 import face_recognition from PIL import Image, ImageTk import tkinter as tk import os注&#xff1a;这些导入语句允许您在代码中使用这些库和模块提供的功能&#xff0c;例如创建…

Cacti EZ中文版 12.2.27 ISO 下载安装

简介 修改了yum源为中国高校联合镜像源 github改为gitee。 系统增加中文语言包。 修改时区为东八区。 增加了常用的软件包。 PS&#xff1a;CactiEZ是一个自动化安装cacti和插件的ISO镜像&#xff0c;本教程的ISO是基于官方的IOS针对国内网络做了修改。 可按照目前最新的Ca…

方法递归案例

文件搜索 需求&#xff1a;从D盘中,搜索idea64.exe这个文件,找到后输出其位置 public static void main(String[] args) {searchFile(new File("D:/") , "idea64.exe");}/*** 去目录搜索某个文件* param dir 目录* param fileName 要搜索的文件名称*/pub…

Java1.8 vue版家政服务系统成品源码 家政管家系统源码 家政月嫂系统源码 家政保洁系统源码 在线派单,师傅入驻全套商业源码

Java1.8 vue版家政服务系统成品源码 家政管家系统源码 家政月嫂系统源码 家政保洁系统源码 在线派单&#xff0c;师傅入驻全套商业源码 一、系统定义 家政上门服务系统是一种利用互联网技术&#xff0c;将家政服务需求与专业的家政服务人员进行高效匹配的平台。它允许用户通过…

【OceanBase诊断调优】—— obdiag 工具助力OceanBase数据库诊断调优(DBA 从入门到实践第八期)

1. 前言 昨天给大家分享了【DBA从入门到实践】第八期&#xff1a;OceanBase数据库诊断调优、认证体系和用户实践 中obdiag的部分&#xff0c;今天将其中的内容以博客的形式给大家展开一下&#xff0c;方便大家阅读。 2. 正文 在介绍敏捷诊断工具之前&#xff0c;先说说OceanBa…

springboot配置

springboot配置 配置文件分类 springboot提供了多种属性配置方式 application.xml(只有老的spring项目使用)application.propertiesapplication.yml(或yaml) 优先级:properties>yml>yaml 配置文件 pom.xml★ 在Spring Boot项目中&#xff0c;pom.xml文件是Maven项目…

x264帧级码率控制解析

目前x264代码中表面看到的码率控制方式有CQP,CRF和ABR三种。 CQP(Constant Quantitative Parameters), 固定QP,直接整帧都用相同的QP值。CRF (Constant Rate Factor),固定码率因子,更注重质量,x264默认的码控方式,CRF会动态的调整每帧的QP,对比CQP在同等码率下CRF能…

Unity3D 基于YooAssets的资源管理详解

前言 Unity3D 是一款非常流行的游戏开发引擎&#xff0c;它提供了丰富的功能和工具来帮助开发者快速创建高质量的游戏和应用程序。其中&#xff0c;资源管理是游戏开发中非常重要的一部分&#xff0c;它涉及到如何有效地加载、管理和释放游戏中的各种资源&#xff0c;如模型、…

PLM系统与PDM系统、ERP系统、CRM系统有哪些关系?

在当今快速发展的信息技术时代&#xff0c;企业信息化已成为提升管理水平和增强竞争力的关键。其中&#xff0c;产品生命周期管理&#xff08;PLM&#xff09;作为企业信息化的基石&#xff0c;与其他信息系统如产品数据管理&#xff08;PDM&#xff09;、企业资源规划&#xf…

基于SpringBoot+Vue的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…

富格林:掌握正规甄别欺诈信息

富格林认为&#xff0c;在追求财富增值的道路上&#xff0c;掌握一项正规甄别欺诈信息的投资技能至关重要。现货黄金交易作为一种古老且稳定的投资方式&#xff0c;吸引了无数投资者的目光。下面富格林希望通过介绍一些正规甄别欺诈信息的技巧能够帮助大家在财富增值这条路上走…

如何自建yum源仓库

文章目录 1&#xff0c;创建可用的yum源文件夹&#xff0c;把你自己的软件包&#xff0c;并放在这个目录文件夹中2&#xff0c;将yum源文件夹目录复制到/var/www/html/中3&#xff0c;客户端修改配置文件4&#xff0c;创建一个 RPM 软件包存储库5&#xff0c;查验是否成功6&…

Dify快速接入微信

一、Dify简介 项目官网&#xff1a;Dify.AI 生成式 AI 应用创新引擎 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非…

Python中的虚拟环境

2024年6月2日&#xff0c;周日上午 在Python开发中&#xff0c;虚拟环境&#xff08;Virtual Environment&#xff09;是一个重要的工具&#xff0c;它可以为每个项目创建独立的Python环境&#xff0c;以避免不同项目之间的依赖冲突。以下是关于Python虚拟环境的详细介绍&#…

ESP32-C3模组上跑通OTA升级(11)

接前一篇文章&#xff1a;ESP32-C3模组上跑通OTA升级&#xff08;10&#xff09; 本文内容参考&#xff1a; 《ESP3-C3 物联网工程开发实战》 乐鑫科技 特此致谢&#xff01; 上一回说到解决了证书验证的问题&#xff0c;但紧接着又出现了一个新的问题&#xff1a;版本相同无…

查找最小的K个元素

输入n个正整数&#xff08;可以有重复的情况出现&#xff09;&#xff0c;输出其中最小的k个&#xff08;如有重复的情况出现&#xff0c;重复输出&#xff09;&#xff0c;其中1≤k≤n≤10000&#xff0c;每个正整数小于10000。 例如输入1、4、8、2、5、7、6、3这8个数字&…

QT等比例缩放图片

1、这里使用QLabe控件显示图片&#xff0c;如下&#xff1a; label->setPixmap(QPixmap::fromImage(image_2)); 以上是直接原始大小来显示QImage image_2图片。 label->setAlignment(Qt::AlignCenter); 以上代码&#xff0c;是将显示的图片居中展示&#xff0c;默认…

PostgreSQL查看当前锁信息

PostgreSQL查看当前锁信息 基础信息 OS版本&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a;16.2 pg软件目录&#xff1a;/home/pg16/soft pg数据目录&#xff1a;/home/pg16/data 端口&#xff1a;5777查看当前锁信息的sql SELECT pg_s…

Vue3-Pinia(大菠萝)附源码

文章目录 Pinia 开源地址Pinia 定义与起源优点与特性Pinia使用准备一个小模块(可参考以下程序)搭建 pinia 环境存储读取数据修改数据(三种方式)storeToRefsgetters$subscribestore组合式写法 更多相关内容可查看 Pinia 开源地址 git地址&#xff1a;https://gitee.com/its-a-l…

干货分享 | 详解TSMaster CAN 与 CANFD 的 CRCE2E 校验方法

面对切换工具链的用户来说&#xff0c;在 TSMaster 上完成总线通讯中的 CRC/E2E 校验处理不是特别熟悉&#xff0c;该文章可以协助客户快速使用 TSMaster 完成 CAN/CAN FD 总线通讯的 CRC/E2E 校验。 本文关键字&#xff1a;TSMaster&#xff0c;CAN/CANFD&#xff0c;CRC 校验…