目录

打包压缩部分

1.linux下常见的压缩包类型有哪些

.zip
.gz 会删除源文件
.bz2 会删除源文件
.tar.gz
.tar.bz2

2.将/etc/hosts文件用tar格式打包。

[root@centos7 ~]# cd /
[root@centos7 /]# tar czf hosts.tar.gz etc/hosts

3.查看打包之后的/etc/hosts的文件内容,在不解压的情况下查看。

[root@centos7 /]# tar tf hosts.tsr.gz

4.使用tar打包/var/log/目录。

[root@centos7 /]# tar czf log.tar.gz var/log

5.使用zip打包/etc目录。

[root@centos7 /]# zip -r etc.zip etc/

6.查看/var/log/目录的压缩包中有哪些内容。

[root@centos7 /]# tar tf log.tar.gz

7.将/var/log/目录解压到/opt目录中。

[root@centos7 /]# tar xf log.tar.gz -C /opt

8.查看/etc/目录的压缩包的压缩率。

[root@centos7 /]# du -sh /etc/
32M /etc/
[root@centos7 /]# du -sh /etc.zip
14M /etc.zip
[root@centos7 ~]# awk 'BEGIN{print 14/32*100"%"}'
43.75%

9.查看/etc/目录的压缩包的内容是否完好。

[root@centos7/]# zip -T  etc.zip   #查看压缩包整体的情况
[root@centos7/]# unzip -t etc.zip #检查压缩包里面的内容

10.解压/etc/目录到/opt目录中。

[root@centos7 ~]# unzip etc.zip  -d /opt/

11.用zip打包/opt目录,要求不显示打包过程。

[root@centos7 /]# zip -qr opt.zip /opt

12.打包/etc/目录,要求是.bz2格式

[root@centos7 /]#  tar cjf etc.tar.bz2 /etc/

13.打包/var/log目录,要求是.xz格式

[root@centos7 /]# tar cJf  log.tar.xz /var/log/

14.使用tar命令打包/etc/时,会出现一个删根的操作,怎样打包不会进行删根的操作

[root@centos7 ~]# tar czPf etc.tar.gz /etc

15.打包/etc/目录,要求不打包/etc/hosts这个文件。

[root@centos7 /]#  tar czf etc.tar.gz --exclude=etc/hosts etc/

16.打包/etc/目录,要求不打包/etc/hosts和/etc/hostname这两个文件。

[root@centos7 /]# tar czf etc.tar.gz --exclude=etc/hosts,etc/hostname etc/

17.打包/etc/目录,但要排除passwd,shadow,group,gshadow,hosts,hostname这些文件。(你能用两种方法实现吗)

[root@centos7 /]# tar czf etc.tar.gz --exclude=etc/{passwd,shadow,group,gshadow,hosts,hostname} /etc

[root@centos7 /]# vim etc.txt
[root@centos7 /]# tar czfX /etc.tar.gz etc.txt /etc

18.已知/etc/grub2.cfg文件是个软连接文件,在你不知道的情况下,请问怎么打包该文件的真实文件。

[root@centos7 etc]# ll -h /etc/grub2.cfg
[root@centos7 /]# tar czfh grub2.tar.gz etc/grub2.cfg

19.把/var/log/目录中所有.log的文件进行打包成一个压缩包,名称定义为log.tar.gz的压缩包。

[root@centos7 /]# find /var/log/ -type f -name '*.log*'|xargs tar czf log.tar.gz

20.已知文件oldboy.zip,请问在不解压的情况下,怎样查看该文件的内容。

[root@centos7/]# unzip -l oldboy.zip

21.打包/etc/目录,命令以ip地址+当前时间方式的压缩包:比如: 10.0.0.100_2019-07-08_etc.tar.gz

[root@centos7 ~]# tar zcf $(ifconfig ens33|awk 'NR==2{print $2}')_$(date +%F)_etc.tar.gz /etc

# date +%F (年月日)       date +%T (十分秒)
[root@centos7 ~]# date +%T
19:38:50
[root@centos7 ~]# date -d '-1day' (显示的结果会减1天,以后备份日志有用)
Mon Jul 8 19:42:07 CST 2019

22.创建/data/bak目录,然后复制如下文件到/data/bak目录下

/etc/hosts

/etc/resolv.conf

/etc/fstab

/etc/bashrc

/etc/profile

/etc/rc.local

/etc/sudoers

[root@centos7 /]# mkdir -p /data/bak
[root@centos7 /]# touch /etc/{hosts,resolv.conf,fstab,bashrc,profile,rc.local,sudoers}|xargs cp -t /data/bak

23.接22题,使用tar命令对/data/bak目录下的文件及目录以gzip的格式进行归档压缩到/data目录下(压缩包的名字以自己名字命名)

[root@centos7 ~]# tar czf /data/gjy.tar.gz /data/bak/

24.使用tar命令查看上题/data目录下压缩包内的内容。

[root@centos7 /]# tar tf /data/gjy.tar.gz

25.把第23题/data目录下的压缩包,解压到/backup目录下

[root@centos7 /]# tar xf /data/gjy.tar.gz  -C /backup

26.再次使用tar命令把/data/bak目录下的文件及目录以gzip的格式进行归档压缩到/data目录下,但是在进行归档压缩时,排除文件“sudoers”,然后查看该压缩包内容是否存在文件“sudoers”(压缩包名自行拟定)

[root@centos7 ~]# tar czf /data/bak.tar.gz --exclude=/data/bak/sudoers  /data/bak/

27.打包/etc目录下所有普通文件到root用户家目录。

[root@centos7 ~]# find /etc -type f | xargs tar zcf /root/etc.tar.gz

28.打包/etc/目录到/opt/目录下,名称要求以当前主机名和ip地址命名,例:oldboy_10.0.0.100.tar.gz

[root@centos7 ~]# tar zcf /opt/$(hostname)_$(ifconfig ens33|awk 'NR==2 {print $2}').tar.gz /etc/

29.如何使用gzip命令对文件进行压缩、解压

#压缩file1
[root@centos7 ~]# gzip file1
#解压文件
[root@centos7 ~]# gzip -d file1.gz

30.如何用zip命令对文件以及目录进行压缩、解压

# 压缩文件
[root@centos7 ~]# zip filename.zip filename
#压缩目录
[root@centos7 ~]# zip -r dir.zip dir/
#解压文件或者目录
[root@centos7 ~]# unzip filename.zip

31.创建一个自己名字的文件至/opt目录

touch /opt/gjy.txt

32.打包opt整个目录,并命名test_opt.tar.gz

[root@centos7 /]#  tar zcf test_opt.tar.gz  /opt

33.查看打包好的test_opt.tar.gz里的文件

[root@centos7 /]# tar tf  test_opt.tar.gz

34.将打包好的test_opt.tar.gz内容指定解压至/tmp目录

[root@centos7 ~]# tar xf test_opt.tar.gz  -C /tmp

35.打包etc目录下的所有文件,不要目录只要文件

[root@centos7 ~]# find /etc/ ! -type d |xargs tar zcf etc.tar.gz

36.打包etc目录下的所有文件,排除passwd,shadow

[root@centos7 ~]# find /etc -type f|xargs tar czf etc.tar.gz --exclude=etc/{passwd,shadow}

37.打包etc目录下的所有以p开头的文件

[root@centos7 /]# find etc/ -type f -name 'p*' |xargs tar zcf etc.tar.gz

38.打包etc目录下所有大于1M的文件

[root@centos7 /]# find etc/ -type f -size +1M |xargs tar zcf etc.tar.gz

rpm 工具部分

1.将你的镜像设备挂载到/mnt目录上

[root@centos7 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
mount: /dev/sr0 is already mounted or /mnt busy
/dev/sr0 is already mounted on /mnt
[root@centos7 ~]# ls /mnt/
CentOS_BuildTag images repodata
EFI isolinux RPM-GPG-KEY-CentOS-7
EULA LiveOS RPM-GPG-KEY-CentOS-Testing-7
GPL Packages TRANS.TBL

2.使用rpm命令安装tree这个软件。

[root@centos7 ~]# cd /mnt/Packages
[root@centos7 Packages]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
Preparing... ################################# [100%]
package tree-1.6.0-10.el7.x86_64 is already installed

3.查看你的服务器中是否安装httpd这个软件。

[root@centos7 ~]# rpm -q httpd
package httpd is not installed

4.接上题,如果没有请用rpm进行安装。(如果出现报错,请百度,做不出来,没有关系。)

1  rpm -ivh /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64.
2 rpm -ivh /mnt/Packages/httpd-tools-2.4.6-88.el7.centos.
3 rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
4 rpm -ivh /mnt/Packages/apr-util*
5 rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm
6 rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
7 rpm -ivh /mnt/Packages/httpd-tools-2.4.6-88.el7.centos.
8 yum search mime.types
9 rpm -ivh /mnt/Packages/mailcap-2.1.41-2.el7.noarch.rpm
10 rpm -ivh /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64

5.启动httpd这个服务,然后用你的10.0.0.0这个网段的IP在浏览器上面进行访问,看看是否有结果,如果没有,请关闭你的防火墙

1. systemctl stop firewalld
2. systemctl start httpd
3 ss -lntp
4 curl 10.0.0.100

6.查看httpd这个软件包里面的内容。

[root@centos7 Packages]# rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
...

7.查看httpd这个软件的配置文件是哪个

[root@centos7 Packages]# rpm -qc httpd
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd

8.查看httpd这个软件包的详细信息。

[root@centos7 Packages]# rpm -qi httpd
Name : httpd
Version : 2.4.6
Release : 88.el7.centos
Architecture: x86_64
Install Date: Tue 09 Jul 2019 03:57:58 PM CST
Group : System Environment/Daemons
Size : 9817309
License : ASL 2.0
Signature : RSA/SHA256, Mon 12 Nov 2018 10:28:53 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : httpd-2.4.6-88.el7.centos.src.rpm
Build Date : Mon 05 Nov 2018 09:48:57 AM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://httpd.apache.org/
Summary : Apache HTTP Server

9.查看一下netstat这个命令属于哪个软件包

[root@centos7 ~]# which netstat
/usr/bin/netstat
[root@centos7 ~]# rpm -qf `which netstat`
net-tools-2.0-0.24.20131004git.el7.x86_64

10.查看你的服务器中是否安装sl这个命令,如果有请使用rpm进行删除,没有就先安装再删除。

[root@centos7 ~]# rpm -q sl
package sl is not installed
[root@centos7 ~]# yum install -y sl
[root@centos7 ~]# rpm -e sl

11.联网下载mongodb这个软件,网站地址:https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/版本号为3.0.0主包名称为:mongodb-org (如果出现报错,请百度,做不出来,没有关系。)

[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-mongos-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-server-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-shell-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-tools-3.0.0-
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# mongo -version
MongoDB shell version: 3.0.0

13.列举一下rpm的常用选项有哪些?

rpm -ivh    # 安装
rpm -Uvh # 升级
rpm -e # 删除
rpm -q #查看指定软件包是否安装
rpm -qa #查看系统中已安装的所有RPM软件包列表
rpm -qi #查看指定软件的详细信息
rpm -ql #查询指定软件包所安装的目录、文件列表
rpm -qc #查询指定软件包的配置文件
rpm -qd #查询指定软件包的帮助文档
rpm -qf #查询文件或目录属于哪个RPM软件
rpm -q --scripts #查询rpm包安装前和安装后执行的脚本 #查询未安装的软件包信息
rpm -qip //查询未安装的rpm包详细信息
rpm -qlp //查询未安装的软件包会产生哪些文件

14.已知,服务器关机重启之后,挂载的设备就会被自动的卸载掉,那么怎样让挂载的磁盘在服务器开机的时候就自动挂载上呢?

[root@centos7 ~]# cd /mnt/Packages
[root@centos7 Packages]# blkid /dev/cdrom
/dev/cdrom: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
[root@centos7 Packages]# vim /etc/fstab
UUID=2018-11-25-23-54-16-00 /mnt xfs defaults 0 0

15.卸载你所挂载的设备,/dev/cdrom下面几题请使用yum命令

 rpm -e

16.yum安装rsync这个软件。

[root@centos7 ~]# yum install -y rsync

17.安装多个软件,例如sl、lsof、net-tools、nmap等

yum install -y sl lsof net-tools nmap

18.删除sl这个命令

[root@zls ~]# yum remove sl -y

19.查看一下ping这个命令属于哪个软件包

[root@centos7 ~]# yum provides ping

20.查看你的服务器中有哪些可用的yum源仓库。

[root@centos7 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
repo id
base/7/x86_64
extras/7/x86_64
updates/7/x86_64
repolist: 12,669

21.根据mysql命令 查找 mysql的配置文件在哪?

[root@centos7 ~]# rpm -qc $(rpm -qf `which mysql`)
/etc/my.cnf.d/client.cnf

22.根据/etc/hostname找出修改主机名的命令?

[root@centos7 ~]# rpm -ql $(rpm -qf $(which hostname))
/bin/dnsdomainname
/bin/domainname
/bin/hostname
/bin/nisdomainname
/bin/ypdomainname
/usr/share/doc/hostname-3.13
/usr/share/doc/hostname-3.13/COPYRIGHT
/usr/share/man/man1/dnsdomainname.1.gz
/usr/share/man/man1/domainname.1.gz
/usr/share/man/man1/hostname.1.gz
/usr/share/man/man1/nisdomainname.1.gz
/usr/share/man/man1/ypdomainname.1.gz

23.找到nginx的rpm包,安装上,并列出nginx的相关命令路径,以及配置文件,还有站点目录

[root@centos7 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@centos7 ~]# yum -y install nginx
[root@centos7 ~]# which nginx
[root@centos7 Packages]# rpm -ql $(rpm -qf `which nginx`)|grep index
/usr/share/nginx/html/index.html

拓展练习部分---打包压缩 及 RPM工具的更多相关文章

  1. Linux打包压缩解压工具

    第1章      Linux 打包压缩解压工具一.压缩.解压工具 compress/uncompress gzip/gunzip bzip2/bunzip2/ bzcat xz/unxz/ xzcat ...

  2. 拓展练习--find查找、打包压缩、服务器、磁盘挂载

    目录 find查找.打包压缩 服务器部分 磁盘挂载及单用户模式 find查找.打包压缩 1.超级用户(管理员用户)提示符是_#,普通用户提示符是$_. 2.如何快速返回上一次所在的目录? cd - 3 ...

  3. Vue项目模板--和--webpack自动化构建工具的---项目打包压缩使用

    [首先安装node.js]: 1. 从node.js官网下载并安装node,安装过程很简单. 2. npm 版本需要大于 3.0,如果低于此版本需要升级它: # 查看版本 npm -v2.3.0 #升 ...

  4. CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

    tar命令 選項與參數: -c :建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename) -t :察看打包檔案的內容含有哪些檔名,重點在察看『檔名』就是了: -x :解打包或解壓縮的 ...

  5. Linux操作系统的压缩、解压缩工具介绍

    Linux操作系统的压缩.解压缩工具介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.compress/uncompress命令常用参数 Linux compress命令: ...

  6. Linux CentOS7 VMware 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库

    一.安装软件包的三种方法 Linux下游三种安装方法,rpm工具.yum工具.源码包.rpm按装一个程序包时,有可能因为该程序包依赖另一个程序包而无法安装:yum工具,可以连同依赖的程序包一起安装. ...

  7. linux下如何打包压缩?解包解压?.tar文件.gz文件

    ===文件打包.压缩 ==打包 tar [root@521478.com]# tar -cvf etc1.tar /etc //c创建 v详细 f打包后文件名 [root@521478.com]# t ...

  8. Linux打包压缩.md

    Linux下打包压缩命令 下面学习一下压缩和打包的相关命令,首先得先明确两个概念,即:压缩和打包 .我们实际使用中一般是打包和压缩结合的使用,为了学习下面简要的介绍一下压缩文件或目录的命令. 压缩:将 ...

  9. mysql xtrabackup 备份恢复实现,mysql命令备份数据库,打包压缩数据库

    简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠 ...

随机推荐

  1. Mysq修改引擎

    [数据库]Mysql更改默认引擎为Innodb的步骤方法   前言 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定. 基本的差别为:MyI ...

  2. abstractmethod

    a class with an abstract method cannot be instantiated (that is, we cannot create an instance by cal ...

  3. MongoDB笔记【2】——基本概念和基本指令

    - 基本概念 数据库(database) 集合(collection) 文档(document) - 在MongoDB中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或数据库不存 ...

  4. Debug模式自定义NSlog

    #ifdef DEBUG # define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号 ...

  5. 重写UIlabel的setText:方法,过滤或者拦截text设置

    因为项目中很多地方都有对UIlabel的赋值,但是text.length == 0 或者为空时并没有去给默认值,导致很多界面空间是白板, 所以不想一个一个去改.希望能重写UIlabel 的setTex ...

  6. 跨域共享cookie

    1. JSP中Cookie的读写 Cookie的本质是一个键值对,当浏览器访问web服务器的时候写入在客户端机器上,里面记录一些信息.Cookie还有一些附加信息,比如域名.有效时间.注释等等. 下面 ...

  7. Android Studio使用tips

    安装位置:C:\Users\xxx\AppData\Local\Android\sdk https://developer.android.com/topic/libraries/support-li ...

  8. Delphi 如何在程序中执行动态生成的Delphi代码

    如何在程序中执行动态生成的Delphi代码 经常发现有人提这类问题,或者提问内容最后归结成这种问题 前些阵子有位高手写了一个“执行动态生成的代码”,这是真正的高手,我没那种功力,我只会投机取巧. 这里 ...

  9. excle里边的数据怎么导入oracle数据库

    方式一:(不正式) select出的列数与已经准备好的excle中的列数相同.select  xh,name from 表名 where xh = 'ghf' for update;  (查不到任何结 ...

  10. git私立的代码库邀请合作者步骤

    第一步,点击setting,如下图: 第二步输入对方的用户名,点击添加. 第三步拷贝链接给对方,等待对方访问加入. 对方访问后可以看到: 加入就可以了 然后对方可以看到: