• linux-文件查找、压缩和软件安装


    一、文件查找
    1、简介
    (1)which:命令查找
    [root@localhost ~]# which ls
    alias ls='ls --color=auto'
    //ls默认自动 携带了color和auto
        /usr/bin/ls
    (2)find:文件查找,针对文件名
    语法:[root@localhost ~]# find /etc  -name opt
    /etc/opt
    命令      路径     选项    表达式     动作
    按文件名找
    [root@localhost ~]# find  /etc     -name   "hosts"
    /etc/hosts
    /etc/avahi/hosts
    //区分大小写
    [root@localhost ~]# find  /etc     -iname   "hosts"
    /etc/hosts
    /etc/avahi/hosts
    //   +i    不区分大小写
    按文件大小去找
    [root@localhost ~]# find /etc/   -size  +4M
    /etc/udev/hwdb.bin
    按目录的深度
    [root@localhost ~]# find / -maxdepth 5  -a  -name    o
    /var/lib/yum/yumdb/o
    按用户查找
    [root@localhost ~]# find  /home     -user    user01
    /home/user01
    按类型查找
    localhost ~]# touch /dev/qqq
    [root@localhost ~]# find   /dev/  -type    f(普通文件)
    /dev/qqq
    [root@localhost ~]# find   /dev/  -type    b(块设备)
    /dev/md0、
    按权限查找
    [root@localhost ~]# touch 714
    [root@localhost ~]# chmod 714  714
    [root@localhost ~]# find . -perm   714
    ./714
    [root@localhost ~]# find . -perm   714     -ls(动作,精确权限)
    33829159    0 -rwx--xr--   1 root     root            0 8月  7 22:11 ./714
    [root@localhost ~]# find . -perm   714     -delete
    //找到后再删除
    [root@localhost ~]# find /etc/ -name ifcfg*    - ok   cp -rvf {}  /tmp  \;
    < cp ... /etc/sysconfig/network-scripts/ifcfg-lo > ?yes
    < cp ... /etc/sysconfig/network-scripts/ifcfg-ens33 > ?yes
    -ok:复制
    [root@localhost ~]# ls /tmp
    //查看
    ifcfg-ens33
    ifcfg-lo
    (3)locate:文件查找,依赖数据库
    二、文件打包和压缩
    1、简介:tar命令是linux系统中 备份文件的可靠方法
    2、 打包、压缩(z)
    [root@localhost ~]# ls -l   /etc    |wc  -l
    //查看/etc中的信息有几行
    279
    [root@localhost ~]# tar -cf  1.tar     /etc
    //打包
    tar: 从成员名中删除开头的“/”
    [root@localhost ~]# tar -czf   1-gzip.tar.gz     /etc
    //压缩    z:gzip  压缩工具
    tar: 从成员名中删除开头的“/”
    [root@localhost ~]# ls  -l   |   grep   tar
    //查看
    总用量 78680
    -rw-r--r--. 1 root root 12338116 8月   8 10:02 1-gzip.tar.gz
    -rw-r--r--. 1 root root 39188480 8月   8 10:00 1.tar
    [root@localhost ~]# rm  -rf   etc
    //删除
    3、 解压(-x)、解包
    [root@localhost ~]# tar   -xf    1.tar
    //解压
    [root@localhost ~]# ls
    1-gzip.tar.gz  666              etc     file24                word  视频  音乐
    1.tar          777              file1   initial-setup-ks.cfg  yes   图片  桌面
    1.txt          888              file2   no     
    [root@localhost ~]# tar -xf  1.tar     -C /tmp/
    //解压并且重定向到   /tmp中
    [root@localhost ~]# ls /tmp/
    etc
    三、软件安装
    1、RPM包(red hat package manager)(二进制包)
    特点:
    • 无需编译,可以直接使用
    • 无法设定个人设置,开关功能
    2、源码包
    特点:
    • source code 需要经过c/c++编译环境编译后才能运行
    • 可以设定个人设置,开关功能
    • 配置复杂
    3、 RPM包管理
    3.1 YUM(yellow dog updater modlified)工具
    特点:
    • 基于RPM包管理,能够从指定的服务器 自动下载RPM包并且安装
    • 能够 自动处理依赖关系,并且一次安装所有依赖的软件包,无需繁琐的一次次的下载,安装
    3.1.1YUM本地源:系统安装光盘
    目的:通知linux服务器,通过本机的系统光盘获得软件包,并且安装软件(设置一次)
    (0)观察YUM核心配置目录
    [root@localhost ~]# cd  /etc/yum.repos.d/
    // 进入  etc/yum.repos.d/
    [root@localhost yum.repos.d]# ls
    CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
    CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
    CentOS-Debuginfo.repo  CentOS-Sources.repo
    (1)删除官方YUM库
    [root@localhost yum.repos.d]# mv   /etc/yum.repos.d/*   /tmp
    [root@localhost yum.repos.d]# mv /etc/yum.repos.d/*     /tmp
    //把/etc/yum.repos.d/*   移动到  /tmp
    (2) 编写本地YUM库配置文件
    [root@localhost yum.repos.d]# vim /etc/yum.repos.d/dvd.repo
    //
    [root@localhost yum.repos.d]# cat /etc/yum.repos.d/dvd.repo
    [dvd]
    //某一个库的名称
    name=dvd123
    //dvd库的说明
    baseurl=file:///mnt/cdrom
    //下载库的具体地址
    gpgcheck=0
    //0:关闭校验  1:开启校验
    [root@localhost yum.repos.d]# mkdir /mnt/cdrom
    //创建   文件夹 /mnt/cdrom
    [root@localhost yum.repos.d]# ls  /dev/cdrom
    //查看
    /dev/cdrom
    (3) 挂载安装光盘
    注意:先在机器上插光盘
    [root@localhost yum.repos.d]# mount /dev/cdrom        /mnt/cdrom/
    //挂载
    mount: /dev/sr0 写保护,将以只读方式挂载
    mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
           /dev/sr0 已经挂载到 /run/media/root/CentOS 7 x86_64 上
           /dev/sr0 已经挂载到 /mnt/cdrom 上
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost yum.repos.d]# ls  /mnt/cdrom/Packages/  |  wc  -l
    //查看rpm资源包的数量
    4071
    [root@localhost ~]# vim /root/.bashrc
    mount /dev/cdrom   /mnt/cdrom
    # .bashrc
    # User specific aliases and functions
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    # Source global definitions
    if [ -f /etc/bashrc ]; then
            . /etc/bashrc
    fi
    //做完 此步骤后达到目的:重启后自动挂载
    [root@localhost ~]# ls   /mnt/cdrom/
    CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
    EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
    EULA             isolinux  repodata  TRANS.TBL
    (4)使用YUM安装和卸载程序
    [root@localhost ~]# yum install -y httpd//安装
    [root@localhost ~]# yum -y install httpd
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 httpd.x86_64.0.2.4.6-95.el7.centos 将被 安装
    --> 正在处理依赖关系 httpd-tools = 2.4.6-95.el7.centos,它被软件包 httpd-2.4.6-95.el7.centos.x86_64 需要
    --> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-95.el7.centos.x86_64 需要
    --> 正在检查事务
    ---> 软件包 httpd-tools.x86_64.0.2.4.6-95.el7.centos 将被 安装
    ---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
    --> 解决依赖关系完成
    依赖关系解决
    =======================================================================================
    Package              架构            版本                          源            大小
    =======================================================================================
    正在安装:
    httpd                x86_64          2.4.6-95.el7.centos           dvd          2.7 M
    为依赖而安装:
    httpd-tools          x86_64          2.4.6-95.el7.centos           dvd           93 k
    mailcap              noarch          2.1.41-2.el7                  dvd           31 k
    事务概要
    =======================================================================================
    安装  1 软件包 (+2 依赖软件包)
    总下载量:2.8 M
    安装大小:9.6 M
    Downloading packages:
    ---------------------------------------------------------------------------------------
    总计                                                       28 MB/s | 2.8 MB  00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      正在安装    : mailcap-2.1.41-2.el7.noarch                                        1/3
      正在安装    : httpd-tools-2.4.6-95.el7.centos.x86_64                             2/3
      正在安装    : httpd-2.4.6-95.el7.centos.x86_64                                   3/3
      验证中      : httpd-tools-2.4.6-95.el7.centos.x86_64                             1/3
      验证中      : mailcap-2.1.41-2.el7.noarch                                        2/3
      验证中      : httpd-2.4.6-95.el7.centos.x86_64                                   3/3
    已安装:
      httpd.x86_64 0:2.4.6-95.el7.centos                                                  
    作为依赖被安装:
      httpd-tools.x86_64 0:2.4.6-95.el7.centos        mailcap.noarch 0:2.1.41-2.el7       
    完毕!
    [root@localhost ~]# systemctl start   httpd//卸载
    (5)模拟客户机访问
    3.1.2使用YUM管理RPM包
    (1)安装:
    全新安装:[root@localhost ~]# yum  -y  install  httpd  vsftbd
    重新安装:[root@localhost ~]# yum  -y  reinstall  httpd  vsftbd
    升级安装:[root@localhost ~]# yum  -y  update  httpd  vsftbd
    (2)查询
    查询HTTP程序
    [root@localhost ~]# yum   list   httpd
    (3)卸载
    [root@localhost ~]# yum -y remove   httpd
    3.2 RPM工具
    (1)安装
    [root@localhost ~]# cd /mnt/cdrom/Packages
    //进入    /mnt/cdrom/Packages
    [root@localhost Packages]# rpm  -ivh wget-1.14-18.el7_6.1.x86_64.rpm
    // i:安装
    警告:wget-1.14-18.el7_6.1.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    准备中...                          ################################# [100%]
        软件包 wget-1.14-18.el7_6.1.x86_64 已经安装
    (2)查询
    [root@localhost Packages]# rpm -q wget-1.14-18.el7_6.1.x86_64
    //q:查询
    wget-1.14-18.el7_6.1.x86_64
    (3)卸载
    [root@localhost Packages]# rpm -evh wget
    //e:卸载
    准备中...                          ################################# [100%]
    正在清理/删除...
       1:wget-1.14-18.el7_6.1             ################################# [100%]
    注意:安装时必须要有.rpm后缀,查询、卸载可以不加
    rpm不能处理依赖关系
    sane-backends-libs-1.0.24-12.el7.x86_64.rpm
    [root@localhost Packages]# rpm   -ivh xguest-1.0.10-32.el7.noarch.rpm
    警告:xguest-1.0.10-32.el7.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    错误:依赖检测失败:
        policycoreutils-sandbox 被 xguest-1.0.10-32.el7.noarch 需要
    [root@localhost Packages]# ls policycoreutils-sandbox-2.5-34.el7.x86_64.rpm
    //查找依赖包
    policycoreutils-sandbox-2.5-34.el7.x86_64.rpm
    powertop-2.9-1.el7.x86_64.rpm
    [root@localhost Packages]# rpm  -ivh policycoreutils-sandbox-2.5-34.el7.x86_64.rpm
    警告:policycoreutils-sandbox-2.5-34.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
    错误:依赖检测失败:
        matchbox-window-manager 被 policycoreutils-sandbox-2.5-34.el7.x86_64 需要
        xorg-x11-server-Xephyr >= 1.14.1-2 被 policycoreutils-sandbox-2.5-34.el7.x86_64 需要
    //安装依赖包时又需要装其他的包
    4、 源码包管理
    4.1在官方网站下载tengine包
    [root@localhost ~]# ls  桌面
    tengine-2.3.3.tar.gz
    4.2部署tengine
    (1)准备编译环境的编译器
    [root@localhost 桌面]# yum install gcc make zlib-devel.x86_64 ib-devel pcre pcre-devel openssl-devel
    [root@localhost ~]# useradd www
    //创建用户www
    (2)解压
    [root@localhost ~]# tar xvf tengine-2.3.3.tar.gz
    (3)配置
    [root@localhost ~]# cd tengine-2.3.3/
    //进入源码包
    conf/      configure  contrib/   
    [root@localhost tengine-2.3.3]# ./configure --user=www --group=www  --prefix=/usr/local/nginx
    (4)编译
    [root@localhost tengine-2.3.3]# make
    (5)安装
    [root@localhost tengine-2.3.3]# make install
    (6)启动调试
    [root@localhost tengine-2.3.3]# /usr/local/nginx/sbin/nginx
    四、实际应用
    (1)清除原有的YUM配置
    [root@localhost ~]# cd  /etc/yum.repos.d/
    //进入     /etc/yum.repos.d/
    (2)下载阿里巴巴官网配置
    下载基础包
    [root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    //下载的第一个镜像文件centeros
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file /etc/yum.repos.d/CentOS-Base.repo:
    Warning: 没有那个文件或目录
    100  2523  100  2523    0     0   4573      0 --:--:-- --:--:-- --:--:--  4570
    curl: (23) Failed writing body (0 != 2523)
    下载扩展包
    wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
    //下载第二个包扩展包
    (3)刷新yum仓库
    [root@localhost yum.repos.d]# yum makecache
  • 相关阅读:
    webpack中stylelint配置,手动校验样式方案
    【spring-02】容器实现
    Linux 学习笔记(2)—— 关于文件和目录
    docker-compose:搭建酷炫私有云相册photoprism
    linux下安装向日葵
    [附源码]java毕业设计学习资源共享与在线学习系统
    这个用Python写的开源爬虫网站 让你秒搜所有豆瓣好书(附零基础学习资料)
    Shiro入门-shiro与spring整合
    三月以来5起事故,有限空间作业如何管控?
    ora-15025 ora-27041问题处理
  • 原文地址:https://blog.csdn.net/qq_68163788/article/details/126245755