一 Vim
安装:
yum install vim -y
三种模式 : 普通模式、编辑模式、命令模式
VIM模式三种模式介绍
1.普通模式: 主要是控制光标移动,可对文本进行复制、粘贴、删除等工作。
使用vim filename 编辑一个文件时,一进入该文件就是普通模式了。
在这个模式下,可以进行光标移动、复制、删除、粘贴操作。
2.编辑模式: 主要进行文本内容编辑和修改
从普通模式进入编辑模式,只需你按一个键即可(i, I, a, A, o, O)
当进入编辑模式时,会在屏幕的最下一行会出现 “INSERT”标记
从编辑模式回到普通模式只需要按键盘左上方的 ESC 键即可。
3.末行模式: 主要用于保存或退出文本。
在普通模式下,输入 “:” 或者 “/“ 即可进入命令模式。
在命令该模式下,可进行的操作有,显示行号、搜索、替换、保存、退出。
小结: vim编辑打开文件整体流程如下:
1.默认打开文件处于普通模式
2.从普通模式切换至编辑模式需要使用a、i、o
3.编辑模式修改完毕后需要先使用ECS返回普通模式
4.在普通模式输入”:”或”/“进入命令模式,可实现文件的保存与退出。
PS: 在vim中,无法直接从编辑模式切换到命令模式。
普通模式 :
1.命令光标跳转
G #光标跳转至末端
gg #光标跳转至顶端
Ngg #光标跳转至当前文件内的N行
$ #光标跳转至当前光标所在行的尾部
^或者0 #光标跳转至当前光标所在行的首部
2.文件内容较多
ctrl+f #往下翻页(行比较多)
ctrl+b #往上翻页
3.复制与粘贴
yy #复制当前光标所在的行
5yy #复制当前光标以及光标向下4行
p(小写) #粘贴至当前光标下一行
P(大写) #粘贴至当前光标上一行
4.删除、剪贴、撤销
dd #删除当前光标所在的行
4dd #删除当前光标所在的行以及往下的3行
dG #删除当前光标以后的所有行
D #删除当前光标及光标以后的内容
x #删除当前光标标记往后的字符
X #删除当前光标标记往前的字符
dd & p #剪贴、先删除dd(number dd),后粘贴p
u #撤销上一次的操作
5.替换
r #替换当前光标标记的单个字符
R #进入REPLACE模式, 连续替换,ESC结束
编辑模式
i #进入编辑模式,光标不做任何操作
a #进入编辑模式,将当前光标往后一位
o #进入编辑模式,并在当前光标下添加一行空白内容
I #进入编辑模式,并且光标会跳转至本行的头部
A #进入编辑模式,将光标移动至本行的尾部
O #进入编辑模式,并在当前光标上添加一行空白内容
命令模式:主要用于搜索, 保存, 退出文件。
1.文件保存与退出
:w 保存当前状态
:w! 强制保存当前状态
:q 退出当前文档(文档必须保存才能退出)
:q! 强制退出文档不会修改当前内容
:wq 先保存,在退出
:wq! 强制保存并退出
:x 先保存,在退出
ZZ 保存退出, shfit+zz
:number 跳转至对应的行号
:set nu 显示行号
:set nonu 不显示行号
2.文件内容查找
/string #需要搜索的内容(查找)
n #按搜索到的内容依次往下进行查找
N #按搜索到的内容依次往上进行查找
3.文件内容替换
:1,5s#sbin#test#g #替换1-5行中包含sbin的内容为test
:1,5s#sbin#test# #只替换1-5行中第一个包含sbin的内容为test
:%s#sbin#test#g #替换整个文本文件中包含sbin的替换为test
:%s#sbin#test#gc #替换内容时时提示是否需要替换
4.文件内容另存
:w /root/test.txt #将所有内容另存为/root/test.txt文件中
5.文件内容读入
:r /etc/hosts #读入/etc/hosts文件至当前光标下面
:5r /etc/hosts #指定插入/etc/hosts文件至当前文件的第五行下面
视图模式
ctrl+v 进入可视块模式,选中需要注释的行
1.插入:按shift+i进入编辑模式,输入#,结束按ESC键
2.删除:选中内容后,按x或者d键删除
3.替换:选中需要替换的内容, 按下r键,然后输入替换后的内容
shift+v 进入可视行模式,选中整行内容
1.复制:选中行内容后按y键及可复制。
2.删除:选中行内容后按d键删除。
二 用户相关
1 id 查看当前用户信息
uid=0(root) gid=0(root) groups=0(root)
2 用户信息保存在 cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
3 密码存放路径 cat /etc/shadow
4 约定不同用户的uid属于某个范围(了解)
5 用户的增,删,改
-useradd(一个用户只能属于一个主组,属于多个附加组)
-groupadd sa 新增一个组
-groupadd sa1 新增一个组
-groupadd students 新增一个组
-useradd -u 5001 -g students -G sa,sa1 -c "2020 new student" -s /bin/bash lqz1
-创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
useradd mysql -M -s /sbin/nologin
-usermod
-usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx
-usermod -L change_bgx #锁定后会无法登陆系统
-usermod -U change_bgx
-userdel
-userdel egon # 删除用户,不删家目录
-userdel -r egon1 # 删除用户,删家目录
6 改密码
-passwd root
7 组增删改
-groupadd no_gid 新增组
-groupmod -g 1111 student 改组id号
-groupmod student -n new_student 改组名字
-groupdel new_student 删除组(组下没有人,把人删除,再删)
8 su 和sudo
-su 切换用户
-su - jack:打开新的shell,会加载自己的环境变量
-su jack:不打开新的shell,不会加载它的环境变量
-sudo 普通用户可以有一些超级用户的权限,不需要输入密码
usermod jack -G wheel # 把jack用户加入到了wheel组
-你这个用户没有权限,你尝试 sudo mkdir ll试一下,不行,超级管理员没有给你配这个权限
三 特殊权限:权限属性chattr
选项: + 增加权限 -减少权限 =等于某个权限
a:让文件或目录仅可追加内容
i:不得任意更动文件或目录
给某个文件或者文件夹加特殊权限
-chattr +i lqz.text
-chattr -i lqz.text
四 压缩解压
1 Windows的压缩包与Linux的压缩包能否互通
windwods:rar,zip
linux:tar.gz,zip互通,不支持rar
2 gzip (只能压一个文件,不能压文件夹,会把原来的删除)
-gzip file
-gzip -d file
-有什么用?
-cd /etc/yum.repos.d/
3 zip的压缩和解压
-yum install zip unzip -y
-zip filename.zip filename # 压单个文件
-zip -r home.zip /home/ #把home文件夹压缩
-unzip home.zip #解压
-unzip -l home.zip # 不解压,看内容
-unzip home.zip -d /opt/ # 把当前路径下的home.zip 解压到opt
4 tar打包与压缩
-tar -czf 文件 ---》tar.gz
-tar -xf xx.tar.gz --->解压xx.tar.gz
tar -xzvf xx.tar.gz :解压tar.gz,详细过程列出来
-tar -czf home.tar.gz dd/ lqz1 lqz2 /home/
-tar czf etc.tar.gz --exclude=etc/services etc/ # 排除文件
-tar xf /etc/local.tar.gz -C /tmp # -C指定解压到哪个路径
5 软件管理:rpm
1 红帽的软件安装包(windows的:exe,mis)
2 mount /dev/cdrom /mnt 把光盘挂在到 /mnt文件夹
3 Linux中除了rpm安装软件,是否还有安装软件方式
-源码安装-->官网下源码--》编译安装---》最新
-rpm包,预先编译打包,安装简单,yum安装,本质就是rmp安装--》稍微老一些
-二进制包:绿色包
-安装rpm的软件:rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
-强制安装:rpm -ivh --force /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm
-rpm -q :查看这个软件是否安装********
-rpm -qa |grep tr :列出所有安装的软件
-rpm -ql :查询指定软件包所安装的目录、文件列表rpm -ql unzip *****
-rpm -qc unzip:查看这个软件的配置文件位置
-rpm -qf /etc/pam.d/vsftpd :查看配置文件属于哪个软件
-rpm -qlp trace-cmd-2.6.0-10.el7.x86_64.rpm :查看该软件包安装后会释放哪些文件
-使用远程地址安装:rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.8-2.el7.x86_64.rpm
-rpm -Uivh 升级软件需要用 U
-rpm -e zabbix-agent
6 yum仓库,源
1 Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装
2 cd /etc/yum.repos.d/ 路径下有xx.repo 文件---》yum源
3 换阿里云的源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
4 配置其他源
-wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
-yum install nginx
-yum provides ipconfig # 通过命令查软件,这个命令属于哪个软件
-rpm -qf `which ifconfig` # 查命令属于哪个软件,前提是该软件安装了