• 【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. 删除多行
      快捷键:按 :,d,例如 :1,10d 删除第 1 到第 10 行

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

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

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

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

  • 相关阅读:
    SpringBoot和SpringCloud版本选型
    zzy-project-cli,提供多个框架的脚手架
    mysql与msql2数据驱动
    BERT模型可视化分析总结:BertVi注意力分布与dodrio句法语义分析使用实录
    云原生背景下如何配置 JVM 内存
    真机环境配置教程
    UE5 在骨骼动画模型上绘制贴图
    基础算法训练(五)折半插入排序
    html+css制作3D七夕表白旋转相册特效
    AcWing第78场周赛
  • 原文地址:https://blog.csdn.net/qq_40951951/article/details/139385125