Linux常用命令2
1、VIM文本编辑器
- VI编辑器 - 概述
- Visual Interface
- 可视化接口
- 类似Windows中的记事本
- VI相对于记事本强大的不是一星半点
- VI -> VIM
- VIM相对于VI做了哪些提升
- VIM支持多级撤销
- VIM可以跨平台运行
- VIM支持语法高亮
- VIM支持图形界面
- VI编辑器的操作模式
- Command Model - 命令模式
-> 通过键盘的Esc切换
-> 命令模式常用指令
h 光标左移
j 光标下移
k 光标上移
l 光标右移
ctrl + f 向下翻页(front)
ctrl + b 向上翻页(back)
ctrl + d 向下翻半页(down)
ctrl + u 向上翻半页(up)
dd 删除光标所在行
o 在光标所在行的下方插入一行并切换到输入模式
yy 复制光标所在的行
p 在光标所在行的下方粘贴
P 在光标所在行的上方粘贴
-> 调用命令格式
vim + abc 编辑abc文件,光标定位到最后一行
vim +3 abc 编辑abc文件,光标定位到第三行
vim +/imooc abc 编辑abc文件,光标定位到imooc第一次出现的行,按n跳到下一次出现的位置
vim aa bb cc 同时编辑aa、bb、cc三个文件,按:n跳到下一个文件,:N跳到上一个文件,:prev跳到上一个文件
- Insert Mode - 输入模式
-> 通过键盘 i 切换
- Last Line Mode - 底行模式(尾行,末行)
-> 通过键盘的Esc切换
-> 底行模式常用指令
:w 将文件的修改从内存写入硬盘中,也就是执行保存修改的过程
:q 退出当前VIM打开的文件
:! 强制执行
:ls 列出当前编辑期打开所有文件
:n 切换到后一个文件
:N 切换到上一个文件
:prev 切换到上一个文件
:15 光标快速定位到第15行
/xxx 光标位置开始,向后搜索xxx出现的第一个位置
?xxx 光标位置开始,向前搜索xxx出现的第一个位置
2、磁盘管理
- df [选项] 查看磁盘分区使用状况
-l 仅显示本地磁盘(默认)
-a 显示所有文件系统的磁盘使用情况,包含比如/proc/
-h 以1024进制计算最合适的单位显示磁盘容量
-H 以1000进制计算最合适的单位显示磁盘容量
-T 显示磁盘分区类型
-t 显示指定类型文件系统的磁盘分区
-x 不显示指定类型文件系统的磁盘分区
- du [选项] 统计磁盘上的文件大小
-b 以byte为单位统计文件
-k 以KB为单位统计文件
-m 以MB为单位统计文件
-h 按照1024进制以最适合的单位统计文件
-H 按照1000进制以最适合的单位统计文件
-s 指定统计目标
3、用户管理
- 用户和用户组
-> 用户:使用操作系统的人
-> 用户组:具有相同系统权限的一组用户
-> /etc/group 存储当前系统中所有用户组信息
- Group: x : 123 : abc,def,xyz
- 组名称: 组密码占位符: 组编号: 组中用户名列表(为空,可能是只有一个用户且用户与组名一样)
注:组编号:
1、超级管理员root组号一定是0
2、组号1-499是系统预留的组编号(预留给安装在这个系统的软件服务的)
3、用户手动创建的组编号一般是从500开始的
4、 组密码占位符都是x
-> /etc/gshadow 存储当前系统中用户组的密码信息
- Group: * : : abc,def,xyz
- 组名称: 组密码 : 组管理者 : 组中用户名列表(为空,可能是只有一个用户且用户与组名一样)
注:组密码如果为空或者*或者!,表示组密码是空;组管理者为空,表示组内所有用户都能管理这个用户组。
-> /etc/passwd 存储当前系统中所有用户的信息
- user : x : 123 : 456 : xxxxxxxxx :/home/user:/bin/bash
用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型
注:超级管理员用户编号是0
-> /etc/shadow 存储当前系统中所有用户的密码信息
- user : vf;/Zu8sd :::::
用户名: 密码 :::::
- 用户和用户组基本命令
-> 用户组命令
groupadd sexy //添加一个sexy用户组
groupmod -n market sexy //修改sexy用户组的名称为market
groupmod -g 668 market //修改market用户组的编号
groupadd -g 888 boss //创建用户组boss的同时指定用户组编号
groupdel market //删除用户组
-> 用户命令
useradd -g sexy sdf //创建用户sdf 并添加sexy用户组
useradd -g sexy jzmb
useradd -d /home/xxx imooc //创建用户imooc 指定用户目录为/home/xxx
usermod -c dgdzmx sdf //给用户sdf添加注释
usermod -l cls sdf //将用户sdf注销 并将所有内容给新用户cls
usermod -d /home/cls cls //给用户指定目录
usermod -g sexy imooc //改变用户imooc的所在组
userdel jzmb //删除用户,不会删除用户家目录
userdel -r jzmb //删除用户,连同家目录一起删除
-> 补充
没有指定情况下:会创建和用户名相同的用户组
除了root用户,其他用户禁止登陆
在/etc目录下只要有nologin文件就可以,因此如下:touch /etc/nologin
解除此限制,删除nologin文件!
- 用户和用户组进阶命令
-> 用户进阶命令
passwd cls //修改用户cls的密码
passwd -l cls //锁定用户cls
passwd -u cls //解锁用户cls
passwd -d cls //清除密码
useradd -g 主要组名 用户名 -G 附属组名,附属组名2 //建立用户时指定用户的主要组和附属组
-> 用户组进阶命令
gpasswd -a cls 组1,组2 //指定用户cls的附属组
gpasswd -d cls 组1 //删除用户附属组
-> 补充
一个用户可以有一个主要组,多个附属组
用户创建的文件会保存在主要组的目录;
如果要保存在附属组目录下,需要暂时切换主要组:newgrp 附属组(此时需要输入组密码)
更改组密码:gpasswd 组名
- 用户管理其他命令
su username //切换用户(用户名省略时进入root)
whoami //我是谁?显示当前登陆用户名
id imooc //显示指定用户信息,包括用户编号、用户名、主要组编号及名称,附属组列表
groups imooc //显示imooc用户所在的所有组,包括主要组和附属组
chfn imooc //设置用户资料,依次输入用户资料
finger imooc //显示用户详细资料