Linux基础学习(八)

一、不同系统之间的文件传输

(一)、文件归档

        文件归档就是把多个文件变成一个归档文件。

        tar         参数           

                       c                                   #创建

                       f                                    #指定归档文件的名称

                       r                                    #向归档文件中添加文件

                       t                                    #显示归档文件的内容

                    --get                                #从归档文件中复制出文件或目录

                   --delete                            #从归档文件中删除文件

                       x                                    #取出归档文件中的所有内容

                     -C                                    #指定解档目录

                     -z                                     #gz格式压缩

                     -j                                      #bz2格式压缩 

                     -J                                      #xz格式压缩

        我们将“/etc”复制到桌面,之后我们所有的tar实验都将使用这个文件夹。

        例1:将etc的文件使用tar命令打包成etc.tar

                指令:tar -cf etc.tar etc

                    Linux基础学习(八)

                注意:在Linux系统中,使用tar对文件打包时,一般不建议源文件使用绝对路径,如果带有绝对路径,

         会将绝对路径打包。

                如下:

                            Linux基础学习(八)    

        例2:在桌面新建一个文件file,将其加入归档文件etc.tar中。

                touch file;tar -rf etc.tar file

                 Linux基础学习(八)  

        例3:我们从归档文件etc.tar 中复制出它的etc/abrt文件夹及其内容复制到桌面。

                tar -f etc.tar --get etc/abrt

                Linux基础学习(八)

        例4:我们将桌面的home 文件夹的内容重新打包到etc.tar中。

                tar -uf etc.tar home

                   Linux基础学习(八) 

         例5:将归档文件中的home 文件夹从归档文件中删除。

                Linux基础学习(八)

         例6:将归档文件etc.tar解出。

            tar -xf etc.tar

            Linux基础学习(八)

        例8:将文件etc 压缩为gz格式的压缩文件

                tar -zcf etc.tar.gz etc

                Linux基础学习(八)

                注意:

                        上面的命令其实分为了两个过程,将目录里所有文件打包成.tar后,并且将其用gzip压缩,生成

                 一个gzip压缩过的包,命名为etc.tar.gz

                        Linux基础学习(八)

                    该中间过程产生过一个etc.tar的归档文件。

         例9:将文件etc 压缩为bz2格式的压缩文件.

                    tar -jcf etc.tar.bz2 etc

                    Linux基础学习(八)

               注意:

                         该命令其实分为了两个过程,将目录里所有文件打包成.tar后,并且将其用bzip2压缩,生成

                 一个bz2压缩过的包,命名为etc.tar.bz2 ,其过程和例8相似。

         例9:将文件etc 压缩为xz格式的压缩文件。

                tar -Jcf etc.tar.xz etc

                Linux基础学习(八)

            这个过程和例8例9一样。

        例10:将xz格式的压缩文件,解压。

                Linux基础学习(八)

            tar -xf    #可以将xz 、 bz2 、gz 格式的压缩包解压

    注意:

               上面命令的参数-f是必须的-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接

      归档文件或压缩文件的的名称 

(二)、文件压缩。

        1、gz压缩

                gzip etc.tar             #压缩成gz格式
                gunzip  etc.tar.gz             #解压gz格式压缩包
                tar zcf etc.tar.gz /etc     #把文件归档为tar并压缩成gz
                tar zxf etc.tar.gz             #解压并解档gz格式压缩包

            例1:使用gzip命令压缩文件etc

                Linux基础学习(八)

                注意:使用gzip命令压缩文件时,只能压缩归档文件,不能压缩普通文件夹。

                 Linux基础学习(八)

             例2:使用gunzip命令解压文件

                  Linux基础学习(八)  

          注意:使用gunzip可以解压未归档文件,我们使用tar -xf 可以解压为普通文件

     2、xz压缩

            xz etc.tar                 #压缩成xz格式
            unxz  etc.tar.xz                 #解压xz格式压缩包
            tar Jcf etc.tar.xz /etc         #把文件归档为tar并压缩成zx
            tar Jxf etc.tar.xz                 #解压并解档xz格式压缩包

            例1:将etc.tar文件压缩为xz格式

                  Linux基础学习(八)

                    使用xz命令压缩文件时,只能压缩归档文件,不能压缩普通文件夹

            例2:将xz压缩文件解压

                    Linux基础学习(八)

            注意:使用unzx可以解压未归档文件,我们使用tar -xf 可以解压为普通文件

      3、bz2压缩

            bzip2 etc.tar         #压缩成bz2格式
            bunzip2 etc.tar.bz2         #解压bz2格式压缩包
            tar jcf etc.tar.bz2 /etcd #把文件归档为tar并压缩成bz2
            tar jxf etc.tar.bz2                 #解压并解档bz2格式压缩包

        例1:将bzip2 将归档文件压缩。

            Linux基础学习(八)

          使用bzip2命令压缩文件时,只能压缩归档文件,不能压缩普通文件夹

        例2:bunzip2解压文件

            Linux基础学习(八)

        注意:使用bunzip2可以解压未归档文件,我们使用tar -xf 可以解压为普通文件

    4、zip压缩

        zip -r etc.tar.zip etc.tar         #压缩成zip格式
        unzip etc.tar.zip         #解压zip格式压缩包

        例1: 将etc.tar 使用zip进行压缩

            Linux基础学习(八)

            zip 命令也可以压缩普通文件夹(不是归档文件),但是压缩速度比较慢,不建议使用。

            zip压缩命令压缩文件后,源文件依旧存在。

        例2:unzip将压缩文件解压

            Linux基础学习(八)

          unzip解压缩文件后,源压缩文件依旧存在  

(三)、不同主机中文件的传输

       1、SCP

             scp    file     [email protected]:/dir         #上传

            Linux基础学习(八)

           如上,将本地的文件etc.tar.xz传输给主机192.168.3.15,并且放在/root/Desktop/ 下

              scp    [email protected]:/dir/file  /dir #下载

         Linux基础学习(八)     

        如上为从另一台主机192.168.3.17的/root/Desktop/目录下下载文件etc.tar.zip到本地的/root/Desktop/目录下。

   2、rsync

       rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 下面是rsync的部分简单的操作

    rsync [参数] file [email protected]:/dir
    rsync -r #同步目录
-l #不忽略链接
-p #不忽略文件权限
-t #不忽文件时间戳
-g #不忽文件所有组
-o #不忽文件所有人
-D #不忽略设备文件

     rsync [参数] file [email protected]:/dir    将本地文件file同步到服务器。

    例:

            Linux基础学习(八)

            Linux基础学习(八)

二、软件安装

(一)软件名称识别

Linux基础学习(八)

(二)使用yum命令安装软件       

    1、yum

        上层软件管理工具,最重要的的功能是可以解决软件运行时的依赖关系。yum命令能够使用的前提是必须要有yum源,以及配置源的指向文件

(三)server源端        

     1、本地镜像的挂载

        在本机上保存与本机系统版本相同的iso镜像文件,让后将该文件挂载。

        第一步:

               在根目录下穿件文件夹redhat7.4-mount ,并找到本地镜像文件的保存路径,这里我保存

        在 /iso 下。

        第二步:

               把rhel-server-7.4-x86_64-dvd.iso挂在到/redhat7.4-mount以便访问镜像中的文件
               mount /iso/rhel-server-7.4-x86_64-dvd.iso /redhat7.4-mount

        Linux基础学习(八)

                我们可以使用df 命令来查看我们的设备挂载点。

            Linux基础学习(八)

     2、配置本机yum指向

            第一步 :

                   rm -fr /etc/yum.repos.d/*

                   删除所有本地原有的yum指向文件

             第二步:

                    vim /etc/yum.repos.d/redhat7-4.repo   配置yum指向文件,所有的yum指向文件必

            须是repo文件

                        Linux基础学习(八)

                    [redhat7.4]     软件仓库

                    name=redhat7.4            # 软件的说明

                    baseurl=file:///redhat7.4-mount  #当安装源在本地,则则用 file:// ,/mnt 安装源在

                                                                          #本地的目录

                    gpgcheck=0       #0表示不检测第三方软件的安全性,并且允许第三方软件的安装。

            第三步:

                  yum clean all    #清除yum缓存,可以绕开没有root权限的问题。

                 注:

                        yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁

                盘间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除

                header,yum clean packages清除下载的rpm包,yum clean all一全部清除。


                yum repolist # 把yum的各个仓库的信息都给列出来

               Linux基础学习(八)

            根据不同的版本号,软件的个数也不一样

      3、安装资源共享服务

            systemctl stop firewalld            #关闭火墙策略
            systemctl disable firewalld        #火墙开机不自启动

            yum install httpd -y                   #安装hettp服务
            systemctl start httpd                 #启动http服务
            systemctl enable httpd              #开机自启http服务

            我们可以使用systemctl status firewalld.server和systemctl status httpd 来查火墙和http

     服务的状态是不是和我们设置的一样。

            Linux基础学习(八)

Linux基础学习(八)

      4、建立共享目录,并挂在镜像文件到共享目录上

            mkdir /var/www/html/rhel7.4

            umount /redhat7.4-mount

            mount  /iso/rhel-server-7.4-x86_64-dvd.iso /var/www/html/rhel7.4

            Linux基础学习(八)

            注:

                    /var/www/html/   是我们的系统默认发布目录

     5、测试

            在浏览器中输入:http://本机ip/rhel7.0可以看到镜像中的内容。

            Linux基础学习(八)

      6、修改本机yum源指向

              rm -fr /etc/yum.repos.d/*                   #删除原有的yum指向
              vim /etc/yum.repos.d/yum.repo         #创建新的yum指向。

                Linux基础学习(八)

                     192.168.3.17后面会默认的找到我们的默认发布目录,所以我们的路径不需

             要   /var/www/html/ 

            当然我们也可以改为 baserul=file:///var/www/html/rhel7.4

                使用下面两条命令可以检车yum源配置是否正确。

           Linux基础学习(八)

      7、开机自动挂在iso

             vim /etc/rc.d/rc.local

            将命令mount rhel-server-7.4-x86_64-dvd.iso /var/www/html/rhel7.4 写在rc.loca文件

     的末尾行。并且改变其权限 chmod +x /etc/rc.d/rc.local   

     8、另一台主机配置yum源

            Linux基础学习(八)

        我们两台主机的yum源都指向了192.168.3.17这个主机的默认发布目录下的rhel7.4目录下的iso文件。

   9、yum命令的使用

        yum install    softwarename         #安装
        repolist                 #列出设定yum源信息
        remove softwarename         #卸载
        list softwarename                 #查看软件源中是否有次软件
        list all                 #列出所有软件名称
l       ist installd         #列出已经安装的软件名称
        list available         #列出可以用yum安装的软件名称
        clean all                 #清空yum缓存
        search    softwareinfo         #根据软件信息搜索软件名字
        whatprovides filename         #在yum源中查找包含filename文件的软件包
        update              #更新软件
        history         #查看系统软件改变历史
        reinstall    softwarename #重新安装
        info    softwarename         #查看软件信息
        groups list         #查看软件组信息
        groups info    softwaregroup #查看软件组内包含的软件
        groups install    softwaregroup #安装组件
        groups remove    softwaregroup #卸载组件