linux提示光标下无字符串,linux基础学习【2】

本文详细介绍了Vim编辑器的三种工作模式,包括普通模式、插入模式和命令模式,演示了字符和行的管理技巧,以及可视化、分屏功能。此外,还涵盖了用户权限管理、文件权限设置、Vim命令和文件操作,适合深入理解Vim的高级用户。
摘要由CSDN通过智能技术生成

2018.09.23

1.vim的三种模式

普通模式:浏览文件

插入模式:对文件进行编辑

命令模式:临时更改vim的工作方式,需要更改/etc/vimrc文件

##命令模式##

2.字符管理

y 复制

y(3)l 复制单(3)个字母

y(3)w 复制单(3)个单词

y(3)y 复制单(3)行

y(G)y 复制全部

注:单词之间需要分割符号

d 删除

d(3)l 删除单(3)个字母

d(3)w 删除单(3)个单词

d(3)d 删除单(3)行

c 剪切

c(3)l 剪切单(3)个字母

c(3)w 剪切单(3)个单词

c(3)c 剪切单(3)行

注:在剪切之后vim会进入插入模式,要粘贴需要按[Esc]后[p]键粘贴

p 粘贴

u 撤销

ctrl+r 恢复撤销

fd4cd1010929507e368dfb28b219ee16.png

vim编辑文件liuyu

36a938d8505e4a05b7eb5d0b2d8ffdcc.png

yGy复制全部并按p粘贴

cc21f30347c0ecadae00fd6e08faa5ee.png

d8d删除后8行

ccfc2360f62a10e2e87fd613f67be69b.png

c3l后在行尾P粘贴

dd1646074eeaf93deb622852e3020e7d.png

u(3次,剪切,移动光标,粘贴)撤销3步

87bf8bc48a4ff062a3da84ed51be46e4.png

ctrl+r(3次,粘贴,移动光标,剪切)撤销恢复

3.vim可视化模式

v 字符可视化

V 行可视化

ctrl + v 块可视化

3bb25ace78967e7235125cc2f2ace546.png

【v】移动光标实现字符可视化

e6ecd17c9302f3f424b5b3d8cbff7945.png

【V】移动光标实现行可视化

89d4e011c41dbaadaf168226e77324bc.png

【ctrl】+【V】移动光标实现块可视化

4.字符的替换

:%s/要替换的字符/替换成的字符/g

:%s/a/b/g

:1,5s/a/b/g 用b替换1到5行的a

633eeb6b7e301a0336e22c4b53b366cc.png

按【:】输入2,4s/bin/haha/g,将2-4行中的bin字符串替换成haha

50c23a2cc4af34a95df0463eb9f2b54e.png

替换后

5.vim的分屏功能

ctrl+w s 上下分屏

ctrl+w v 左右分屏

ctrl+w c 关闭光标所在屏幕

ctrl+w 上下左右 光标移动到指定屏幕

:sp file2 同时编辑当前文件和file2

b3a14215e942c01b73fb2576f322d9b6.png

vim编辑文件liuyu

c08e6525a320009e38f275b903d54d9d.png

ctrl+w后按s,上下分屏

e27e4f744eb9f404ae82fb29a21b3339.png

ctrl+w后按v,左右分屏

4577c4365071f4bab3fa45eaad3147eb.png

ctrl+w后按下方向键,光标移动至下方分屏上

532731d025acb502ad770926a4fc237a.png

ctrl+w后按c,关闭光标所在下方分屏

a032ccefa224b2850ba390b490fe059d.png

单屏编辑文件liuyu状态下【:】输入sp passwd,同时编辑两个文件。

6.在命令模式下光标的移动

gg 光标移动到文件的第一行

G 光标移动到文件的最后

:数字 光标移动到指定行

ZZ 保存退出

注意:ZZ在普通模式下使用

489d27133efe8e3f675b7d1455d0a878.png

gg 光标移动至文件起点

4a575956076cc45ac94cbeb37e19160a.png

G 光标移动到文件末尾

1ca266c7f78298b3882579621ad02fa2.png

:5 光标跳至第5行

##插入模式##

7.在插入模式下光标的移动

i 在光标当前位置插入

I 在光标所在行首进行插入

o 在光标所在行另起一行插入

O 在光表所在行上一行起一行插入

a 在光标所在位置下一字符插入

A 在光标所在行尾进行插入

s 删除单个字符并进入插入模式

S 删除整行并进入插入模式

50d4b9890cd1c58c4041bf11d685d7b1.png

光标位于文件1行1列按【i】,直接在文章开头插入

df4b385f436b1bf93516d569dc614070.png

光标位于文件3行2列按【S】,删除第3行并插入

8.vim的退出

q 文件未进行编辑操作辑时退出

wq 保存并退出

q! 强制退出不保存

wq! 强制退出保存,对只读文件编写,仅用户对当前文件有写权限使用

![](https://s4.51cto.com/images/blog/201809/27/e76bbe728e1a8e65380503ca40158862.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

按【:】后输入wq,保存文件并退出,重新进入文件修改内容已保存

4930d7b5053fed509b8f120106e34e8d.png

文件内容修改后:q无法退出,:q!退出成功不保存

51ba885e13416480e80bb17f1338eca3.png

如图,当前用户对one文件仅有读权限

754c5c843604658e50c0814976fe3197.png

vim编辑时提示只读

df46041db188c731221f0cca01dbf956.png

:wq无法保存退出,:wq!强制保存退出,文件拥有者转换为当前用户

9.用户(组)的意义

系统最底层安全设定方式之一

方便限定使用者或组的权限

10.用户的查看

id a 查看a用户的id信息

-u 查看用户的uid

-g 查看用户的gid

-G 查看用户的所有组id

-n 用名称代替id号,要配合-ugG使用

9d5cecbfeb49077cb6f39c3d47a0aacb.png

分别查看用户的uid,组id,附加组id,配合-n使用显示对应的名称(图中为kiosk)

11.切换用户

su- a 切换至a用户

注:

1.-表示切换用户的同时切换环境。

2.高级用户切换低级用户不用密码,低级向高级或平级切换需要密码。

3.每切换一次用户都会在对应用户进程中打开一个shell

编辑完成后需要及时退出(exit或ctrl+d)

0e9a0840be9dabd88982cbc6f27a34fc.png

如图,kiosk用户切换至root时需输入密码,而root向较低级用户kiosk切换时无需

12.用户在系统中的存储方式

/etc/passwd 用户信息文件 用户名:密码:uid:gid:说明文字:家目录:配置文件

/etc/group 用户组信息文件 组名:组密码:组id:组成员

/etc/shadow 认证信息文件

/home/username 用户的家目录

f3ee7a5f0513b599f6e7d796f23c5a0c.png

如图,为存储的用户信息

13.用户管理命令

userdel a 删除用户a

-r 删除用户所有信息

useradd a 添加用户a

-u 88 指定用户uid为88

-g 55 指定用户gid为55,55组必须存在

-G 55 指定用户附加组id,55组必须存在

-d h 指定用户的家目录名为h

-c ha 指定用户的说明文字为ha

-s bin/bash 指定用户的登陆配置文件为bin/bash

groupadd a 建立用户组a

-g 88 建立用户组并指定用户组id为88

groupdel a 删除用户组a

usermod

usermod -l b a 将用户a的名称改为b

usermod -u b a 将用户a的uid改为b

usermod -g b a 将用户a的gid改为b

usermod -G b a 将用户a的附加组改为b

usermod -G "" a 删除用户a的所有附加组

usermod -c ha a 将用户a的说明文字改为ha

usermod -md /jia a 将用户a的家目录改为jia

usermod -s /sbin/nologin a 更改用户a的shell

usermod -L a 冻结用户

usermod -U a 解锁用户

aa9c7177b564eedc74b44a8c3f4180d3.png

建立uid为88,说明文字为haha的用户liuyu

228dba1bc55c6302010c1e876c66af82.png

递归删除用户liuyu的所有信息

73e95fce14a927b93a09715610d8a189.png

root用户冻结用户liuyu,普通用户kiosk无法切换至liuyu,liuyu无法登入

14.用户认证信息

/etc/shadow

共有9列

用户名称:用户密码:用户密码最后一次被更改的时间:密码最短有效期:密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列

15.用户密码

passwd a 更改a用户密码

passwd -l a 加锁a用户的密码

passwd -e a 更改用户最后一次修改用户的时间为0,强制用户a修改密码

passwd -u a 解锁a用户的密码

passwd -d a 清空a用户的密码

passwd -n 1 a a用户在1天之内不能修改密码

chage -E 2018-09-23 a a用户在2018年9月23日到期

18e29cb7045d1d759a013d1bf6dcf062.png

root修改用户kiosk密码

227ee11b053226910c7b5ea5e17512ac.png

root用户设置liuyu在1天内不能修改密码,用户liuyu暂时无法更改。

##文件权限##

16.文件权限存在的意义

系统最底层安全设定方式之一

保证文件可以被相应的用户做相应的操作

17.文件权限的查看

ls -l a(A) 列表显示a文件(A目录中所有文件)的属性

ls -ld A 列表显示A目录本身的属性

ll a(A) 列表显示a文件(A目录中所有文件)的属性

ll -d A 列表显示A目录本身的属性

59d9f6d4d7eb4f77311b4fa6eae2571f.png

ls -l显示当前目录中的文件属性ll等效,ls -ld显示目录file本身属性ll -d等效。

18.读取文件权限信息

- | rw-rw-r-- | 1 | kiosk | group | 4189 | Sep 23 22:21| 0923

1 2 3 4 5 6 7 8

1文件类型

- 空文件或者文本

d 目录

l 软链接(类比windows环境下的快捷方式)

s socket套接字(类比模块的接口)

b block块设备

c 字符设备

2权限

1-3:文件所有者的权限

4-6:文件所有者所在组其他成员的权限

7-9:文件所有者所在组之外,其他人的权限

3

文件:文件的硬链接个数(文件内容被记录的次数)

目录:目录中子目录的个数

4文件的所有者

文件的所有者为kiosk

5文件所有者所在的初始组

文件所有人所在的初始组为group

6

文件:文件的大小

目录:目录中字文件元数据大小(即文件的基础属性)

注:其中文件名称每字符占一个字节

7文件内容最后被修改的时间

8文件名称

19.修改所有人和所有组

(a已存在的用户名 A已存在的用户组名 b要修改的文件名 B需要修改的目录名)

chown a b(B) 修改文件b(目录B)的所有者为a

chown a.A b(B) 修改文件b(目录B)的所有者为a所有组为A

chown -R a.A B 修改目录B及其中所有文件的所有者为a所有组为A

chgrp A b(B) 修改文件b(目录B)的所有组为A

chgrp -R A B 修改目录B及其中所有文件的所有组为A

##文件的权限##

@权限的理解

r: 对文件:是否可以查看文件中内容

对目录:是否可以查看目录中有什么子文件或子目录

w: 对文件:是否可以改变文件里面记录的字符

对目录:是否可以对目录中子目录或子文件元数据进行更改

x: 对文件:是否可以通过文件名称调用文件内记录的程序

对目录:是否可以进入目录

@更改方式

chmod a(A)

chmod u+x a(A) 给a文件(A目录)的所有者添加执行权限

chmod g-r a(A) 给a文件(A目录)的所在组成员删去读权限

chmod o=rwx a(A) 给a文件(A目录)的其他成员添加读/写/执行权限

chmod 421 a(A) 给a文件(A目录)的所有者添加r所在组添加w其他添加x

注:对于文件而言最危险的权限为x。(二进制代码文件运行需要执行权限)

对于目录而言最危险的权限为w。(对目录拥有写权限意味可以随意删除)

系统默认不添加危险的权限。rwx分别对应421即(7表示rwx,5表示-wx,1表示--x)

d178324314838462f071aff21f139ea8.png

练习

c385b16edd668b5383bbd5f1b21ac3c7.png

创建规定组

7721a207982d89f8a01416e73b24fbce.png

tom附加组为shengchan,harry附加组为caiwu,leo附加组为jishu 。

e87b987d3f645d1f0885f79b8d2735d9.png

修改权限,仅shengchan组成员能写入sc,caiwu组成员能写入cw

791746ba028669424bfb5f09aa4fbe8d.png

如图,经测试leo能写入/pub,tom能写入/pub和/sc,harry能写入/pub和/cw,功能实现。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值