20190113-vim、打包(tar)、压缩(gzip,bzip2,zip,xz)包管理工具(rpm、yum)

文章目录

      • vim 编辑器
      • 压缩打包工具:tar gzip bzip2 zip
        • tar
        • gzip 不能压缩目录
        • bzip2
        • zip
        • xz
        • file
      • 包管理工具
        • rpm
        • yum工具
          • 搭建本地yum库
          • 更换国内源
          • yum下载rpm包
        • 源码包

vim 编辑器

注:如果文档未正常关闭,则会在当前目录生成一个隐藏文件:.filename.swp 删除即可

  1. 安装
 yum install -y vim-enhanced     
 yum install -y vim

[root@localhost ~]# rpm -qf which vim \查看vim的安装文件
vim-enhanced-7.4.160-5.el7.x86_64
2. 语法

vim !$ !$表示上一条命令的最后一个参数
vim +10 filename 把光标定位到filename的第10行。
!vim 执行上一次vim的命令
一般模式移动光标
h或左方向键 光标向左移动一个字符
l或右方向键 光标向右移动一个字符
k或上方向键 光标向上移动一个字符
j或下方向键 光标向下移动一个字符
Ctrl+f或pageup 光标向前(上)移动一页
Ctrl+d或pagedown 光标向后(下)移动一页
0或shift+6 移动到本行行首(shift+6是非空格的行首)
Shift+4 移动到本行行尾
gg 移动到首行
G 移动到尾行
nG(n是任意数字) 移动到第n行
x,X x向后删除(剪切)一个字符,X向前删除(剪切)一个字符
nx (n是任意数字) 删除一个字符
dd 删除或剪切光标所在的一行
ndd 删除或剪切光标所在行起向下一共n行
yy 复制光标所在行(nyy复制光标下n行)
p 粘贴到光标下一行
P 粘贴到光标上一行(小P)
u 撤销(50次)
Ctrl+r 反撤销
v 按“v"后移动光标会选中制定字符,然后可以进行复制,粘贴等。
shift+v 一行一行的选中
ctrl +v 一块一块的选 之后安shift+i可以批量注释选中的行

注释所有行:ctrl+v j/k + shift+i (输入“#”)+esc
shift+3: 全文搜索当前光标所在的字段

编辑模式 j
i 进入编辑模式,在当前字符前插入
a 在当前字符后插入
I 在当前行行首插入
A 在当前行行尾插入
o 在当前行的下一行插入
O 在当前行的上一行插入

进入编辑模式之后,在屏幕的最下一行会出现”insert或REPLACE“的字样。
从编辑模式回到一般模式按”ESC“即可

命令行模式 在一般模式输入":"或“/”即可进入命令模式
/word 向光标之后寻找一个字符串为word,按n向后继续搜索
?word 向光标之前寻找一个字符串为word,按n向前继续搜索
:/word”或“:?word” 显示所有关键字
:n1,n2s/word1/word2/g 在n1,n2行之间查找word1并替换成word2,不加g则只替换每行的第一个word1
:1,$s/word1/word2/g 将文档中所有的word1替换为word2,不加g则只替换每行的第一个word1
:%s/word1/word2/g 同上

:1,$s#/word1/123/1.txt#/word2/234/2.txt#g 可以用“#”将替换字符中的“/”替换掉

:w 保存文本
:q 退出vim
:w! 强制保存,在root用户下即使文本只读也可以完成保存
:q! 强制退出,所有改动不生效
:wq 保存并退出
:12 跳到第12行
:set nu 显示行号
:set nonu 不显示行号
:nohl 取消高亮
:set paste 连格式一起复制
:set autoindent 自动缩进

设置高亮
syntax on
如果此时语法还是没有高亮显示,那么在/etc/profile文件中添加以下语句:
export TERM=xterm-colorhighlight Comment ctermfg=green guifg=green ###设置高亮
如果不小心输入错了命令,需要连续按两下ESC才可以取消刚刚敲的命令然后进入一般模式
在一般模式下,按q就进入 记录状态了 然后再按【:】或【esc】都不管用 ,需要取消记录状态 才可以进行其他操作
/etcvimrc:所有用户生效

压缩打包工具:tar gzip bzip2 zip

tar

语法:打包: tar -cvf test.tar test dir1 test2 dir2… (原文件还在)

-c:建立一个tar
-x:解压缩(源文件不会消失,且重名不会提示是否覆盖)
-f:指定目标文件名,参数放在最后
-z:同时用gzip压缩
-j:同时用bzip2压缩
-J:同时用xz压缩
-t:查看包里面的文件(名字)
-exclude filename:打包的时候排除某个文件

tar -xvf test.tar
tar -xvf -C /tmp/ test.tar 将test.tar解压到/tmp下。-C指定解包路径

  • 打包的同时解压
  1. tar -cvJf *.tar.xz 111 dir2 dir1 test
    tar -xvJf ***.tar.xz来解压用xz压缩的文件
    tar -tJf *.tar.xz 查看文件列表(特例)

  2. tar -zcvf *.tar.gz 111 333 dir2
    tar -zxvf *.tar.gz来解压用gzip压缩的文件

  3. tar -jcvf *.tar.bz2 111 33 dir2
    tar -jxvf *.tar.bz2 解压用bzip2压缩的文件

  4. tar打包的同时过滤其中的某个文件
    tar --exclude 12.txt -cvf 111.tar 111 (一个exclude过滤一个文件)
    tar -zxvf test.tar.gz /test/1.sh.tar.gz

  • tar -xvpf test.tar.gz /test/111.txt -p 指定解压压缩包里的某个文件

gzip 不能压缩目录

  • 只压缩,默认压缩解压缩源文件消失,默认压缩级别6
  • 语法: gzip [-d#] filename 其中# 为 1-9的数字

    -d: 解压缩时使用
    -#: 压缩等级, 1 压缩最差, 9压缩最好, 6 为默认
    gzip filename 生成filename.gz
    gzip -d filename.gz 解压缩
    gunzip filename.gz 解压缩
    可以用zcat filename.gz 来查看压缩之前的文件内容。
    可以用[root@localhost ~]#du test.txt.gz 来查看压缩后的大小。
    扩展:
    -r就是把目录里面的所有文件挨个压缩一遍,
    -c 可以不删除源文件直接压缩 ,需要用重定向 gzip -c 1.txt > 1.txt.gz

bzip2

  • 只可以压缩文件,且压缩解压缩之后原文件消失。默认压缩级别9
  • 语法:bzip2 [-dz] filename

    -z: 压缩 可以不加,生成filename.bz2
    -d: 解压缩
    也可以用bunzip2 filename.bz2解压缩。
    用bzcat filename.bz2 查看压缩之前的文件内容。
    -c 可以不删除源文件直接压缩 ,需要用重定向bzip2 -c 1.txt > 1.bz2

zip

  • 安装:yum install zip unzip
  • 语法:
    压缩 zip filename.zip filename (指定压缩之后的文件名,原文件不消失
    zip -r dir.zip dir (压缩目录
    zip -r dir.zip filename1 dir1 (把filename1和dir1压缩到dir.zip中)
    zip -d filename.zip filename (删除原文件)
    zip -m myfile.zip ./1.txt (把当前目录下的1.txt添加到压缩文件myfile.zip中)

解压缩 unzip filename.zip/dir.zip (会提示是否覆盖文件)
-o 不提示的情况覆盖文件
-d unzip -d /home dir.zip (将dir.zip解压缩到/home下)
-v unzip -v filename.zip (查看压缩之前的文件,看不了内容)

xz

语法:xz filename (生成filename.xz文件)
xz -d filename.xz (解压缩,也可以用unxz)

-k (可以在压缩和解压缩的时候不
如果有重名文件,会提示filen exists,并停止解压缩,使用 -f 可以直接覆盖掉重名文件,但是不会提示。
xzcat filename.xz 查看压缩文件内容)
xz -d 1.txt.xz -c > /tmp/1.txt (指定解压缩路径)
xz -V (–version,版本)

file

  • 用于识别文件类型,后面直接跟文件名。

包管理工具

  • 安装软件包的三种方法
    • rpm工具
    • yum工具
    • 源码包

rpm

-rpm命令是RPM软件包的管理工具。是RED Hat linux发行版专门用来管理linux各项套件的程序遵循GPL规则且功能强大。

挂载光盘到/mnt下
[root@zll_master ~]# mount /dev/cdrom /mnt
rpm包就在该目录下的packages目录下
[root@zll_master ~]# ls /mnt/packages
[root@localhost mnt]# ls Packages/ |more
abrt-2.1.11-45.el7.centos.x86_64.rpm
abrt-addon-ccpp-2.1.11-45.el7.centos.x86_64.rpm
abrt-addon-kerneloops-2.1.11-45.el7.centos.x86_64.rpm
abrt-addon-pstoreoops-2.1.11-45.el7.centos.x86_64.rpm
abrt-addon-python-2.1.11-45.el7.centos.x86_64.rpm
abrt-addon-vmcore-2.1.11-45.el7.centos.x86_64.rpm

  • rpm命名规则:
    例:abrt-addon-xorg-2.1.11-45.el7.centos.x86_64.rpm
    包名-版本号-发布版本号|centos7-平台64位.rpm
  • rpm工具用法
-i :安装
-U:升级
-v:可视化
-h:显示安装进度
-e:卸载
-q:查询一个包是否安装
-qi:查询指定包信息
-ql:列出一个包安装的文件
-qf:查询文件的绝对路径:常用举例:rpm -qf `which xz`
eq:
  1. 安装:rpm -ivh rpm包文件
  2. 升级:rpm -Uvh rpm包文件
  3. 卸载:rpm -e 包名
  4. 查询已经安装的包:rpm -qa

yum工具

  • Fedora和RedHat以及SUSE中的shell前端软件包管理器
  • 可以自动处理依赖性关系,并以此安装所有依赖的软件包,
  • 语法: yum install [-y] vim
yum list     列出可用的yum包
[root@localhost mnt]# yum list 
省略...
vala.i686                                                   0.40.8-1.el7                             base     
vala.x86_64                                                 0.40.8-1.el7                             base     
vala-devel.i686                                             0.40.8-1.el7                             base     
vala-devel.x86_64                                           0.40.8-1.el7                             base     
vala-doc.noarch                                             0.40.8-1.el7                             base     
valadoc.i686                                                0.40.8-1.el7                             base     
valadoc.x86_64                                              0.40.8-1.el7                             base 
···

带“@”的表示已经安装,base代表仓库名字,在yum的配置文件中定义:/etc/yum.repos.d/CentOS-Base.repo

  • 搜索一个包 yum search vim //名称和简介匹配only,只使用“search all”
  • 精确查找yum list |grep“vim"
  • 列出可以用组:yum grouplist,安装组需要英文名,如果系统是中文,安装时需修改为英文:LANG=en
  • 安装组包:yum groupinstall [-y] 组名
  • 卸载包:域名reomce [-y] vim
  • 升级包:yum update [-y] ##如果后面不加包名,会把系统所有包进行升级,包括系统、内核。
  • 根据命令搜索包 yum provides "/*/命令”
搭建本地yum库
  1. 将光盘挂载到/mnt下:
    mount /dev/cdrom /mnt
  2. 备份原yum配置文件:
    cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
  3. 删除/etc/yum.repos.d下所有的文件:
    rm -rf /etc/yum.repos.d/*
    4.创建dvd.repo
vim dvd.repo,在里面输入
[dvd]                                    //仓库名字
name=install dvd                  //描述
baseurl=file:///mnt           //路径
ebable=1                       //1可用,0不可用
bpcheck=0              //0不检测,1检测
  1. 清除yum缓存
    yum clean all
    6.查看yum list|less
更换国内源

1.删掉CentOS-Base.repo
rm -rf /etc/yum.repo.d/CentOS-Base.repo
2. 下载163源
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

yum下载rpm包

1.安装扩展源epel
yum install -y epel-release
2.仅下载不安装
yumdownloader 包名
默认放在/var/cache/yum/x86_64/7/仓库名/Packages下

  • 下载到当前路径:yum install -y 包名 --downloadonly
  • 下载到指定路径下:yum install -y 包名 --downloadonly --downloaddir=/tmp/
  • 重新安装已安装过的包:yum reinstall -y 包名 --downloadonly --downloaddir=路径
  • 根据命令查看包:yum provides “/*/yumdownloader”

源码包

约定:源码包路径/usr/local/src
下载:wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.35.tar.gz
README为源码包的说明文档
INSTALL 安装文档
开始安装:

tar -zxvf httpd-2.4.35.tar.gz 
cd httpd-2.4.35
./configure --prefix=/usr/local/apache2

执行完成之后,可以用echo $?查看上一天命令是否有报错,0为没有。

你可能感兴趣的:(Linux实验室)