iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >学习笔记3
  • 190
分享到

学习笔记3

学习笔记 2023-01-31 03:01:37 190人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一文件查找和压缩1文件查找locate 搜索依赖于数据库,非实时搜索,搜索新建文件需手动更新,适于搜索稳定不频繁修改文件 find 实时搜索,精确搜索,默认当前目录递归搜索 find用法 -maxdepth

一文件查找和压缩
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 修改卷标
         -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=#   指定最大目录层级 

--结束END--

本文标题: 学习笔记3

本文链接: https://www.lsjlt.com/news/187272.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 学习笔记3
    一文件查找和压缩1文件查找locate 搜索依赖于数据库,非实时搜索,搜索新建文件需手动更新,适于搜索稳定不频繁修改文件 find 实时搜索,精确搜索,默认当前目录递归搜索 find用法 -maxdepth...
    99+
    2023-01-31
    学习笔记
  • 学习笔记(3)
    1.* 匹配零个或多个字符(通配符中)2.ls 的-d选项不仅仅可以显示指定目录的信息,还可以用来表示不递归子文件夹。  # ls -dl /etc 显示/etc目录的信息  # ls -d /etc 只显示/etc下面的文件夹3.显示/v...
    99+
    2023-01-31
    学习笔记
  • cisco学习笔记(3)
    1. 交换机支持的命令:交换机基本状态: switch: ;ROM状态, 路由器是rommon>hostname> ;用户模式hostname# ;特权模式...
    99+
    2023-01-31
    学习笔记 cisco
  • OSPF 学习笔记3
    ospf特殊区域 减少LSA洪泛,达到优化路由表的目的 sub区域特点 1、过滤了LSA4/5 2、通过ABR的LSA3学习到一条到达域外的缺省路由(O*IA) 3、区域内所有的路由器都得设置为stub路由器 ...
    99+
    2023-01-31
    学习笔记 OSPF
  • perl学习笔记(3)
    条件结构: if(...){       ...; }elsif(...){       ...; }else{       ...; } 数值关系运算符 ==,>...
    99+
    2023-01-31
    学习笔记 perl
  • shell 学习笔记3
    ####shell结构 #!指定执行脚本的shell #注释行 命令和控制结构  第一步:创建一个包含命令和控制结构的文件  第二步:修改这个文件的权限使它可以执行,chmod u+x...
    99+
    2023-01-31
    学习笔记 shell
  • GEF学习笔记3
    八、创建嵌套的视图 前面的步骤,创建了公司视图,下面再创建一个国家视图用来容纳公司视图。这就需要按前面的方法把MVC都重新创建一遍。 Model View(Figure) Control(EditPart) 注意重写红框中标...
    99+
    2023-01-31
    学习笔记 GEF
  • PowerShell 学习笔记(3)
    获取对象的过程中,最好先筛选出对象,再进行操作。(即筛选在排序左边)不区分大小写get-process | where {$_.handles –ge 1000}使用where获取所有对象,用对象执行大括号里的代码,如果...
    99+
    2023-01-31
    学习笔记 PowerShell
  • PHP 学习笔记 (3)
    昨天笔记2说道了PHP的标记以及短标记,今天记录下如何吧PHP从HTML分离手册参考:http://www.php.net/manual/zh/language.basic-syntax.phpmode.phpPHP手册告诉我们,PHP凡是...
    99+
    2023-01-31
    学习笔记 PHP
  • CCNP学习笔记(3)
    一、RIPv2:Routing Information Protocol 路由信息协议 1.特性: ①属于“距离矢量”路由协议 ②定期发送路由更新(30S一次,路由表中所有路由) ③依据“跳数”衡量路径好坏 ...
    99+
    2023-01-31
    学习笔记 CCNP
  • python学习笔记(3)
    在大概了解了程序之后,我也买了本python书学习一下,因为现在新版的python3.4.0已经不再兼容2.x.x的内容,书虽然很新,但是有些例子还是用的过去的。1.比如在3.0中print 42不能再产生输出了,要改成print(42)&...
    99+
    2023-01-31
    学习笔记 python
  • shell学习笔记(3)
    一、if基础 1、单分支 1.1 语法 if语句语法 单分支结构语法: if [条件]; then 指令 fi 或 if [条件] then ...
    99+
    2023-01-31
    学习笔记 shell
  • MySQL学习笔记(3):SQL
    本文章更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.9。 目录DDL语句创建数据库删除数据库修改数据库创建表删除表修改表创建索引删除索引创建视图修改视图删除视图存储过程和函数创建事件修改事件删除...
    99+
    2022-04-25
    MySQL学习笔记(3):SQL
  • solaris学习笔记3:mount
    mount学习   1.文件系统基本概念,UFS,ZFS,VxFS,WAFL   2./etc/vfstab 预定义挂载文件系统;    /etc/mnttab 已挂载文件系统   3.man mount    man mount_ufs ...
    99+
    2023-01-31
    学习笔记 solaris mount
  • Python 3 学习笔记:Excel
    安装模块 OpenPyXL 模块是一个第三方模块,所以需要使用 pip 工具安装, pip install openpyxl 文件结构 首先,我们需要了解一下 Excel 文件的基本结构,一个 Excel 文件被称为一个工作薄,工作薄中可以...
    99+
    2023-01-31
    学习笔记 Python Excel
  • Powershell学习笔记3——has
    Manning--Powershell In Action Page 66   Collections:dicitonaries and hashtables One of the most flexible datatypes suppo...
    99+
    2023-01-31
    学习笔记 Powershell
  • Python学习笔记(3)--- Fla
    在安装flask前,首先安装pip安装地址:https://pip.pypa.io/en/stable/installing.html#install-pip下载(保存):在dos命令下执行 python get-pip.py安装然后 执行...
    99+
    2023-01-31
    学习笔记 Python Fla
  • python 学习笔记 3 -- 数据
    当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 引用 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。eg. # -*- coding: utf-8 -*-  shopli...
    99+
    2023-01-31
    学习笔记 数据 python
  • Linux学习笔记 Day 2~3
    继续整理周末课程的Linux学习笔记。 vim编辑器 最受欢迎的是emacs,vim是vi的增强版本,特点是编辑内容时有颜色变化。命令:vim /etc/passwd 三种模式: 1. 普通模式-->可视模式 2....
    99+
    2023-01-31
    学习笔记 Linux Day
  • 2018-3-14 Linux学习笔记
    Nginx访问日志的格式是在主配置文件中定义的. vim /usr/local/nginx/conf/nginx.conf //搜索log_format 日志字段含义:$remote_addr 客户端IP(公网IP...
    99+
    2023-01-31
    学习笔记 Linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作