前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VIM文本编辑器

VIM文本编辑器

原创
作者头像
背雷管的小青年
修改2020-06-18 18:05:59
1.4K0
修改2020-06-18 18:05:59
举报

VIM文本编辑器

vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。

只有命令,没有菜单。

VIM工作模式

命令模式:又称一般模式

编辑模式:又称底行模式,命令行模式

插入命令

命令

作用

a

在光标后附加文本

A(shift + a)

在本行行末附加文本 行尾

i

在光标前插入文本

I(shift+i)

在本行开始插入文本 行首

o

在光标下插入新行

O(shift+o)

在光标上插入新行

定位命令

命令

作用

:set nu

设置行号

:set nonu

取消行号

gg G

到第一行 到最后一行

nG

到第n行

:n

到第n行

保存和退出命令

命令

作用

:w

保存修改

:w new_filename

另存为指定文件

:w >> a.txt

内容追加到a.txt文件中 文件需存在

:wq

保存修改并退出

shift+zz(ZZ)

快捷键,保存修改并退出

:q!

不保存修改退出

:wq!

保存修改并退出(文件所有者可忽略文件的只读属性)

不保存并退出:

1,有修改,但是修改后的内容是不保存的

2,有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件

删除命令

命令

作用

x

删除光标所在处字符 nx 删除光标所在处后n个字符

dd

删除光标所在行,ndd删除n行

:n1,n2d

删除指定范围的行(eg :1,3d 删除了123这三行)

dG

删除光标所在行到末尾的内容

D

删除从光标所在处到行尾

复制和剪切命令

命令

作用

yy、Y

复制当前行

nyy、nY

复制当前行以下n行

dd

剪切当前行

ndd

剪切当前行以下n行

p、P

粘贴在当前光标所在行下 或行上

替换和取消命令

命令

作用

r

取代光标所在处字符

R(shift + r)

从光标所在处开始替换字符,按Esc结束

u

undo,取消上一步操作

ctrl+r

redo,返回到undo之前

搜索和替换命令

命令

作用

/string

向后搜索指定字符串 搜索时忽略大小写 :set ic

?string

向前搜索指定字符串

n

搜索字符串的下一个出现位置,与搜索顺序相同

N(Shift + n)

搜索字符串的上一个出现位置,与搜索顺序相反

:%s/old/new/g

全文替换指定字符串

:n1,n2s/old/new/g

在一定范围内替换指定字符串

% 指全文,s 指开始,g 指全局替换

起始行,终止行s/要替换的字符串/替换的新的字符串/g c 询问确认

eg: :%s/ftp/yang/g 全局替换,把ftp替换为yang

eg: :41,44/yang/lee/c 从41行到44行,把yang替换为lee,询问是否替换

eg: :41,44/yang/lee/g 同上,不询问,直接替换

eg: :%s/\/root/\/ROOT/g 把/root替换为/ROOT

eg: :%s#/bin/bash#/bin/ksh/g 把/bin/bash全部替换为/bin/ksh

使用替换命令来添加删除注释

:% s/^/#/g 来在全部内容的行首添加 # 号注释

:1,10 s/^/#/g 在1~10 行首添加 # 号注释

vi里面怎么查命令??

:!which cp

vi里面怎么导入命令的结果?

:r !which cp

可视化模式

v 可视字符模式

V(shift+v) 可视行模式,选择多行操作

ctrl+v 可视块模式(列模式),操作列

I或者O进入插入模式。

网络通信命令

ping

命令路径:/bin/ping 执行权限:所有用户

作用:测试网络的连通性

语法:ping 选项 IP地址

-c 指定发送次数

ping 命令使用的是icmp协议,不占用端口

eg: # ping -c 3 127.0.0.1

ifconfig

英文:interface configure 命令路径:/sbin/ifconfig 执行权限:root

作用:查看和设置网卡网络配置

语法:ifconfig [-a] [网卡设备标识]

-a:显示所有网卡信息

ifconfig [网卡设备标识] IP地址 修改ip地址

netstat

英文:network statistics 命令路径:/bin/netstat 执行权限:所有用户

作用:主要用于检测主机的网络配置和状况

-a all显示所有连接和监听端口

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 使用数字方式显示地址和端口号

-l (listening) 显示监控中的服务器的socket

eg:# netstat -tlnu 查看本机监听的端口

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口

#netstat -au 列出所有 udp 端口

# nestat -at 列出所有tcp端口

#netstat -an 查看本机所有的网络连接

netstat –antpl

进程管理命令

进程和程序的区别:

1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。

2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。

进程和线程的区别:

进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。

进程管理的作用?

判断服务器的健康状态

查看系统所有的进程

杀死进程

ps命令

作用:查看系统中的进程信息

语法:ps [-auxle]

常用选项

a:显示所有用户的进程

u:显示用户名和启动时间

x:显示没有控制终端的进程

e:显示所有进程,包括没有控制终端的进程

l:长格式显示

查看系统中所有进程

# ps aux #查看系统中所有进程,使用BSD操作系统格式,unix

# ps -le #查看系统中所有进程,使用Linux标准命令格式

ps应用实例 # ps -u or ps -l 查看隶属于自己进程详细信息

# ps aux | grep sam 查看用户sam执行的进程 # ps -ef | grep init 查看指定进程信息

pstree

作用:查看当前进程树

语法:pstree [选项]

-p 显示进程PID

-u 显示进程的所属用户

top

作用:查看系统健康状态

显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。

语法:top [选项]

-d 秒数,指定几秒刷新一次,默认3秒(动态显示)

kill

作用:关闭进程

语法:kill [-选项] pId

kill -9 进程号(强行关闭) 常用

kill -1 进程号(重启进程)

用户管理命令

useradd

添加用户

语法:useradd [选项] 用户名

passwd

修改密码命令

语法:passwd [选项] [用户名]

用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。

ys^h_L9t

userdel(user delete)

删除用户

-r 删除账号时同时删除宿主目录(remove)

磁盘空间命令

df命令

作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间

语法:df [-hkam] [挂载点]

-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等 -k  以KB 为单位显示各分区的信息,默认

-M 以MB为单位显示信息 -a  显示所有分区包括大小为0 的分区

du命令

作用:用于查看文件或目录的大小(磁盘使用空间)

语法:du [-abhs] [文件名目录]

-a 显示子文件的大小

-h以易读的方式显示 KB,MB,GB等

-s summarize 统计总占有量

eg: du -a(all) /home  显示/home 目录下每个子文件的大小,默认单位为kb

du -b /home  以bytes为单位显示/home 目录下各个子目录的大小

du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小

du -sh /home  以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize

df命令和du命令的区别:

df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。

du命令面向文件,只计算文件或目录占用的空间。

#df –h /

#du –sh /

free

作用:查看内存及交换空间使用状态

语法: free [-kmg]

选项:

-k: 以KB为单位显示,默认就是以KB为单位显示

-m: 以MB为单位显示

-g: 以GB为单位显示

清理缓存命令:

echo 1 > /proc/sys/vm/drop_caches

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VIM文本编辑器
    • VIM工作模式
      • 插入命令
        • 定位命令
          • 保存和退出命令
            • 删除命令
              • 复制和剪切命令
                • 替换和取消命令
                  • 搜索和替换命令
                    • 可视化模式
                      • 网络通信命令
                        • ping
                        • ifconfig
                        • netstat
                      • 进程管理命令
                        • ps命令
                        • pstree
                        • top
                        • kill
                      • 用户管理命令
                        • useradd
                        • passwd
                        • userdel(user delete)
                      • 磁盘空间命令
                        • df命令
                        • du命令
                        • free
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档