Linux上vim编辑器快捷键/快捷命令详解,chattr和lsattr命令介绍

目录

一.vim

1.vim编辑器简介

2.vim内功能及快捷键/命令详解

(1)命令、末行、插入三种模式的切换方式

(2)命令模式下的操作

(3)插入模式下的操作

(4)末行模式下的操作   

二.文件隐藏属性的含义及作用

1.chattr设置文件的隐藏权限

(1)chattr命令的参数解析

(2)charttr部分参数演示

2.lsattr查看文件的隐藏权限


一.vim

1.vim编辑器简介

vim编辑器是Linux的标准软件之一,同Linux操作系统一并安装,主要用于文本编辑/程序编写,极为方便。

vim主要设计了命令模式、末行模式、插入模式,在几种模式内都可以使用快捷键,大大提高使用效率。

vim编辑器的主要配置文件在"/etc/vimrc"下,可以在配置文件内修改编辑器的操作参数。

2.vim内功能及快捷键/命令详解

(1)命令、末行、插入三种模式的切换方式

末行模式和插入模式不能直接切换,都需要返回到命令模式才能互换模式

vim一个文件,如果文件不存在则表示新建文件并编辑

[root@sulibao ~]# vim file1

进入时默认是命令模式 

Linux上vim编辑器快捷键/快捷命令详解,chattr和lsattr命令介绍_第1张图片

按:a、i、o:键进入插入模式,按esc键退出插入模式回到命令模式

按"(shift+):"键进入末行模式,按esc键退回到命令模式

(2)命令模式下的操作

命令模式下的文本快速查看操作 

操作 实现功能
上/k、下/j、左/h、右/l方向键 控制光标上、下、左、右移动
ctrl+F/ ctrl+B 控制往下翻一页内容/往上翻一页内容

(FN)+Home键,(FN)+ ^键,数字0键。

(FN)+End键,(FN)+ $ 键

控制光标跳转至行首或行尾
单击数字1键+大写G键/双击小写gg 控制光标跳转至首行
单击大写G 控制光标跳转至末行
数字+单击大写G 控制光标跳转至数字指定行
:set nu/:set nonu :属于是末行模式的用法(下文介绍),但有时候为了方便跳转可以设置行号/取消行号
:set ignorecase/noignorecase 查找字符(串)时忽略大小写/区分大小写

命令模式下对文本的复制、粘贴、删除等快捷操作

操作 实现功能
yy/数字+yy 复制光标所在行/复制从光标开始的几行内容
p/P 将复制的内容粘贴到光标后/光标前
x键/delete键 删除光标所在的单个字符
dd/数字+dd 删除光标所在行/删除从光标开始的几行内容
d^/d$

删除光标前到行首的所有字符(光标所在字符使用d^不会删除)/到行尾的所有字符

命令模式下快速查找指定文本以及撤销等快捷操作

操作 实现功能
/字符(串) 从上到下查找字符(串)
?字符(串) 从下到上查找字符串
n/N 跳转到下一个相匹配的字符(串)/跳转到上一个相匹配的字符(串)
u/U 单击或多击小写u可以撤销最近的一次或多次操作/大写U可以撤销所有当前行的编辑操作
Ctrl+R 取消上一步或多步撤销操作
ZZ 保存当前文件内容并退出

(3)插入模式下的操作

按"a、i、o"键进入插入模式后(o键进入会在光标后换行) 移动光标进行正常的文本写入再保存即可

(4)末行模式下的操作   

按"(shift+):"进入插入模式

末行模式常用来做保存文件、退出vim编辑器以及设置行号等操作

操作 实现功能
:w 保存当前文件
:w /xx/xx 将当前文件保存为其他文件(另存为)
:q / :q! 没有修改内容退出/默认放弃所做修改强制退出vim编辑器
:wq/ :wq! 保存文件并退出/强制保存文件并退出
:set nu / set nonu 为文本设置行号/为文本取消行号
:set ignorecase/noignorecase 查找字符(串)时忽略大小写/区分大小写

对此文件以及其他文件进行读取、查找替换等操作

操作 实现功能
:s /a/b(/g) 将当前行查找到的a字符替换为b字符,加/g表示将当前行中查找到的所有a字符替换为b字符
:数字,数字 s/a/b/g 将哪行到哪行之间查找到的a字符全部替换为b字符
:% s/a/b/g 将全文范围内查找到的a字符全部替换为b字符
:s /a/b/c 对替换字符文本的动作产生确认提示
:g/数字/d 查找到哪一行并删除此行
:n1,n6 co n2 复制n1-n6行的内容粘贴至n2后面
:r 文件路径 读取目标文件内容并载入到当前文本光标所在处

操作部分特殊设置

操作 实现功能
:set autoindent 设置语法缩进
:set shiftwidth=数字 设置vim内tab键等于多少个空格键

二.文件隐藏属性的含义及作用

Linux文件的隐藏属性顾名思义就是部分属性(权限)被隐藏起来,新增隐藏权限较难通过一般权限的方式查看,使得文件/目录的安全性提高,受违规篡改的可能性相对降低。

一般是通过“+”表示为文件增加权限,“-”为文件去除权限

1.chattr设置文件的隐藏权限

(1)chattr命令的参数解析

参数 实现功能
i

对文件赋予该参数表示无法对文件进行修改;

对目录赋予该权限则表示只能修改目录内的子文件,不能新建或者删除文件

a 只能追加内容,无法覆盖内容
A 不准再修改这个文件或目录的最后访问时间
s 把文件从硬盘中删除,无法找回
S 文件内容受到更改后立即同步到硬盘
b 不准再修改文件或目录的存取时间
d 备份时(dump命令)不对此文件/目录进行备份
D 检查压缩文件中所存在的错误
c 默认对文件或目录进行压缩
x 支持直接访问压缩文件中的内容

(2)charttr部分参数演示

i参数,为文件设置,无法更改文件

[root@sulibao aaa]# touch abc
[root@sulibao aaa]# chattr +i abc
[root@sulibao aaa]# vim abc

Linux上vim编辑器快捷键/快捷命令详解,chattr和lsattr命令介绍_第2张图片

若为目录设置,无法在目录内新建文件和删除文件

[root@sulibao ~]# chattr +i /aaa
[root@sulibao ~]# cd /aa
[root@sulibao ~]# cd /aaa/
[root@sulibao aaa]# ll
total 0
-rw-r--r-- 1 root root 0 Jan 13 19:49 abc
[root@sulibao aaa]# touch qq.txt
touch: setting times of 'qq.txt': No such file or directory
[root@sulibao aaa]# rm -rf abc
rm: cannot remove 'abc': Operation not permitted

 a参数,只能追加内容不能覆盖内容

[root@sulibao aaa]# chattr +a abc
[root@sulibao aaa]# date >abc
-bash: abc: Operation not permitted
[root@sulibao aaa]# date >>abc
[root@sulibao aaa]# cat abc
Fri Jan 13 19:59:52 CST 2023

2.lsattr查看文件的隐藏权限

演示:先为文件赋予i和a隐藏权限,分别使用常规查看和lsattr查看

[root@sulibao aaa]# chattr +a +i abc
[root@sulibao aaa]# ll
total 4
-rw-r--r-- 1 root root 29 Jan 13 19:59 abc
[root@sulibao aaa]# lsattr abc
----ia-------------- abc

通过lsattr来查看便于考虑实际情况来新增或删除隐藏权限

你可能感兴趣的:(#,正则,vim,sudo,隐藏属性,Linux,vim,编辑器,运维,chattr,lsattr)