文章目录
1. vim的使用
vim在哪里,属于那个包
which vim
>/usr/bin/vim
which vi
/usr/bin/vi
//rpm-redhat package manager
//-f<文件>+ 查询拥有指定文件的套件。
//-q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户
rpm -qf /usr/bin/vim //查看安装包 enhance
rpm -qf /usr/bin/vi //minimual
prm -qf `which yum`//结合版,使用反引号<tab上>。反引号的作用把输出当作前一条命令的输入。
//小技巧,查看一个命令是哪个软件包安装的
1.1 vim的四种模式
1.1.1 正常模式
首次进入文件
vim +行号 /etc/passwd //可以进行固定行号写入
vim + /etc/passwd //自动位于最后一行
复制与黏贴
2yy ----复制两行
dd------剪切
p-------黏贴
1.1.2 插入模式
(编辑模式)
进入编辑模式
- i当前字符之前, I行首插入
- a当前字符之后插入,A行尾插入
- o下一行插入, O上一行插入
1.1.3 命令行模式
Command-line)
按esc—》:
- u撤销一步,ctrl+r恢复
- x类似于delete来使用,X = <-
- gg首段首行。G末端行
- $和end行尾,0和空格行首
- /+String,按N或者小n进行查找
q! //强制保存不退出
wq! //强制保存退出
e! //恢复原始继续编辑
实战1。调用外部文件或命令
//再命令行模式下, !+命令
如
vim /etc/ssh/sshd_config
esc--->: //进入命令行模式
!+ifconfig //复制想要内容再回车
//黏贴相关内容
r /etc/host //可以将文档内容读进来
实战2。文本替换
格式:范围(1,3 1-3行 %所有行)s分隔符 旧内容 分隔符 新内容 /g(分隔符可以自定义,/g代表全部)
:1,3 s/bin/xuegod/g //将1-3行的bin替换为xuegod
do DO
:% s/do/xuegod/g //将全文的do替换为xuegod
:% s@do@xuegod/g
1.1.4 可视模式
(可视块模式Visual mode)
常用于编程或修改服务器时,实战中常用来进行需要进行多行注释。批量删除或批量编辑
vim /etc/ssh/sshd_config //配置文件
ctrl+v //进入可视块模式
向下选择要影响的行
按d会去掉注释符号
按I可以插入你想插入的符号,随后按esc即可王城插入
1.1.5自定义vim使用环境
<1>临时设置
:set nu 设置行号
:set nonu 取消行号
:noh 取消高亮
<2>永久设置环境
vim /etc/vimrc //设置后会影响所有的用户
~/.vimrc //在家目录下,创建一个.vimrc。这样只影响单个用户
echo "set nu" > ~/.vimrc //等价于vim /root/.vimrc
即可每个文件都有行号
<3>同时打开上下两个文档
//这种很少用,<4>用的很多
vim -o /etc/passwd /etc/hosts //上下打开
vim -O /etc/passwd /etc/hosts //左右打开
ctrl+ww //切换文档
:qa //退出
<4>♥比较文件不同
echo aaaa >> a.txt //将aaa写入a.txt
vimdiff /etc/passwd a.txt //可直接定位到不同的地方
2.实战1:解决上传windows中文文档乱码问题
环境:centos8 系统默认汉语
将同目录下“xxxx”上传至linux服务器,使用ssh远程连接到linux,使用vim打开显示乱码
iconv -f gb2312 -t utf8 文件名 -o dest.txt
//windows下从默认GB2312,到转为utf-8
3.实战2:解决Linux脚本导至windows上打开乱码问题
没有换行-----》因为处理回车的方式是不一样的
unix2dos 文件名 //将该文件换行格式转为windows可以识别的模式
4.实战3:恢复linux6下ext4文件系统下误删除的文件
yum install lrzsz
//ext4上系统文件误删除了,extundelete
//ext3上系统文件误删除了,ext3grep
//Windows恢复误删除的文件,
final data v2.0汉化版,easyrecovery
Linux文件系统由三部分组成:文件名,inode,block
a.txt --》inode ----》block
文件名 存放文件元数据信息 真正存放数据
//查看inode中包含的内容,会比ls -l a.txt更为详细
stat a.txt
//block块:真正删除,即擦写完成
一旦删除应进行卸载需要恢复的文件分区及以只读方式进行挂载。
将undelete解压于USB或挂载一块单独硬盘。(要恢复的文件也放于其中)
fdisk /dev/sda //创建sda4
partx -a /dev/sda //获得新分区
ls -l /dev/sda*
若在根下删除了文件,想要恢复。
①立即断电,将磁盘以只读方式,挂载到另一个电脑进行恢复。
②把extundelete在虚拟机上提前安装好,复制到U盘中。恢复文件。恢复文件一定保存在U盘中,不能让恢复数据写到/下,那样会覆盖之前删除的文件。
mkdir /tmp/sda4 //创建挂载点
mount /dev/sda4 /tmp/sda4
umount /tmp/sda4 //删除文件后进行卸载,卸载操作时必须退出该文件夹。
//通过inode号,ls -id / 查看inode号,所以从inode 2开始。ext4文件系统的分区根目录inode的值为2。xfs分区根目录的inode值为64。
extundelete /dev/sda4 --inode 2 //从inode2开始查看被删的文件
//文件的恢复 根据inode恢复
extundelete /dev/sda4 --restore-inode 12
//文件的恢复 根据文件名恢复
extundelete /dev/sda4 --restore-file passwd
//文件的恢复 根据目录恢复
extundelete /dev/sda4 --restore-directory etc
//恢复所有文件,其在恢复文件对的时候不能创建空文件
extundelete /dev/sda4 --restore-all
安装extundelete
上传extundelete至linux。//bz2的包解压的时候需要 tar -j
//-jxvf,x是解析,v是显示详细信息,f是具体解压文件
//在extundelete解压文件夹下执行,源码编译三板斧
./configure //需要一个依赖包,yum install e2fsprogs-devel,检查系统安装文件。生成Makefile文件
make -j 4 //将源码编译,使用4进程同时编译,提升速度。top按一下数字键1,可以看到cpu的个数。
make install
//install -m 777 /bin/find /opt/a.txt 用install不用cp是因为可以直接进行赋予权限
5.实战4:使用Xmanager等远程连接工具连接Linux
在Xshell中输入rz上传文件,输入sz下载文件。
用xftp传文件夹上去
可以通过Xshell调出图形界面。
gnome-terminal
firefox &