ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习笔记3

2019-08-11 18:00:09  阅读:129  来源: 互联网

标签:文件 分区 程序包 文件系统 笔记 指定 学习 yum


     一文件查找和压缩
             1文件查找
             locate 搜索依赖于数据库,非实时搜索,搜索新建文件需手动更新,适于搜索稳定不频繁修改文件

             find   实时搜索,精确搜索,默认当前目录递归搜索
             find用法
             -maxdepth  level 最大搜索目录深度
             -mindepth level 最小搜索目录深度
             -name 文件名称
             -inum n   inode号查找
             -user 查找属主为指定用户(UID)的文件  
             -group 查找属组为指定组(GID)的文件  
             -uid 查找属主为指定的UID号的文件
             -gid 查找属组为指定的GID号的文件
             -nouse查找没有属主的文件
             -nogroup查找没有属组的文件 
                -type 
                • f: 普通文件 
                • d: 目录文件 
                • l: 符号链接文件 
                • s:套接字文件 
                • b: 块设备文件 
                • c: 字符设备文件 
                • p: 管道文件
                    空文件或目录   -empty
                 根据文件大小来查  -size 常用单位:k, M, G,
                 以“天”为单位   
                 -atime    -mtime    -ctime
                 以“分钟”为单位      -amin      -mmin      -cmin 
                 根据权限查找   -perm   
                 MODE: 精确权限匹配  
                 /MODE:任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+ 从centos7开始淘汰  
                 -MODE:每一类对象都必须同时拥有指定权限,与关系
                 0 表示不关注 

                2压缩解压工具
                2.1compress 
                -d 解压缩,相当于uncompress  
                -c 结果输出至标准输出,不删除原文件  
                -v 显示详情
                uncompress file.Z  解压缩 

                2.2gzip 
                -d 解压缩,相当于gunzip  
                -c 结果输出至标准输出,保留原文件不改变  
                -# 指定压缩比,#取值为1-9,值越大压缩比越大
                gunzip file.gz   解压缩
                zcat file.gz   不显式解压缩的前提下查看文本文件内容

                2.3bzip2 
                -k keep, 保留原文件  
                -d 解压缩  
                -# 1-9,压缩比,默认为9
                bunzip2 file.bz2  解压缩
                bzcat file.bz2  不显式解压缩的前提下查看文本文件内容 

                2.4xz-k keep, 保留原文件
                -d 解压缩  
                -# 压缩比,取值1-9,默认为6
                unxz file.xz  解压缩
                xzcat file.xz  不显式解压缩的前提下查看文本文件内容 

                打包压缩  zip –r
                解包解压缩  unzip

                2.5tar 
                创建归档,保留权限     tar -cpvf 
                追加文件至归档,不支持对压缩文件追加     tar -r -f 
                查看归档文件中的文件列表     tar -t -f 
                展开归档     tar -x -f
                结合压缩工具实现归档并压缩     -j: bzip2, -z: gzip, -J: xz 

                2.6 cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以 “.cpio”或者“.tar”结尾的文件
                 cpio [选项] > 文件名或者设备名
                 cpio [选项] < 文件名或者设备名
                 -o  将文件拷贝打包成文件或者将文件输出到设备上
                 -O 输出到指定的归档文件名  
                 -A 向已存在的归档文件中追加文件  
                 -i  解包,将打包文件解压或将设备上的备份还原到系统  
                 -I 对指定的归档文件名解压  
                 -t 预览,查看文件内容或者输出到设备上的文件内容   
                 -F 使用指定的文件名替代标准输入或输出  
                 -d  解包生成目录,在cpio还原时,自动的建立目录  
                 -v  显示打包过程中的文件名称

        二文本处理SED
        -n  不输出模式空间内容到屏幕,即不自动打印  
        -e  多点编辑  
        -f  从指定文件中读取编辑脚本  
        -r  支持使用扩展正则表达式  
        -i.bak  备份文件并原处编辑 

        编辑命令:  
        d  删除模式空间匹配的行,并立即启用下一轮循环  
        p  打印当前模式空间内容,追加到默认输出之后  
        a [\]text 在指定行后面追加文本,支持使用\n实现多行追加  
        i [\]text 在行前面插入文本  
        c [\]text 替换行为单行或多行文本  
        w /path/file 保存模式匹配的行至指定文件  
        r /path/file 读取指定文件的文本至模式空间中匹配到的行后  
        =  为模式空间中的行打印行号  
        !  模式空间中匹配行取反处理   

        s///  查找替换,支持使用其它分隔符,s@@@,s###
        g 行内全局替换  
        p 显示替换成功的行  
        w   /PATH/FILE 将替换成功的行保存至文件中 

        三软件包管理
        管理程序包的方式
        使用包管理器:rpm  
        使用前端工具:yum, dnf 

        1  rpm安装
        -ivh   安装软件包并显示详细信息及执行进度
        --test: 测试安装,但不真正执行安装,即dry run模式  
        --nodeps:忽略依赖关系  
        --replacepkgs | replacefiles  
        --nosignature: 不检查来源合法性  
        --nodigest:不检查包完整性  
        --noscripts:不执行程序包脚本   
        %pre: 安装前脚本   --nopre   
        %post: 安装后脚本   --nopost   
        %preun: 卸载前脚本 --nopreun   
        %postun: 卸载后脚本  --nopostun

        rpm 升级
        upgrade:安装有旧版程序包,则“升级”       如果不存在旧版程序包,则“安装”  
        freshen:安装有旧版程序包,则“升级”       如果不存在旧版程序包,则不执行升级操作  
        rpm -Uvh PACKAGE_FILE ...  
        rpm -Fvh PACKAGE_FILE ...  
        --oldpackage:降级  
        --force: 强制安装 

        rpm包查询
        -a:所有包  
        -f:查看指定的文件由哪个程序包安装生成  
        -p rpmfile:针对尚未安装的程序包文件做查询操作  
        --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供  
        --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖 
        rpm2cpio 包文件|cpio –itv  预览包内文件
        rpm2cpio 包文件|cpio –id  “*.conf” 释放包内文件 
        --changelog:查询rpm包的changelog  
        -c:查询程序的配置文件  
        -d:查询程序的文档  
        -i:information  
        -l:查看指定的程序包安装后生成的所有文件  
        --scripts:程序包自带的脚本  
        --provides:列出指定程序包所提供的CAPABILITY  
        -R:查询指定的程序包所依赖的CAPABILITY 
        常用查询用法 -qi     -qc    -ql    -qd   -qpi   -qpl    -qa

        rpm包卸载
        rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...  
        包卸载时,对应的配置文件不会删除以FILENAME.rpmsave形式保留 

        rpm包校验
        S文件大小不同
        M模式不同(包括权限和文件类型)
        5摘要不同
        D设备主要/次要编号不匹配
        L 路径不匹配
        U用户所有权不同
        G组所有权不同
        T mtime不同
        P功能不同

        rpm数据库
        数据库重建:  /var/lib/rpm
        initdb: 初始化   如果事先不存在数据库,则新建  否则,不执行任何操作  
        rebuilddb:重建已安装的包头的数据库索引目录 

        2  yum
        yum客户端配置文件:  
        /etc/yum.conf:为所有仓库提供公共配置  
        /etc/yum.repos.d/*.repo:为仓库的指向提供配置 
        yum的repo配置文件中可用的变量:  
        $releasever: 当前OS的发行版的主版本号  
        $arch: 平台,i386,i486,i586,x86_64等  
        $basearch:基础平台;i386, x86_64  
        $YUM0-$YUM9:自定义变量 
        显示仓库列表  yum repolist 
        显示程序包   yum list  
        安装程序包 yum install            
        yum reinstall 重新安装
        升级程序包  yum update 
        yum downgrade 降级 
        检查可用升级:  yum check-update 
        卸载程序包:  yum remove

        查看程序包yum info 
        查看指定的特性是由哪个程序包所提供  yum provides 
        清理本地缓存  yum clean 
        yum search 以指定的关键字搜索程序包名及summary信息 
        查看指定包依赖  yum deplist 
        查看yum事务历史  yum history 

        系统安装光盘作为本地yum仓库
        (1) 挂载光盘至某目录,例如/mnt/cdrom   mount /dev/cdrom /mnt/cdrom 
        (2) 创建配置文件   [CentOS7]   name=   baseurl=   gpgcheck=   enabled= 
        创建yum仓库:  createrepo [options] <directory> 

        3编译安装
        c/c++编译器: gcc 
        C语言源代码编译安装三步骤
        1、./configure   
            (1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的 指定以及Makefile.in文件生成Makefile   
            (2) 检查依赖到的外部环境,如依赖的软件包 
        2、make  根据Makefile文件,构建应用程序 
        3、make install  复制文件到相应路径 

三磁盘分区和文件系统
1磁盘分区
     作用
     1)优化I/O性能 
     2)实现磁盘空间配额限制 
     3)提高修复速度 
     4)隔离系统和程序 
     5)安装多个OS 
     6)采用不同文件系统 
MBR和GPT分区的区别
     mbr分区表只支持单个分区最大空间为2TB,可划分为4个主分区或3个主分区和1个扩展分区,扩展分区可有多个逻辑分区
     gpt分区无4个主分区限制

管理分区
列出块设备 lsblk 
fdisk 创建MBR分区 
gdisk 创建GPT分区 
parted 高级分区操作 
重新设置内存中的内核分区表版本 partprobe 

分区工具
gdisk /dev/sdb 类似fdisk 的GPT分区工具 
fdisk -l 查看分区 fdisk /dev/sdb  管理分区 
子命令
        p  分区列表 
        t  更改分区类型 
        n  创建新分区 
        d  删除分区 
        v  校验分区 
        u  转换单位 
        w  保存并退出 
        q  不保存并退出 

    同步分区表
    查看内核是否已经识别新的分区  cat /proc/partations 
    centos6通知内核重新读取硬盘分区表  
    新增分区用   partx -a  /dev/DEVICE     kpartx -a /dev/DEVICE -f: force  
    删除分区用  partx -d --nr M-N /dev/DEVICE 
    CentOS 5,7: 使用partprobe  

    2文件系统
     Linux文件系统
     ext2(Extended file system):适用于那些分区容量不是太大,更新也不频繁的情况, 例如 /boot 分区  
     ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常 中恢复。它通常被用作通用的文件系统  
     ext4:是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和 使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升  
     xfs:SGI,支持最大8EB的文件系统  
     btrfs(Oracle), reiserfs, jfs(AIX), swap 

     创建文件系统
     mkfs命令
     (1) mkfs.FS_TYPE /dev/DEVICE   
                 ext4   xfs   btrfs   vfat  
     (2) mkfs -t FS_TYPE /dev/DEVICE   
                 -L 'LABEL' 设定卷标 

        创建ext文件系统
        mke2fs:ext系列文件系统专用管理工具  
        -t {ext2|ext3|ext4}   指定文件系统类型   
        -b {1024|2048|4096}  指定块大小  
        -L ‘LABEL’    设置卷标  
        -j 相当于 -t ext3     mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3  
        -i   # 为数据空间中每多少个字节创建一个inode;不应该小于block大小  
        -N # 指定分区中创建多少个inode  
        -I  一个inode记录占用的磁盘空间大小,128---4096  
        -m # 默认5%,为管理人员预留空间占总空间的百分比  
        -O FEATURE[,...] 启用指定特性  
        -O ^FEATURE 关闭指定特性 

        tune2fs:重新设定ext系列文件系统可调整参数的值  
        -l 查看指定文件系统超级块信息;super block  
        -L 'LABEL’ 修改卷标  
        -m # 修预留给管理员的空间百分比  
        -j 将ext2升级为ext3  
        -O 文件系统属性启用或禁用, –O ^has_journal  
        -o 调整文件系统的默认挂载选项,–o ^acl   
        -U UUID 修改UUID号 
        dumpe2fs:显示ext文件系统信息,将磁盘块分组管理  
        -h:查看超级块信息,不显示分组信息 
        xfs_info:显示已挂载的 xfs 文件系统信息 

        文件系统检测修复
         fsck: File System Check  
                fsck.FS_TYPE  
                fsck -t FS_TYPE
                -a 自动修复  
                -r 交互式修复错误  
         e2fsck:ext系列文件专用的检测修复工具  
                -y 自动回答为yes  
                -f 强制修复  
                -p 自动进行安全的修复文件系统问题 
         xfs_repair:xfs文件系统专用检测修复工具  
         -f 修复文件,而设备  
         -n 只检查  
         -d 允许修复只读的挂载设备,在单用户下修复 / 时使用,然后立即reboot 

         挂载
         挂载方法:mount DEVICE MOUNT_POINT 
         mount:通过查看/etc/mtab文件显示当前已挂载的所有设备
         -t vsftype  指定要挂载的设备上的文件系统类型 
         -r   readonly,只读挂载 
         -w   read and write, 读写挂载 
         -n   不更新/etc/mtab,mount不可见 
         -a    自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件 中,且挂载选项中有auto功能) 
         -L 'LABEL'  以卷标指定挂载设备 
         -U 'UUID'   以UUID指定要挂载的设备 
         -B, --bind  绑定目录到另一个目录上 
         查看内核追踪到的已挂载的所有设备  cat /proc/mounts 

         查看挂载情况  findmnt   MOUNT_POINT|device 
         查看正在访问指定文件系统的进程  
         lsof MOUNT_POINT  
         fuser -v MOUNT_POINT 
         终止所有在正访问指定的文件系统的进程  
         fuser -km MOUNT_POINT 
         卸载  umount  

     挂载配置文件
     /etc/fstab每行定义一个要挂载的文件系统 
     1、要挂载的设备或伪文件系统  
     设备文件  
     LABEL:LABEL=""  
     UUID:UUID=""  
     伪文件系统名称:proc, sysfs 
     2、挂载点  
     3、文件系统类型:ext4,xfs,iso9660,nfs,none 
     4、挂载选项:defaults ,acl,bind 
     5、转储频率:0:不做备份 1:每天转储 2:每隔一天转储
     6、fsck检查的文件系统的顺序:允许的数字是0 1 2   
                 0:不自检              
                 1:首先自检;一般只有rootfs才用   
                 2:非rootfs使用 

        swap
        基本设置
             创建交换分区或者文件 
             使用mkswap写入特殊签名 
             在/etc/fstab文件中添加适当的条目 
             使用swapon -a 激活交换空间
        启用:swapon       
        swapon [OPTION]... [DEVICE]  
        -a:激活所有的交换分区  
        -p PRIORITY:指定优先级  
        /etc/fstab  在第4列中:pri=value 
        禁用:swapoff       

        文件系统工具
        文件系统空间占用等信息的查看工具     
         df [OPTION]... [FILE]...  
             -H 以10为单位  
             -T 文件系统类型  
             -h human-readable  
             -i   inodes instead of blocks  
             -P  以Posix兼容的格式输出 
        查看某目录总体空间占用状态     
            du [OPTION]... DIR  
             -h  human-readable   
             -s   summary              
             --max-depth=#   指定最大目录层级 

标签:文件,分区,程序包,文件系统,笔记,指定,学习,yum
来源: https://blog.51cto.com/14451156/2428596

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有