5vim文本编辑器
5.1 文本编辑器Vim-Vim常用操作
1命令模式
默认是命令模式
2插入模式:
从命令模式进入插入模式:a i o
我们要在girl后面插入一个字母,按下a
按大写的A,无论光标在哪里,都会跳到这行的末尾进行插入
要想在光标所在字符前 插入,光标移到s,按下i
大写的I,行首
o光标的下一行
O光标的上一行
注意:以上的所有操作都必须实在命令模式下操作的,按下esc回到命令模式
3定位命令
:set nu给文件标上行号
:set nonu取消行号
标记行号后按gg到第一行
G到最后一行
按821G或者:821就821行
在编辑某一行时,就按下$到行首
4删除命令
5复制和剪切命令
6替换和取消命令
7搜索和搜索替换命令
我们想查找与ftp相关的行,用/加上ftp
n找下一个
8保存和退出命令
把写权限去掉
这时候编辑
还还以做更改
但是保存不了,wq!可以强制保存,但是只针对于root和所有者
总结:
5.2 文本编辑器Vim-Vim使用技巧
1导入命令执行结果
那么就会将/etc/issue文件里的内容导入到光标所在的位置
导入时间
2定义快捷键
需要在编辑文件或脚本时,配置文件
1 光标移到行首2i跳入插入模式3输入#4回到命令模式 非常麻烦
我们可以用快捷键的形式执行这样的操作
按enter即刻到了光标所在行的行首
删除这个注释符号
这时你就只需要按一个ctrl+h就可以插入邮箱了
3注释连续行
去掉连续行的注释
把行首的注释去掉
有的语言里面使用//当做注释,那么就需要在每个/前面加上转义符
4替换
回车
但是这样的话重启后就会丢失
所以需要写入用户的宿主文件中
这样就会永久有效,打开任何一个文件它就会有上面的这些设置
是在.vimrc这个文件下面
6软件包管理
6.1 软件包管理-简介
源码包:把源代码直接开放的代码包,linux是c语言写的
安装比较慢、容易出错 编译的时间比较慢、需要手动安装
脚本安装包:不需要手动安装,这种包不多
二进制包:把源代码经过编译的0101 .rpm包
安装快、但是看不到源代码了
windows中的包都是这种
6.2.1 软件包管理-rpm命令管理-包命名与依赖性
rpm是给管理员看的
装软件包a需要你装b,装b需要装c
装的话,顺序c,b,a
删除的话.顺序a,b,c
环形依赖
把a,b,c同时装
模块依赖
光盘挂载
好几千个rpm包
我们来安装一个包,需要依赖包libodbcinst.so.2
但是没有补全,以数字结尾,说明这个是一个库文件,我们需要把包含这个库文件的软件给安上
去www.rpmfind,net上找
6.2.2 软件包管理-rpm命令管理-安装升级与卸载
安装、更新
查询、卸载
所有的rpm包都在光盘当中,首先我们确定一下光盘是否挂载
进到package中
然后ls
接下来我们安装apache
我们不记得版本之类的,只要按下tab键
依赖库文件,去网站上找到
如果忘了还有什么依赖的包,那么就再装一下apche看一下还有什么要依赖的包
这样apache主包就装好了
接下来安装副包
依赖的包实现太多了!!到此为止,这就是手动安装的坏处
与安装差不多,把-i换成-U
这里跟的是报名
-e
卸载apache,即a
6.2.3 软件包管理-rpm命令管理-查询
查询是很常用的
会列出与apache相关的包
可以查询未安装包的信息
6.2.4 软件包管理-rpm命令管理-校验和文件提取
是否做了修改
没有做修改
我们修改试试
做一些修改 index.php
这个包中的这个文件做了修改
做了误操作后,不需要把这个文件系统都给安装一遍,所以可以提取出那个包然后修复
6.3.1 软件包管理-RPM包管理-yum在线管理-IP地址配置和网络yum源
rpm命令安装的缺点:依赖性
yum在线安装是你要安装什么,它就会去网址上直接下载同时把它的依赖包也下载好
yum不是必须上网,也可以本地光盘。
虽然之前远程登录时,我们也配了ip地址
这种方式不是永久的,是临时生效,一旦重启LINUX,这个ip就消失了
而且这种方式只能配置ip地址和子网掩码,如果我想上公网,还需要网关和DNS,虽然内容只需要ip和子网掩码。
如何可以真正的配置ip。
利用setup,是窗口模式的
按空格把星号去掉
要想让它生效,就需要重启网络服务或者重启Linux,还需要手动打开网卡命令。
国外地址比较慢,在国内找镜像
6.3.2 RPM包管理-yum在线管理-yum命令
yum里面只用包名
例:安装gcc,gcc是c语言编译器
如果你更新时没写包名,就会升级所有的包,包括内核。更新后要在本地配置才能使用。
a->b->c
卸载c.b.a
用yum卸载就把它所依赖的所有的包给卸载掉,尽量不卸载。
远程工具上是中文,但是linux上是英文的
6.3.3 RPM包管理-yum在线管理-光盘yum源
网络做yum源是默认的,而光盘是要设置的
打开虚拟机,放入光盘
已经挂载过了
不让这些配置源生效,可以进去把这四个的enable改为0或者改名就会失效
改动三项
上节课容器名称是base,现在是c6_media,即连接上了本地光盘
6.4.1 软件包管理-源码包管理-源码包与RPM包的区别
RPM包:默认安装路径
源码包:手动指定位置
两种启动方法
绝对路径+服务名称
方式二:简化了
红帽专有命令
service去自动去路径下找这些相关服务,但是service不能管理源码包
6.4.2 软件包管理-源码包管理-源码包安装过程
有了gcc编译器,才能用源码包下载
安装过程就是整个源代码编译的过程
把下载的安装包,传到linux中
需要使用远程传输工具
1
2
6.5 软件包管理-脚本安装包
ls进入
不推荐通过图形界面来管理linux
7用户管理
7.1.1 用户和用户组管理-用户配置文件-用户信息文件
用户名、密码标志、UID、GID、用户说明、家目录、shell
7.1.2 用户和用户组管理-用户配置文件-影子文件
passwd里面只有一位密码位x,而shawdow里面是保存用户真正的密码
9个字段
用户名、加密后的密码、最后一次修改日期、
加个!临时禁用用户
复杂性、时效性、易记性
如果把密码有效期改为90则90天必须修改密码
到83天时会提示你改密码
到了95天你还没改密码则会失效
7.1.3 用户和用户组管理-用户配置文件-组信息文件
每添加一个用户就会生成与这个用户相同名称的用户组
组密码用的并不多,只有root可以把用户添加到各个组。但是如果root太忙,就会选组长。
7.2 用户和用户组管理-用户管理相关文件
普通用户初始登录位置就是家,添加用户的时候自动生成家目录
超级用户初始登录后就是root
把普通用户改为超级用户,即把它的uid变为0。它的家目录并不会改变,只是它的权限改变了
每个用户都默认会在在这个位置创建一个邮箱
这时添加一个用户,它就会有警告文件。这是因为创建用户时是从模板文件中复制过来的。
7.3.1 用户和用户组管理-用户管理命令-useradd
在useradd添加一个用户后,干了这么多的事情。
7.3.2 用户和用户组管理-用户管理命令-passwd
普通用户就不能在passwd后面跟用户名了
密码修改时间、修改间隔、失效时间、警告时间、
它是怎么锁定的呢?
多了双感叹号,相当于把用户给失效。
7.3.3 用户和用户组管理-用户管理命令-usermod和chage
shadow
cat /etc/shadow
则lamp用户刚登陆就会启动修改密码的操作
7.3.4 用户和用户组管理-用户管理命令-userdel和su
家目录也消失了
skel
只要逐一修改这7个文件就可以了
删除user1这行
删除user1这行
删除user1这行
删除user1这行
这次可以添加成功了,说明删除成功了
用user1登陆,要切换成root
但是怎么识别出来是user1在登录呢?
su中间的-选项一定不能省
env
普通用户切换成超级用户需要密码、超级用户切换成普通用户不需要密码
其实还是user1用户,只是用root命令执行了一次操作
前提条件就是你得知道root的密码
7.4 用户和用户组管理-用户组管理命令
如果组中有用户。
有初始用户不能删除
没有lamp这个组,但是有lamp1这个组
有附加用户可以删除
上面是创建用户的时候把它填到某个组,现在若要把两个已经存在的用户填到某个组
手动修改可以么?可以
作为附加用户加入的
8权限管理
8.1.1 权限管理-ACL权限-简介与开启
分配目录。
所有者:读写执行
所属组:读写执行
770
试听:只给他读和执行的条件。
这样该如何分配这个试听人员的组?
加一个试听组,但是任何一个目录都只能有一个所属组。
可以放到其他人?也不行。
身份不够用,用ACL。
不再考虑身份,直接给相应的权限。
用户操作文件的权限。ka