linux基础命令(2)
第7章(vim)
vim具有三种常见格式、一般模式、编辑模式、命令模式
一般模式
使用vim编辑文件时,默认进入文件的一般模式,该模式具有的操作:上下移动光标、删除某个字符、产出某行以及复制粘贴一行或多行
cp /etc/dnsmasq.conf /tmp/1.txt // 选择这个文件是因为,文件里面的内容多
,方便实验
vim /tmp/1.txt
进入该文件后:
# Configuration file for dnsmasq.
#
# Format is one option per line, legal options are the same
# as the long options legal on the command line. See
# "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details.
# Listen on this specific port instead of the standard DNS port
# (53). Setting this to zero completely disables DNS function,
# leaving only DHCP and/or TFTP.
#port=5353
# The following two options make you a better netizen, since they
# tell dnsmasq to filter out queries which the public DNS cannot
# answer, and which load the servers (especially the root servers)
# unnecessarily. If you have a dial-on-demand link they also stop
# these requests from bringing up the link unnecessarily.
# Never forward plain names (without a dot or domain part)
#domain-needed
# Never forward addresses in the non-routed address spaces.
#bogus-priv
"/tmp/1.txt" 669L, 26832C 1,1 顶端
需要我们注意的是,刚进入一个文件的时候屏幕的最行会有一些信息
分别是该文件的名称、文件总共的行数、光标的坐标、顶端/尾端。
这些都是一个文件的基本信息
*在一般模式下,我们需要记住一些常用的快捷键
数字0或者shift+6 移动到本行首行
shift+4 移动到本行行尾
yy 复制所在光标行
p 从光标开始,向下复制
u 还原上一步操作(撤回
v 移动光标选中指定字符,可复制、粘贴
dd 删除光标所在那一行
编辑模式
在一般模式下无法修改文件中的字符,需要进入编辑模式,只需要在一般模式摁i、I、a、A、o、O、r、R 其中一个都可以(但插入的位置不同),个人习惯直接摁i对应英文(insert)方便记忆
# unnecessarily. If you have a dial-on-demand link they also stop
# these requests from bringing up the link unnecessarily.
# Never forward plain names (without a dot or domain part)
#domain-needed
# Never forward addresses in the non-routed address spaces.
#bogus-priv
-- 插入 -- 1,1 顶端
进入编辑模式后左下角会出现–插入–字样,这个时候就可以任意的在文件内修改内容了。
如何退出编辑模呢?很简单,直接摁esc键就可以回到一般模式
*进入编辑模式各个摁键的作用
i 在当前字符前插入
I 在光标所在所在行的首行插入
a 在当前字符插入
A 光标所在行的尾行插入
o 在当前行的下一行插入新的一行
O 在当前行的上一行插入新的一行
命令模式
在一般模式下,输入:或者是/ 进入命令命令模式。 可以实现搜索某个字符或字符串和保存、替换、退除、显示行号等操作。
假设我想查找字符串setting
在一般模式下输入“/setting”
# Uncomment this to filter useless windows-originated DNS requests
# which can trigger dial-on-demand links needlessly.
# Note that (amongst other things) this blocks all SRV requests,
# so don't use it if you use eg Kerberos, SIP, XMMP or Google-talk.
# This option only affects forwarding, SRV records originating for
/setting
输入完成后摁回车
# does the following things.
# 1) Allows DHCP hosts to have fully qualified domain names, as long
# as the domain part matches this setting. //<--在这里
# 2) Sets the "domain" DHCP option thereby potentially setting the
# domain of all systems configured by DHCP
# 3) Provides the domain part for "expand-hosts"
#domain=thekelleys.org.uk
# Set a different domain for a particular subnet
#domain=wireless.thekelleys.org.uk,192.168.2.0/24
# Same idea, but range rather then subnet
#domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200
140,39 20%
这里文件的右下角有一个坐标,这就是setting字符串首字母的位置,同时还会带有光标闪烁
命令模式下的一些功能
/word
在光标之后查找一个字符串word,按n向后继续搜索
?word
在光标之前查找一个字符串word,按n向后继续搜索
:n1,n2s/word1/word2/g
在n1和n2行之间查找word1并替换为word2,不加g则只替换每行的第一个word1
:1,$s/word1/word2/g
将文档中所有的word1替换为word2,不加g则只替换每行的第一个word
其他功能
:w 保存文本
:q 退出vim
:w! 强制保存,在root用户下,文本只读也能完成保存
:q! 强制退出,所有改动不生效
:wq 保存并退出
:set nu 显示行号
Set nonu 不显示行号
第8章
文档的压缩和打包
Window和linux上有很多压缩工具,但是它们大多都不能兼容,想要在linux种压缩或打包文件,需要使用自己的压缩工具,但zip格式的文件在Windous和Linux下都可以使用。压缩工具的主要作用,可以节省磁盘空间,在传输时还可以节省网络带宽。
Linux下常见的压缩文件都是tar.gz格式的,文件的后缀名可加可不加,但是为了可以正确判断压缩文件是用什么压缩工具压缩的,一般还是加上后缀名,方便正确解压文件
四种压缩工具 gzip、bzip2、xz、tar
gzip
gzip命令格式: gzip [-d#] 文件名称 其中#为1-9的数字
[-d]:在解压缩时使用
[-#]:表示压缩等级 1为最差,9为最好,6为默认(一般常用默认就好了,所以这个选项并不算常用)
压缩
# gzip 1.txt
解压完成后文件的后缀名就会变成 1.txt.gz
解压
#gzip -d 1.txt.gz
*需要注意的是gzip不支持解压目录,解压目录会报错
bzip2
bzip2格式为 bzip2 [-dz] 文件名称,只有两个选项 -z是压缩 -d是解压 同样有压缩等级1-9 ,9为默认。该命令的-z选项可以加也可以不加,也 不可以解压目录,所以实际用起来的效果和gzip类似。
压缩
# bzip2 1.txt
解压
# bzip2 -d 1.txt.bz2
xz
xz命令格式为xz [-dz] 文件名称,和bzip2类似,同样-z可加可不加
压缩
# xz 1.txt
解压
# xz -d 1.txt.zx
tar打包工具
tar可以把目录打包成一个文件,把所有的文件整合成一个大文件,方便移动和复制。
格式为 tar [-zjxcvfpP] 文件名称,该工具与其他压缩工具不同,拥有很多的选项。
tar工具选项
-z | 同时使用gzip压缩 |
---|---|
-j | 同时用bzip2压缩 |
-J | 同时用xz压缩 |
-t | 查看tar包里的文件 |
-x | 表示解包或者解压缩 |
-c | 表示建立一个tar包或者压缩文件 |
-v | 表示可视化 |
-p(不常用) | 表示使用源文件的属性,压缩前什么属性压缩后就什么属性 |
–P(不常用) | 表示可以使用绝对路径 |
–exclude filename(不常用) | 表示在打包或压缩时,不要将filename文件包括在内 |
案例
# mkdir test111
# touch test111/2.txt
# echo “nihao” > test111/2.txt
# cp 1.txt text111/
# tree . //该命令用于查看,目录的树形结构
# tar -cvf test111.tar test111
使用tar命令打包后源文件不会消失
tar命令还可以打包文件 不加-v,表示不可视化
# rm -f test111.tar
# tar -cf test.tar test111 1.txt
其实不管是打包还是解包,原来的文件都是不会删除的,而且会覆盖当前已经存在的文件或者目录。
打包的同时使用gzip压缩
tar 支持上述几种打包工具的压缩 使用gzip压缩 需要使用到-z选项
# tar -czvf test111.tar.gz test111
打包的同时使用bzip2压缩
使用bzip2压缩 需要使用到-j选项
# tar -cjvf test111.tar.bz2 test111
使用zip压缩
zip压缩的使用的介绍
zip压缩包在windows和linux中都比较常用,目录和文件都可以压缩,压缩时需要指定,目录下的文件。
# zip 1.txt.zip 1.txt
压缩目录
# zip 1.txt.zip test111/*
后面的“”表示目录下全部的文件*
想要一个目录所有东西的方法还有一个 就是加上-r 选项 也是表示级联压缩
# zip -r test.zip test111/
这样就不需要加上 “*” 了
LVM逻辑卷管理
理论概念
LVM:是linux环境下对磁盘进行管理的一种机制,正常挂载的磁盘在磁盘资源快要耗尽时,无法动态拉伸增加资源,或由于特殊情况需要动态缩减磁盘的大小。而LVM机制就能实现磁盘存储资源的动态拉伸以及缩减,因此LVM能很好的管理存储资源,当一块物理磁盘资源将要耗尽时,可以新增一块或多块物理磁盘,进行LVM操作纳入扩展。
原理与流程
4个基本的逻辑卷概念 (1)PE 物理拓展 (2)PV 物理卷 (3)VG 卷组 (4)逻辑卷
创建一个pv
什么是物理卷:物理卷(Physical Volume,PV):指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
首先将两块硬盘格式化为物理卷PV,格式化物理卷的过程中LVM就是将底层的硬盘划分为了一个一个的PE,默认的PE是4M,是逻辑卷管理的最基本单位。
创建一个VG
什么是卷组:卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
在创建完成PV后,就需要创建一个卷组,顾名思义,卷组中包含多个PV成为一个组,相当于一个池化的过程,VG的作用是用来装PE的,将多个PV加入到VG里面后,VG里面就存放了需多来自不同PV中的PE
创建一个LV
什么是逻辑卷:逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。
PV和VG创建完成后都是不可以直接使用的,创建他们的最终目的还是创建一个LV。创建好一个LV后,创建LV其实就是从VG中拿出指定数量的PE,VG中的PE可以来自不同的PV,创建的逻辑卷的大小取决于VG中PE存在的数量,并且创建的逻辑卷的大小一定是PE的整数倍。