一、vi和Vim编辑器。
二、关机&重启命令。
三、用户的登录和注销。
四、用户管理
- 添加用户
- 删除用户
- 查询用户信息
- 用户切换
- 组的管理
- 用户和组的配置文件
一、vi和Vim编辑器
介绍
- 所有的llinux系统都会内建vi文本编辑器。
- Vim具有程序编辑的能力,可以看作是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完,编译及错误跳转等方便编程的功能特别丰富。
- vi和Vim的三种模式:
- 正常模式:
当我们以vi或者vim直接打开文档,就进入了正常模式。在正常模式下,可以使用快捷键(上下左右移动光标,删除,删除整行,复制,粘贴)
- 插入模式/编辑模式:
在这个模式下程序员可以输入内容。
按下i,I,o,O,a,A,r,R等任意一个字母,才能进入编辑模式,一般来说,按i即可
- 命令行模式:
这个模式中,可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行号等。
- 快速入门案例
- 用vim开发一个Hello.java
打开XShell远程操控系统,输入vim Hello.java回车
现在进入到了正常模式,我们想写入java代码,所有要进入到编辑模式,我们按下i
显示这个表示已经进入到插入模式,我们写入java代码
之后再按ESC切换到正常模式,按’:'进入命令行模式,输入wq,保存并退出,按ll查看当前目录下所有文件和目录,可以看到多了一个Hello.java文件
vi和vim的三种模式相互转换图:
说明:q!是强制退出,就是修改之后不保存就退出。
- 快捷键的使用案例
为了方便距离,我们先创建一个文件,命名为ok.java,附上文件中的内容
- 复制当前行(在正常模式下输入yy)并粘贴(在正常模式下输入p),复制当前行下的5行(在正常模式下输入5yy)并粘贴(在正常模式下输入p)
在对应的行上点击一下,在按ESC回到最初模式,按yy,之后再按一下p就粘贴成功了,按几次p就会粘贴几次,我们这里复制ok600那行:
光标移到到第一行,按5yy,之后再按p
- 删除当前行(在正常模式下输入dd),删除当前行下的五行(在正常模式下输入5dd)
在正常模式下输入dd删除了第六行:
- 在文件中查找某个单词[命令行下/关键字,回车查找第一个,按n查找之后的]
- 先向文件中添加两个hello,之后再进行查找
查找成功
- 设置文件行号和取消文件行号,[命令行下:set nu和set nonu]
命令行下输入set nu:
命令行下输入set nonu:
- 编辑/etc/profile,使用快捷键让光标到文档的最末行[G]和最顶行[gg](光标移动是在正常模式下的命令)
- 在文件下输入hello,接着撤销这个动作(在正常模式下输入u)
- 编辑/etc/proflile,将光标移动到第20行,将光标移动到指定的行(正常模式下shift+g)
- 第一步:显示行号:set nu
- 第二部:输入20这个数(正常模式下)
- 第三部:输入shift(正常模式
- 光标移动成功
- vim和vi快捷键键盘示意图:
二、关机&重启命令
- shutdown
- shutdown -h now:立即关机
- shutdown -h 1:一分钟后关机
- shutdown -r now :立即重启
- halt:关机,与上面的效果一样
- reboot:重启系统,与上面的效果一样
- sync:把内存数据同步到磁盘上(关机前必须同步一下为被保存的文件)
三、用户的登录和注销
- 登录时,尽量少用root账户登录,因为它是系统管理员,权限太高。为了避免操作失误,可以利用普通账户登录,登录后再用“su -用户名”来切换成系统管理员的身份。
- 太提示符下输入logout即可注销用户
由于我们本来就是用root账户登录的,所以我们先注销root用户
注销成功
四、用户管理
- linux用户管理示意图:
- linux是一个多任务多用户的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员(root)申请一个账号,之后以这个账号的身份进入系统。
- linux的用户至少要属于一个组
- 添加用户:
useradd [选项] 用户名
实际案例:
我们发现在运行命令之后,home下一个与用户同名的目录被创建。
接下来我们修改这个新账户的密码
更新成功,我们尝试登陆这个用户
登陆成功
- 当用户创建成功时,会自动在家目录下创建一个同名的目录。
- 也可以指定目录:useradd -d 指定目录 新的用户名
- 给用户指定或者修改密码:passwd 用户名
- 删除用户:userdel 用户名
- 删除用户
两种方式:
- 删除用户,但是那个用户的家目录不删
- userdel 用户名
- 删除用户的同时删除家目录
- userdel -r 用户名
注意:在删除用户时,我们一般不会将家目录删除掉。
- 查询用户信息
命令:d 用户名
现在我们查询root的信息:
- 用户切换
- 从高权限用户切换到低权限用户不需要输入密码。
可以看到当我们切换到高权限用户的时候让我们输入密码,而从高权限用户切换到低权限用户就没有让我们输入密码,之后输入exit回到最初的用户。
若我们相纸的当前是在哪个用户里,可以输入whoami/who am i:
- 组的管理
- 用户组:类似于角色,系统可以对于有共性的多个用户进行统一管理。比如公司里,研发组,测试组等。
- 新增组:groupadd 组名
从上面可以看到只有root用户才能创建组- 删除组:groupdel 组名
- 增加用户时直接指定这个用户在哪个组:useradd -g 用户组 用户名
- 若没有指定组,则在创建用户的时候,就会自动创建组名与用户名相同的组,并把用户放进去。
- 可以看到,zwj就被归属到了wudang这个组里。
- 修改用户的组(把用户从一个组移动到另一个组)
usermod -g shaolin zwj
- 可以看到,zwj已经移动到shaolin组了。
- 用户和组的配置文件
用户配置文件(用户信息):/etc/passwd
组信息配置文件(组信息):etc/group
口令配置文件(密码和登录信息,是加密的):/etc/shadow
- 我们看看/etc/passwd文件:
第1个zwj是用户名,第2个x是加密之后的密码,第3个501是用户的id,第4个502是所在组的id,第5个是家目录,第6个是对应的shell