linux文件管理(补充)
linux文件管理
vim编辑器
vi概述
vi 编辑器 他是linux和unix系统上最基本的文本编辑器,类似于windows系统下的记事本编辑器
vim编辑器
vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用
命令模式
使用vim编辑器时,默认处于命令模式。在该模式下可以移动光标位置,可以通过快捷键对文件 内容 进行复制 粘贴,删除等操作
编辑模式或输入模式
在命令模式下输入小写字母a或者小写字母i即可进入编辑模式,在该模式下可以对文件的内容进行编辑
末行模式
在命令模式下输入冒号;即可进入末行模式,可以在末行输入命令来对文件进行查找替换保存退出
可视化模式(了解)
可以做一些列选操作(通过方向键选贼某些列的内容)
vim四种模式的关系
命令模式
命令模式/编辑模式/末行模式/可视化模式
vim四种模式的关系
vim编辑器的使用
使用vim打开文件
基本语法
# vim 文件名称
如果文件存在,则直接打开
如果文件不存在,则vim编辑器自动在内存中创建一个新文件
vim编辑器保存文件
在任何模式下,连续按两次esc键,即可返回命令模式,然后按冒号: 进入末行模式,输入wq,代表保存并退出
vim编辑器不保存文件退出
在任何模式下,连续按两次esc键,即可返回命令模式,然后按冒号: 进入末行模式,输入q!,代表强制退出但不保存文件
命令模式下我们能做什么
- 移动光标
- 复制粘贴
- 剪切复制删除
- 撤销恢复
移动光标到首行或末行(重点)
- 移动光标到首行=>gg
- 移动光标到末行=>G
翻屏
向上 翻屏 ctrl +b
向下 翻屏 ctrl +f
向上翻半屏 ctrl +u
向下翻半屏 ctrl +d
快速定位光标到指定位置
行号+G 如 150 G 快速移动光标到150行
复制与粘贴
复制当前行(光标所在行)
按键:yy
粘贴:在想要粘贴的地方按下p键,[将粘贴的光标所在行的下一行],如果想粘贴在光标所在行之前,则使用P键
从当前行开始复制,复制指定的行数(复制5行)5yy(从当前行开始往下复制5行)
剪切/删除/撤销/恢复
剪切/删除光标所在行
按键:dd(删除之后下一行上移)
注意:严格意义上说,dd时剪切命令,如果剪切了不粘贴,就是删除的效果了。
剪切/删除当前行
按键:D
撤销: u
恢复; ctrl+r(恢复),取消之前的操作
末行模式下的相关操作
如何进入末行模式
进入末行模式的方法只有一种,在命令模式下输入冒号:的方式即可进入。
末行模式下我们能做什么
文件的保存,退出,查找,替换,显示行号paste模式等
保存=>:w
退出 =>:q,先保存后退出。:wg :wg 文件名称 :q!
查找功能 =>命令模式输入/斜杠 +关键词(高亮显示)=>:noh
替换功能
/要替换的关键词/替换后的关键词
/要替换的关键词/替换后的关键词/g
:%s/要替换的关键词/替换后的关键词
:9s/要替换的关键词/替换后的关键词/8
显示行号 =>:set nu取消行号 =>:set nonu
paste模式 => 将来在粘贴代码的时候为了保存原格式 → 粘贴之前 =>:set paste
编辑模式操作
编辑模式的作用
编辑模式的作用:主要是实现对文件的内容进行编辑模式
如何进入编辑模式
首先进入命令模式,然后小写字母i或者小写字母a,进入编辑模式。
命令模式+i :在光标之前插入内容
命令模式+a:在光标之后插入内容
退出编辑模式
按esc直接退出
在可视化模式下为配置文件添加多行注释
第一步:按Esc退出到命令模式,按gg切换到第1行
第二步:然后按Ctrl+v进入到可视化区块模式(列模式 )
第三步:在行首使用上下键选择需要注释的多行
第四步:按下键盘(大写)“I”键,进入插入模式(shift+i)
第五步:输入#号注释符
第六步:输入完成后,连续按两次ESc即可完成添加多行注释的过程
为配置文件去除#多行注释(重点)
第一步:按Esc退出到命令模式,按gg切换到第1行
第二步:然后按Ctrl+v进入可视化区块模式(列模式)第三步:使用键盘上的方向键的上下选中需要移除的#号注释第四步:直接按Delete键即可完成删除注释的操作
代码着色
之前说过vim 是v的升级版本,其中比较典型的区别就是vim 更加适合coding,因为vim比vi多一个代码着色的功能,这个功能主要是为程序员提供编程语言升的语法显示效果,如下
第一步:定义后缀名为网页文件的代码文件
# vim index.php
第二步:编写对应php代码
<?php
echo 'hello world'
?>
退出vim
回顾:在vim中,退出正在编辑的文件可以使用:q 或者 :wq
除了上面的这个语法之外,vim 还支持另外一个保存退出(针对内容)方法:x
①:x 在文件没有修改的情况下,表示直接退出(等价于:q),在文件修改的情况下表示保存并退出(:wq)
② 如果文件没有被修改,但是使用wq 进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;主要是会混淆用户对文件的修改时间的认定。
查看文件内容
cat命令
# cat 文件名
正序输出文件内容
tac命令
# tac 文件名
倒序输出文件内容
cat补充内容:
cat 文件1 文件2 文件3 ...>文件4
功能解释:将文件1,文件2,文件3的内容合并,并且重新起名为文件4
linux文件管理(补充)的更多相关文章
- Linux文件管理相关命令
Linux文件管理相关命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...
- Linux文件管理上
Linux文件管理 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 对于计算机来说,所谓的数据就是0和1的序列.这样的一个序列 ...
- Linux文件管理和编辑常用命令
Linux文件管理和编辑常用命令 mkdir 命令 功能说明 mkdir 命令用于创建一个目录,mkdir是make directory的缩写 格式: mkdir [选项] 目录名 mkdir 命令的 ...
- 转 Linux文件管理
Linux文件管理 http://www.cnblogs.com/vamei/archive/2012/09/09/2676792.html 作者:Vamei 出处:http://www.cnblog ...
- 3-2 LInux文件管理
LInux文件管理 文件系统目录结构 Linux中目录结构是有一定的约定的FHS /bin:存放二进制程序 /boot:启动相关 /dev:设备文件 /etc:配置文件 /home:用户家目录 /li ...
- linux文件管理--压缩打包
目录 linux文件管理--压缩打包 1.压缩打包介绍 2.gzip压缩工具 3.zip压缩工具 注意: 4.tar压缩工具 5.tar生产案例实践 linux文件管理--压缩打包 1.压缩打包介绍 ...
- day58:Linux:BashShell&linux文件管理&linux文件下载上传
目录 1.BashShell 2.Linux文件管理 3.Linux文件下载和上传 BashShell 1.什么是BeshShell? 命令的解释,用来翻译用户输入的指令 2.BashShell能做什 ...
- 3-1 Linux文件管理类命令详解
根据马哥Linux初级 03-01整理 1. 目录管理 ls cd pwd mkdir rmdir tree 2. 文件管理 touch stat file rm cp mv nano 3. 日期时间 ...
- Linux文件管理_1
在Linux中,全部都是文件,所以文件管理在Linux上格外重要,在我们学习文件管理前,我们先学习几个关于文件的命令,之后才能更好的学习文件管理. 目录 pwd命令 cd命令 列出文件内容ls 查看文 ...
- linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)
本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...
随机推荐
- 设计模式-1 单例模式 SingletonPattern
23种设计模式 一.创建型 1,AbstractFactory(抽象工厂,对象模式) 2,Builder(建造者,对象模式) 3,Factory Method(工厂方法,类创模式) 4,Prototy ...
- Java并发(十)----线程之守护线程
默认情况下,Java 进程需要等待所有线程都运行结束,才会结束.有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束. 例: log.debug(&q ...
- delphi的bpl、dcp 、dcu
BPL 英文全称 Borland Package library ,是一种特殊的DLL文件,用于代码重用和减少可执行文件.编译bpl时,仅需要添加相应功能的pas文件,如果有窗体,则需要添加dfm文 ...
- MySQL8.0-CTE递归查询(避免死循环)
TSQL脚本能实现递归查询,用户使用共用表表达式 CTE(Common Table Expression),只需要编写少量的代码,就能实现递归查询. 本文详细介绍CTE递归调用的特性和使用示例,递归查 ...
- ABC 305
题目列表 前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠 即可. E 题意:一张图上有一些结点有保安,每个保安有不同的警戒度 \(h_i\),定义 一个结点是安全的 为这个结点可以 ...
- 从零开始手写缓存框架(12)redis expire 过期的随机特性详解及实现
前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(二)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...
- 使用clipboard插件结合layui实现的一键复制按钮
说明 之前开发了个基金分析的网页,主要是方便几个朋友买卖基金做个参考.这里面基金代码是存储在浏览器cookie中的,也就是说假如我换了浏览器就没法查了,最方便的就是一键复制代码粘贴到另外一个浏览器中一 ...
- 执行shell脚本过程中传递参数
假设我有一个shell脚本install.sh,在运行过程中需要终端输入一条指令才能继续执行,例如程序询问是否删除某文件,终端需要输入Y/N.采用下面的方式可以实现自动输入参数,无需人工干预: ech ...
- Innodb存储引擎之锁
目录 一.概述 二.lock 与 latch 三.Innodb存储引擎中的锁 锁 一致性非锁定读 一致性锁定读 自增长与锁 外键与锁 四.锁的算法 锁的算法 Phantom Problem 幻读问题 ...
- Redis 缓存过期删除/淘汰策略分析
Redis 缓存过期删除/淘汰策略分析 Redis 缓存删除 Redis 键过期删除,定期删除(主动)和惰性删除(被动) Redis 内存不足时,缓存淘汰策略 key 键过期删除 我们用 redis ...