<0>.vim 编辑器
(1).普通模式:浏览文件,不可以编辑,只能浏览
(2)插入模式:对文件进行编辑
i 在光标所在位置插入 I 在光标所在行行首插入
a 在光标下一位置插入 A 在光标所在行行尾插入
o 在光标所在行下一行插入 O 在光标所在行上一行插入
s 删除光标所在字符进行插入 S 删除光标所在行进行插入
(3)命令模式:临时更改vim的工作方式,对字符进行批量操作 p--->粘贴 u--->撤销 ctrl+r--->恢复撤销
- 调整vim的文件设置
:set nu ---> 设置行号
:set nonu ---> 取消行号
:set cursorline ---> 设置行线标识
:set mouse=a ---> 添加鼠标选择
注意:以上设置均为临时设置,永久生效需要修改vim配置文件/etc/vimrc
2).字符搜索
/关键字 n向下匹配 N向上匹配
3).字符的管理
(n)字母 (n)单词 (n)行 所有文件 结束
字符的复制:y(n)l y(n)w y(n)y yG 复制完成后按“P”粘贴
字符的删除:d(n)l d(n)w d(n)d dG ------
字符的剪切:c(n)l c(n)w c(n)c cG 剪切之后vim会进入插入模式,要粘贴需要按[esc]退出插入模式,然后按p粘贴
4).vim的可视化模式 ----> ----> I
v ---> 字符可视化
V ---> 行可视化
ctrl+v ---> 块可视化 (ctrl+v 批量选择字符; ctrl+v 选中要加入的字符所在的列 ;按大写的(I)键进入插入模式; 按[esc]结束)
5).字符的替换
:%s/要替换的字符/替换成的字符/g g--->表示全局变量 eg::%s/westos/redhat/g
:1,5s/westos/redhat/g -----> 将1到5行的westos改变成redahat
:%s/原有字符/替换后字符 -----> 只替换每一行中出现的第一个原有字符
6).vim 的分屏功能
ctrl+w s --->上下分屏 ctrl+w v ---> 左右分屏 ctrl+w c ---> 关闭光标所在的屏幕
ctrl+w 上下左右 ---> 光标移动到指定屏幕 :sp file2 ---> 同时编辑当前文件和file2
7).在命令模式下光标的移动
gg ----> 光标移动到文件的第一行 ; G ----> 光标移动到文件的最后
8).vim的退出
vimtutor--------> vim的手册
:q ---> 退出不保存,在文件内容没有改变时使用 :wq ---> 退出保存
:q! ---> 强制退出不保存,在改变文件后不想保存时使用 :wq! ---> 强制退出保存,在对只读文件编辑时使用;
注意:所编辑的只读文件必须是当前用户的文件(root除外)
<1>.图形编辑器gedit
crtl+n //新建窗口 ctrl+s //保存文件 ctrl+o //打开文件
ctrl+x //剪切 ctrl+v //粘贴 ctrl+c //复制
对于giedit软件帮助的查看可以用yelp help:gedit
<2>.用户管理(id)
1查看当前用户 whoami
2系统中用户的查看
id username ---> 查看指定用户的id所有信息 id -u username ---> 查看用户的uid
id -g username ---> 查看用户的gid id -G username ---> 查看那用户的所有组id
id -n username ---> 显示名字而不是id数字
注意:-n 的使用必须和 -u|g|G 一起连接使用 eg:id -nu username
<3>.切换用户(su)
su - 用户名称
su - 中“-”表示用户身份切换时同时切换当前用户环境
su - 执行高级用户切换到低级用户时不需要密码,低级用户切换到高级用户需要密码,平级用户切换也需要
注意 : 每次su切换到其他用户操作完成之后退出,在切换到另外用户操作 退出--->exit | ctrl+d
<4>.用户在系统中的储存方式
/etc/passwd ---> 用户信息文件 root : x : 0 : 0 : root :/root:/bin/bash
用户名称:用户密码:uid:gid:说明文字:家目录:默认shell
/etc/group ---> 用户组信息 mail: x : 12 :postfix
组名:组密码:组id:组成员
/etc/shadow ---> 认证信息文件 (共9列)
用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列
/etc/gshadow ---> 组认证信息
是/etc/group的加密信息文件
/home/username ---> 用户的家目录
<5>.用户管理命令 (useradd;userdel;usermod;groupadd;groupdel)
用户和用户组的监控命令 ---> watch -n 'tail -n 3 /etc/passwd /etc/group;ls -l /home/'
1).用户的建立 ( useradd )
useradd -u 8888 username ---> 创建新用户并且指定用户的id--->8888
useradd -g 21 username ---> 创建新用户并且指定用户的初始组id--->21,“21”用户组必须是已经存在的
useradd -G 21 username ---> 创建新用户并且指定用户的附加组id--->21,“21”用户组必须是已经存在的
useradd -c “hello” username ---> 创建新用户并且指定用户的说明
useradd -d /home/lee username ---> 创建新用户并且指定用户的家目录
useradd -s /sbin/nologin username ---> 创建新用户并且指定用户的默认shell ; /etc/shells记录了用户能使用shell的名字
eg: useradd -u 2341 -g 21 -G 21 -c "xiao li zi" -d /home/lee -s /bin/bash xiao
2).用户的删除 ( userdel )
userdel username ---> 删除已经存在的用户但不删除用户的配置信息
userdel -r username ---> 删除已经存在的用户并且删除用户的配置信息
3).更改用户信息 ( usermod )
usermod -l new_username old_username 更改用户的名称
usermod -u 7865 old_username 更改用户的uid
usermod -g 78 old _username 更改用户的初始组
usermod -G 78 old _username 更改用户的附加组
usermod -aG 78 old _username 添加用户的附加组
usermod -G "" old_username 删除用户的所有附加组
usermod -c "li_zi" old_username 指定用户的说明文字
usermod -md /home/lee old _username 更改用户的家目录
usermod -s /sbin/nologin old_username 更改用户的shell
usermod -L old_username 冻结用户,将不能登陆成功
usernod -U old_username 解锁用户,将可以登陆
4).用户组的建立 ( groupadd )
groupadd new_group_name ---> 创建新用户组
groupadd -g 344 new_group_name ---> 创建新用户组并且指定用户组的组id--->344
5).用户组的删除 ( groupdel )
groupdel old_group_name ---> 删除用户组
<6>.用户密码(passwd)
监控passwd密码信息 -----> watch -n 1 passwd -S student
命令 参数 用户名称
passwd student ---> 更改用户密码
passwd -S student ---> 用户密码信息
passwd -l student ---> 锁定密码,普通用户不能登陆帐号,root用户可以切换过去
passwd -u student ---> 解锁密码,普通用户可以登陆帐号
passwd -e student ---> 用户密码最短有效期限为0;用户在登陆时会被强制要求修改密码
passwd -n 1 student ---> 设定密码最短有效期为一天,一天之内不能更改密码
passwd -x 30 student ---> 设定密码最长有效期为三十天,三十天之后必须更改密码
passwd -w 3 student ---> 警告期-->密码在过期前两天有警告输出
passwd -i 2 student ---> 设定用户非活跃天数-->密码在过期后仍可以登陆系统的天数
passwd -d student ---> 清除用户密码
chage -E 2018-09-23(日期) username ----> 用户在2018-09-23日到期,到期之后用户将不能登陆
注意: 普通用户改密码时必须知道当前永久原始密码; 密码不能个帐号名称相似;
密码不能是纯数字; 密码不能是有序的字母和数字的组合
<7>.文件权限
文件的监控: watch -n 1 ls -lR /mnt 监控目录/mnt里面的文件或者目录的变化,一秒更新一次
1).文件权限存在的意义
系统最底层安全设定方式之一; 保证文件可以被相应的用户做相应的操作;linux中一切皆文件;
2).文件权限的查看
ls -l file 查看文件的权限 ls -ld dir 查看目录的权限
ll file 查看文件的权限 ll -d dir 查看目录的权限
3).文件权限的读取
d | rwxrwxr-x. | 4 | kiosk | kiosk | 32 | Sep 23 16:56 | linux
- | rwxrwxr-x. | 1 | kiosk | kiosk |287 | Sep 21 18:43 | rht-view-desktop.desktop
[1] [2] [3] [4] [5] [6] [7] [8]
[1]:文件类型
-: 空文件,或者空文本 d: 目录 l: 软链接
s: socket套接字 b:block快设备 c:字符设备
[2]:rwx | rwx | r-x.
(1) (2) (3)
(1):[u]---> 文件拥有者对文件能做什么操作 (2):[g]---> 文件所属组对文件做什么操作 (3):[o]---> 其它人对文件做什么操作
[3]:4
对文件:文件硬链接个数(文件内容被记录的次数)
对目录:目录中子目录的个数(不是文件)
[4]:kiosk
文件所有人
[5]:kiosk
文件所有组
[6]:287
对文件:文件大小
对目录:目录中字文件源数据大小
[7]:Sep 23 16:56
文件内容被修改的时间
[8]:linux
文件名称
<8>.如何修改文件的所有人个所有组 ( chown | chgrp )
文件的监控: watch -n 1 ls -lR /mnt
chown user file|dir 更改文件或者目录的所有人
chown user.group file|dir 更改文件或者目录的所有人和文件所在组
chown -R user.group dir 递归更改目录的所有人和文件所在组
chgrp group file|dir 更改文件或者目录的文件所在组
chgrp -R group dir 递归更改目录的文件所在组
<9>.如何修改文件的权限
文件的监控: watch -n 1 ls -lR /mnt
1).对权限的理解
r : 对文件---> 是否可以查看文件中的内容-->cat
对目录---> 是否可以查看目录中有什么子文件或子目录-->ls
w : 对文件---> 是否可以改变文件里面记录的字符-->vim; gedit
对目录---> 是否可以对目录中子目录或者子文件源数据进行更改-->touch;mkdir;rm
x : 对文件---> 是否可以通过文件名称调用文件内记录的程序
对目录---> 是否可以进入目录-->cd
2).更改方式
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir
chmod u-x file1 --->file1拥有者去掉x权限
chmod g+w file1 --->file1拥有组添加w权限
chmod u-x,g+w file1 --->file1拥有者去掉x权,file1拥有组添加w权限
chmod ugo-r file2 --->file2的用户组其他人去掉r权限
chmod ug+x,o-r file3 --->file3用户和组添加x权限,其他人去掉r权限
chmod ug+x,o+wx file3 --->file3用户和组添加x权限,其他人加上wx权限
chmod u=rwx,o=rw- file3 --->file3用户拥有rwx权限,其他人拥有rw-权限
3).数字方式修改该文件权限(chmod)
在linux中 r=4 w=2 x=1
文件权限数字表示方式 rw-|r--|r--
u g o
u=rw-=4+2+0=6 g=r--=4+0+0=4 o=r--=4+0+0=4
所以文件权限表示为644
文件中权限用数字表示
7=rwx 6=rw- 5=r-x 4=r-- 3=-wx 2=-w- 1=--x 0=---
chmod 修改后权限值 file
chmod 777 file