第六天 vim编辑的使用和Xmanager远程工具的使用

时间:2022-09-11 23:33:12

1.1 vim主要模式介绍,vim命令模式

使用命令

vim [file name]

有三种主要模式:命令模式、编辑模式、命令行模式

第六天 vim编辑的使用和Xmanager远程工具的使用

在vim中主要使用快捷键进行操作,详见:http://www.cnblogs.com/xiaogan/p/5732780.html

这篇文章看完,基本搞定!!!基本的vim设置如下:(将代码复制后,保存为.vimrc 文件,保存在用户目录下即可)

set nu
syntax on
set softtabstop=
set shiftwidth=
set expandtab
set guioptions-=T
set nobackup
set formatoptions=tcrqn
set cindent
set smartindent
set incsearch
set autoindent
set fileencodings=ucs-bom,utf-,chinese
set guifont=Bitstream_Vera_Sans_Mono:h10:cANSI

vim中还有一个视图模式,当要在多行进行相同操作时使用:

第一步:将光标移动到要操作行的对应位置

第二步:ctrl + v 进入视图模式

第三步:移动光标选中要操作的其他行

第六天 vim编辑的使用和Xmanager远程工具的使用

第四步:输入大写的i,填写要添加的内容,然后Esc退出即可

第六天 vim编辑的使用和Xmanager远程工具的使用

若要删除,同样如此;

1.2 实战-解决vim打开之后乱码乱行的问题-----(转码工具 iconv 的使用)

从windows中上传一个文本文档到Linux中,查看其内容,会发现是乱码。因为两个系统使用的编码不一致,而造成的。一般在windows中中文编码使用的是GB2312,而在Linux中中文编码使用的是UTF-8或其他

第一步:从windows中上传文本文档到Linux中查看

第六天 vim编辑的使用和Xmanager远程工具的使用

首先,修改VMware虚拟网络设置为host-only,已确保Linux虚拟机与Windows宿主机通信。

然后,查看windows中VMnet1网卡的IP地址与虚拟机网卡IP地址是否在一个网段

第六天 vim编辑的使用和Xmanager远程工具的使用

互相ping一下,看看能不能ping通,注意:windows中的防火墙,需要关掉,不然linux虚拟机可能会ping不到

第六天 vim编辑的使用和Xmanager远程工具的使用

第六天 vim编辑的使用和Xmanager远程工具的使用

启动xmanager的xshell,连接虚拟机192.168.171.128

成功后,使用rz命令,将刚刚在windows中新建的a.txt(a.txt中有输入中文文本)文本传到虚拟机中

第六天 vim编辑的使用和Xmanager远程工具的使用

然后,在linux中查看一下

第六天 vim编辑的使用和Xmanager远程工具的使用

看出现乱码了吧?!

这就用到了今天需要的工具,iconv

查看一下,系统是否安装了这个软件包:

which iconv

查看软件包版本:(注:那个·是键盘左上角,1左边的键)

rpm -qf `which iconv`

第六天 vim编辑的使用和Xmanager远程工具的使用

若没有安装,使用如下命令,进行安装:(注:已默认将RHEL7.2镜像文件挂载到/mnt目录下

rpm -ivh /mnt/Packages/glibc-common-2.17-.el7.x86_64.rpm 

然后,使用命令iconv对上传的文件a.txt进行转码:

iconv -f GB2312 a.txt -o aaa.txt

在查看一下新生成的文件,Ok一切搞定!!!

第六天 vim编辑的使用和Xmanager远程工具的使用

附:iconv帮助文档

[root@xiaogan ~]# iconv --help
Usage: iconv [OPTION...] [FILE...]
Convert encoding of given files from one encoding to another. Input/Output format specification:
-f, --from-code=NAME encoding of original text
-t, --to-code=NAME encoding for output Information:
-l, --list list all known coded character sets Output control:
-c omit invalid characters from output
-o, --output=FILE output file
-s, --silent suppress warnings
--verbose print progress information -?, --help Give this help list
--usage Give a short usage message
-V, --version Print program version Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options. For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

不必要看懂每一个英文,根据文档能知道个大概就可以了,都是猜的,慢慢就知道什么意思了,没事的时候在翻翻词典

有--help知道

iconv的

-f  --from-code=NAME  参数为指定原文件编码格式(GB2312编码适用于汉字处理)

-o  --output=FILE        参数 指定转码后新生成的文件名和路径

-t --to-code=NAM E     可指定 新生成文件使用的编码

-I --list                      可查看已知的所有编码格式名称

-c                             忽略无效的字符输出

-s  --silent                 保持沉默,即抑制警告

1.3 xmanager远程工具的使用

Xmanager Enterprise 4 可使用xshell远程连接主机,可使用xftp向已连接的主机传输文件

当传输小文件的时候,可在xshell终端中输入rz,系统会弹出对话框,选择要上传的文件(不支持大文件,会断开的)

自己摸索吧

第六天 vim编辑的使用和Xmanager远程工具的使用

1.4 实战:在RHEL6.5中恢复误删除的文件----extundelete命令的使用

背景:为什么误删除的文件可以恢复?!为什么删除比复制快?!

每个文件多有一个inode号,inode号对应该文件在物理存储上的位置

第六天 vim编辑的使用和Xmanager远程工具的使用

当新建一个文件时,系统会为这个文件分配一个inode号,并在对应的物理存储占有位置。

第六天 vim编辑的使用和Xmanager远程工具的使用

当删除文件时, 只是删除了这个文件的文件名,而inode和物理内存中还留存有其信息

第六天 vim编辑的使用和Xmanager远程工具的使用

但,当在该磁盘中发生新建操作时,可能新建文件会覆盖已删除文件对应的物理存储

第六天 vim编辑的使用和Xmanager远程工具的使用

所以,为了避免在误删除后,文件被覆盖,应卸载需要恢复文件的分区,或以只读方式挂载。

Let't Go!!!

下载extundelete
http://sourceforge.net 开源软件发布中心

第一步:打开RHEL6.5虚拟机之前,先给虚拟机添加一个硬盘

第六天 vim编辑的使用和Xmanager远程工具的使用

剩下的一路默认就可以了,然后开机

第二步:查看/dev目录下硬盘是否已添加

ls /dev/sd*

第六天 vim编辑的使用和Xmanager远程工具的使用

如图:新添加的硬盘名为 sdb

第三步:对新添加的硬盘进行分区

fdisk /dev/sdb

第六天 vim编辑的使用和Xmanager远程工具的使用

输入m,查看帮助信息,n是创建一个新的分区,p是查看分区表,w是将修改同步到硬盘

只有输入了w以后,你的操作才会生效哦!!!

添加一个1G的分区操作如下(红色箭头)

第六天 vim编辑的使用和Xmanager远程工具的使用

第四步:查看分区时候成功

ls /dev/sdb*

第六天 vim编辑的使用和Xmanager远程工具的使用

若没有显示,需要更新分区表:

partx -a /dev/sdb 

第五步:格式化新建的分区,挂载

格式化命令命令如下:

mkfs.ext4 /dev/sdb1
or
mkfs -f ext4 /dev/sdb1

第六天 vim编辑的使用和Xmanager远程工具的使用

mkdir /sdb1            #在根目录下新建sdb1的挂载点 sdb1
mount /dev/sdb1 /sdb1 #将格式化后的分区,挂载到新建的挂载点
df -T | tail - #查看挂载 只查看最后一行就好,-T 查看分区文件格式

第六天 vim编辑的使用和Xmanager远程工具的使用

第六步:准备实验环境

安装tree的软件包

rpm -ivh /mnt/Packages/tree-1.5.-.el6.x86_64

(注:/mnt目录挂载的是RHEL6.5的iso安装镜像)

第六天 vim编辑的使用和Xmanager远程工具的使用

注:d是一个空文件夹

第七步:删除/sdb1目录下所有文件,然后卸载

(注:在误删除文件后,应立刻卸载误删文件对应的分区,以免有新建操作覆盖掉误删除的文件)

第六天 vim编辑的使用和Xmanager远程工具的使用

第八步:安装恢复需要的软件包extundelete

使用Xmanager Enterprise 4中的xshell和xftp将下载的extundelete软件包上传到linux中,并进行安装

第六天 vim编辑的使用和Xmanager远程工具的使用

tar -jxvf extundelete-0.2..tar.bz2

然后,进入解压后生成的目录,开始安装

cd extundelete-0.2.
./configure

第六天 vim编辑的使用和Xmanager远程工具的使用

这时会报错,因为我们有个包没有装,使用命令

rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.-.el6.x86_64.rpm

(注:/mnt目录挂载的是RHEL6.5的iso安装镜像)

然后,继续:

第六天 vim编辑的使用和Xmanager远程工具的使用

如果不知道怎么装,可以 vim README

 第九步:安装完成后,开始文件恢复

首先通过命令查看/dev/sdb1结点信息

extundelete /dev/sdb1 --inode 2
[root@xiaogan test]# extundelete /dev/sdb1 --inode
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... groups loaded.
Group:
Contents of inode :
| ed a1 a3 a1 a3 | .A........W4..W
| a1 a3 | ..W............
| 4b | ........K.......
| | ................
| | ................
| | ................
| | ................
| | ................
| 1c b2 c6 2d b2 c6 2d e3 5c a2 | ......-..-$.\.
| a3 | !F.W............
00a0 | | ................
00b0 | | ................
00c0 | | ................
00d0 | | ................
00e0 | | ................
00f0 | | ................ Inode is Allocated
File mode:
Low bits of Owner Uid:
Size in bytes:
Access time:
Creation time:
Modification time:
Deletion Time:
Low bits of Group Id:
Links count:
Blocks count:
File flags:
File version (for NFS):
File ACL:
Directory ACL:
Fragment address:
Direct blocks: , , , , , , , , , , ,
Indirect block:
Double indirect block:
Triple indirect block: File name | Inode number | Deleted status
.
..
lost+found Deleted
passwd Deleted
hosts Deleted
test.txt Deleted
a Deleted

有四种方式:

第一种通过inode恢复

extundelete /dev/sdb1 --restore-inode 

第六天 vim编辑的使用和Xmanager远程工具的使用

第二种通过文件名恢复

extundelete /dev/sdb1 --restore-file passwd

第六天 vim编辑的使用和Xmanager远程工具的使用

第三种恢复目录

extundelete /dev/sdb1 --restore-directory b

第六天 vim编辑的使用和Xmanager远程工具的使用

第四种恢复所有

extundelete /dev/sdb1 --restore-all 

第六天 vim编辑的使用和Xmanager远程工具的使用

通过tree 命令查看一下!!!

第六天 vim编辑的使用和Xmanager远程工具的使用第六天 vim编辑的使用和Xmanager远程工具的使用

发现:extundelete 不会恢复空文件或空目录!!!!!

第六天 vim编辑的使用和Xmanager远程工具的使用的更多相关文章

  1. Xmanager远程Centos 7 Xfce

    最近发现远程除了使用VNC还可以用Xmanager,孤陋寡闻了,通过这个远程软件,又把不怎么关注的Xwindow给了解了一遍. Xfce是一个*软件,运行在类Unix操作系统 (如Linux.Fre ...

  2. Xmanager远程连接CentOS7

    上周例会,又被说了一通,Xmanager远程连接的文档没写?服务没搭建?心想这都有VNC了,为毛一定要弄这个啊?!!但是,我还是在今天给弄了,╮(╯▽╰)╭没*.搭建完尝试用了下,感觉吧,也不咋地啊 ...

  3. vim编辑中断后,重新编辑的警告删除

    使用vim 编辑,遇到突然中断,比如ssh远程时断网了. 如果再次ssh连接,重新vim 打开之前在编辑的文件,会有类似如下的警告 这是因为vim会在被编辑的目录下新建一个名为.filename.sw ...

  4. vim编辑下Python2&period;0自动补全

    Python自动补全有vim编辑下和python交互模式下,下面分别介绍如何在这2种情况下实现Tab键自动补全. 一.vim python自动补全插件:pydiction 可以实现下面python代码 ...

  5. linux 5&period;5 开xmanager远程

    http://bbs.cqsztech.com/dv_rss.asp?s=xhtml&boardid=3&id=11&page=9 linux 5.5 开xmanager远程 ...

  6. VIM编辑命令的技巧

    vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V    从光标 ...

  7. vim 编辑中执行正则表达式

    1.进入vim 编辑模式 2.输入:set magic 3.输入/,然后再次输入正则表达式

  8. Linux 下 vim 编辑文件,解决中文乱码,设置Tab键空格数

    vim编辑文件的时候,输入中文就出现乱码 解决办法: 以哪个用户登录的就在哪个用户目录下创建文件 vimrc vim .vimrc       (.创建的是隐藏文件) 文件内容: set tabsto ...

  9. &lbrack;转帖&rsqb;Vim 编辑器底端 &lbrack;noeol&rsqb;&comma; &lbrack;dos&rsqb; 的含义

    Vim 编辑器底端 [noeol], [dos] 的含义 2012年11月28日 23:13:04 strongwangjiawei 阅读数:15484 https://blog.csdn.net/s ...

随机推荐

  1. nginx upstream模块--负载均衡

    Module ngx_http_upstream_module英文文档 upstream模块相关说明1.upstream模块应放于nginx.conf配置的http{}标签内2.upstream模块默 ...

  2. Python 斐波那契数列练习

    # coding=gbk # 迭代法---1 def fibonacci (n): if n == 0 or n == 1: return n else : a = 0 b = 1 for i in ...

  3. Mybatis-generator自动生成器

    目录 前言牢骚 Mybatis-generator是什么? Mybatis-generator怎么使用? 第一步,Maven文件引用 第二步,数据库建立 第三步,写mybatis-generator. ...

  4. 用excel记录测试bug问题总结

    前几天与开发在讨论问题的时候,开发提了一个问题,说是已经解决的问题,能否用excel表格总结一下,问了一下原因,感觉想法很好,就总结了一下. 在上家公司的时候,提交bug用的是mantis,现在是禅道 ...

  5. BZOJ3022 &colon; &lbrack;Balkan2012&rsqb;The Best Teams

    将选手和询问按照年龄排序,即可去掉年龄的限制. 将所有选手按水平排序后维护线段树,显然最优解一定是从大到小贪心选择. 线段树上每个节点维护: $g[0/1]:r+1$不选/选的时候,$l$选不选. $ ...

  6. 初学Python,对于开发工具不是很了解?一文带你选择适合你的开发工具

    工欲善其事必先利其器!想要获取更多的开发工具安装包.安装教程,可以加群:725479218, 开发Python用什么工具好呢?其实刚学Python的话,使用IDLE就够了,虽然调试不是特别方便,但是对 ...

  7. Python基础【day02】:数据运算(二)

    本节内容 数据运算 表达式while 循环 一.数据运算 算数运算: 比较运算: 赋值运算: 逻辑运算: 成员运算: 身份运算: 位运算: #!/usr/bin/python a = 60 # 60 ...

  8. JS压缩工具配置

    1.打开文件夹 修改yui.reg 里面修改为自己的目录. 2.yuicompressor.bat  修改SET YUIFOLDER=E:\JS常用工具\JS_compres\build 为自己的目录

  9. 非抢占式RCU实现(一)

    关于RCU的实现,考虑如下情形: 1.非抢占式RCU 2.限于嵌入式系统4核.每核单线程 3.RCU_FANOUT = 32 此时,RCU_TREE退化为单节点,如下,针对rcu_sched_stat ...

  10. jQuery监控文本框事件并作相应处理的方法

    本文实例讲述了jQuery监控文本框事件并作相应处理的方法.分享给大家供大家参考.具体如下: //事情委托 $(document)  .on('input propertychange', '#que ...