Linux基础命令—文件编辑

vim概述

VIM模式三种模式介绍
1.命令模式: 主要是控制光标移动,可对文本进行复制、粘贴、删除等工作。
使用vim filename 编辑一个文件时,一进入该文件就是命令模式了。
在这个模式下,可以进行光标移动、复制、删除、粘贴操作。
2.输入模式: 主要进行文本内容编辑和修改
从命令模式进入输入模式,只需你按一个键即可(i, I, a, A, o, O)
当进入输入模式时,会在屏幕的最下一行会出现 "INSERT"标记
从输入模式回到命令模式只需要按键盘左上方的 ESC 键即可。
3.末行模式: 主要用于保存或退出文本。
在命令模式下,输入 ":" 或者 "/" 即可进入命令模式。
在命令该模式下,可进行的操作有,显示行号、搜索、替换、保存、退出。

小结: vim编辑打开文件整体流程如下:
1.默认打开文件处于命令模式
2.从命令模式切换至输入模式需要使用a、i、o
3.输入模式修改完毕后需要先使用ECS返回命令模式
4.在命令模式输入":"或"/"进入命令模式,可实现文件的保存与退出。
PS: 在vim中,无法直接从输入模式切换到命令模式。

vim使用

命令模式
#1.命令光标跳转
G #光标跳转至末行
gg #光标跳转至首行
Ngg #光标跳转至当前文件内的N行
$ #光标跳转至当前光标所在行尾end
^|0 #光标跳转至当前光标所在行首home

#2.文件内容较多
ctrl+f #往下翻页(行比较多)PageDown
ctrl+b #往上翻页PageUp

#3.复制与粘贴
yy #复制当前光标所在的行
5yy #复制当前光标以及光标向下4行
yw #负责当前光标至单词最后一个字符
p(小写) #粘贴至当前光标下一行
P(大写) #粘贴至当前光标上一行

#4.删除、剪贴、撤销
dd #删除当前光标所在的行
4dd #删除当前光标所在的行以及往下的3行
dG #删除当前光标行至尾行
dgg #删除当前光标行至首行
dw #删除当前光标至单词最后一个字符
D #删除当前光标至行尾所有字符
x #删除当前光标标记的字符Delete
X #删除当前光标标记往前的字符
u #撤销上一次的操作
U #撤销所有的操作
剪切=删除+粘贴

#5.替换
r #替换当前光标标记的单个字符
R #进入REPLACE模式, 连续替换,ESC结束
输入模式
i #进入输入模式,光标不做任何操作
a #进入输入模式,将当前光标往后一位
o #进入输入模式,并在当前光标下添加一行空白内容

I #进入输入模式,并且光标会跳转至本行的头部
A #进入输入模式,将光标移动至本行的尾部
O #进入输入模式,并在当前光标上添加一行空白内容
末行模式
#1.文件保存与退出
:w 保存当前状态
:w! 强制保存当前状态
:q 退出当前文档(文档必须保存才能退出)
:q! 强制退出文档不会修改当前内容
:wq 先保存,在退出
:wq! 强制保存并退出
:x 先保存,在退出
ZZ 保存退出, shfit+zz
:number 跳转至对应的行号

#2.文件内容查找
/string #需要搜索的内容(查找)或?/string
n #按搜索到的内容依次往下进行查找
N #按搜索到的内容依次往上进行查找

#3.文件内容替换
:ns/old/new #将第n行的第一个old内容替换为new n替换的行
:ns/old/new/g #将第n行的old内容全部替换为new
:n,ms/old/new/ #将第n到第m行的每行第一个old替换为new
:n,ms/old/new/g #替换n-m行old的内容换成new
:%s/old/new/g #全文替换
:/^root/,/^mail/d #删除root - mail之间的所有的行
1,5s/^/#/g #注释1-5行
:%s/#//g #全文取消注释
可以用/也可以用# 两者效果一样

grep(取行)

grep [选项] [搜索字段] [文件名称]
选项:
 -i 忽略大小写
 -E 扩展正则
 -v 取反
 -o 输出匹配内容

忽略a的大小写,从etc/passwd匹配包含a或者A的字符
# grep -i a etc/passwd
取出所有不是root开头的用户
# grep -v ^root /etc/passwd
取出所有不是root结尾的用户
# grep -v root$ /etc/passwd
取出所有能够正常登陆的用户,且只显示匹配的字段
# grep -o /bin/bash$ /etc/passwd

awk(取列)

awk [选项] '{print $N}' $n 第几列 $1
选项:
 -F 指定分隔符,默认是空格

取出所有root用户的相关信息
# awk '/root/' /etc/passwd
只取出root字段的用户名称
# awk  -F ':' '/root/{print $1}' /etc/passwd
取出/etc/passwd文件中的第一列和第三列
# awk -F ':' '{print $1,$3}' /etc/passwd
取出当前你所使用的主机的IP地址
# ifconfig |grep 'inet ' |awk '{print $2}'
取出当前你所使用的主机的ip地址使用 ip a命令取出
# ip a |grep 'inet '|grep 'ens33$'|awk '{print $2}' | awk -F '/' '{print $1}'

sort(排序)

sort [选项] [文件名称]
选项:
 -n 将数字看做一个整体
 -r 倒序
 -k 指定第几列
 -t 指定分隔符
以第二列数字的形式进行排序
# sort -t ':' -nk2  1.txt
以第二列数字的形式进行倒序
# sort -t ':' -nrk2  1.txt

uniq(去重)

uniq [选项]  [文件名称] 一定要先排序再去重
选项:
 -c 统计重复次数
对2.txt先进行排序,再进行去重
# sort 2.txt | uniq

wc(统计)

wc [选项] [文件]
选项:
 -l 统计行数
 -w 统计单词数
 -c 统计字节数
查看当前操作系统中有多少个用户
# wc -l /etc/passwd
查看当前文件下有多少单词数
# wc -w /etc/passwd 
查看当前文件下有多少字节数
# wc -c /etc/passwd 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值