从小白到大神之路之学习运维第44天---第三阶段----拓展知识-----文件管理命令(find+sed+awk)、pycharm工具

news2025/1/28 11:24:51

第三阶段基础

时  间:2023年6月20日

参加人:全班人员

内  容:

目录

一、文件管理命令

find

1. 根据文件名查找文件

2. 根据文件类型查找文件

3. 根据文件大小查找文件

4. 根据时间戳查找文件

5. 组合多个条件查找文件

Sed

1. 替换文本

2. 插入和删除行

3. 格式化输出

总 结:

awk

1. 查看文件的行数

2. 过滤数据

3. 统计数据

4. 格式化输出

二、python

1. 访问Pycharm官网

2. 双击下载的安装包,按照提示安装即可。

英文操作转换中文操作使用:

操作使用:

三、python备份脚本

例:

结果验证:

一、文件管理命令

find

是Linux系统下常用的查找文件命令,可以方便地根据文件名、文件类型、文件大小等条件来查找指定文件。以下是一些常用的find示例:

1. 根据文件名查找文件

假设你需要在某个目录下查找所有以.log结尾的文件,可以运行以下命令:

find / -name "*.log"

在上述命令中,/path/to/dir是待搜索的目录名,-name选项是查找文件名参数,"*.log"表示所有以.log结尾的文件名。

2. 根据文件类型查找文件

假设你需要在某个目录下查找所有的Shell脚本文件,可以运行以下命令:

find / -type f -name "*.sh"

在上述命令中,-type选项用于指定文件类型,f表示普通文件,-name "*.sh"表示查找所有以.sh结尾的Shell脚本文件。

3. 根据文件大小查找文件

假设你需要在某个目录下查找所有大小超过10MB的文件,可以运行以下命令:

find /  -type f -size +10M

在上述命令中,-size选项用于指定文件大小,+10M表示查找文件大小超过10MB的文件。

4. 根据时间戳查找文件

假设你需要在某个目录下查找最近7天内修改过的文件,可以运行以下命令:

find / -type f -mtime -7

 

在上述命令中,-mtime选项用于指定查找文件最近修改时间,-7表示查找最近7天内修改过的文件。

5. 组合多个条件查找文件

假设你需要在某个目录下查找所有大小超过10MB并且最近7天内修改过的.log文件,可以运行以下命令:

find / -type f -size -10M -mtime -7 -name "*.log"

在上述命令中,组合了-size选项、-mtime选项和-name选项,同时指定了多个与条件,查找所有满足条件的文件。

以上是一些常用的find示例,你可以根据自己的需要进行修改和选择。

Sed

是一款流式文本编辑器,通常被用来编辑文本文件、数据流以及管道输入等。作为运维工程师,我们可以使用sed来快速处理文本数据。以下是sed的一些常见用法:

1. 替换文本

sed可以帮助我们替换文本中符合特定条件的字符串。例如,假设你有一个file.txt文件,其中包含了类似于"Hello World"这样的字符串,在其中将"World"这个单词替换成"China",可以运行以下命令:

sed 's/huyang/zhoumaomao/g'  test.txt

上述命令中,s是sed命令中的替换命令,'/'之间的字符串指代需要被替换的内容,第二个'/'之间的字符串则是用于替换原始字符串的内容,g表示全局匹配替换。

sed  -i 's/huyang/zhoumaomao/g'  test.txt

2. 插入和删除行

sed可以方便地帮助我们在文本文件中插入和删除行。例如,假设你要在file.txt文件中的第二行之后插入一行数据,可以运行以下命令:

sed '2a This is a new text line'  test.txt

a是sed命令中代表插入命令,2a表示在第二行之后插入,This is a new text line是需要插入的字符串。

sed  -i '2a i love you'  test.txt

 

另外,如果需要删除文本数据中的某几行,可以这样:

sed '2,4d' test.txt

在上述命令中,2,4表示删除第二行至第四行的文本数据,d是sed命令中的删除命令。

sed -i '2,3d' test.txt

 

3. 格式化输出

sed可以方便地帮助我们格式化输出文本数据。例如,假设你需要在file.txt文件中添加一个标题,可以这样:

sed '1i TITLE'  test.txt

 

sed -i '1i LOVE'  test.txt

i是sed命令中的插入命令,1表示在第一行插入,TITLE是需要插入的字符串。

以上是一些sed的常用用法,你可以根据实际需要进行调整和选择。

总 结:

sed 不加-i选项,输出显示内容,而不改变原文本文件内容;

sed 加-i选项,不输出显示内容,但实际改变原文件内容

awk

作为运维工程师,使用awk来处理日常工作中的文本数据是很常见的。以下是一些常见的awk用法,可以帮助你更高效地处理文本数据:

1. 查看文件的行数

使用awk可以很快地查看文本文件的行数。例如,要查看file.txt文件的行数,可以运行以下命令:

awk 'END {print NR}' test.txt

其中,NR是awk内置的变量,表示行数。

2. 过滤数据

awk可以帮助你过滤出符合特定条件的数据。例如,假设你要过滤出file.txt文件中第二列数据大于10的行,可以运行以下命令:

awk '$2 > 10 {print}' test.txt

在上述命令中,$2表示第二列数据,">"表示大于,10是匹配的条件。

3. 统计数据

使用awk还可以方便地对数据进行统计。例如,假设你要统计file.txt文件中第二列数据的总和,可以运行以下命令:

awk '{sum += $2} END {print sum}' test.txt

 

在上述命令中,sum是一个变量,用于保存累加的结果。在计算完成后,使用END关键字来输出最终的结果。

4. 格式化输出

awk可以帮助你更好地格式化输出数据。例如,你可能需要将file.txt文件中的第二列数据按照“i”分隔的形式输出,可以运行以下命令:

awk -F 'i' '{print $2}' test.txt

 

在上述命令中,-F参数用于指定数据的分隔符。在这里使用逗号作为分隔符,$2则表示输出的内容为第二列数据。

以上是一些常见的awk用法,还有更多复杂的应用场景需要根据实际工作进行选择使用。

二、python

Pycharm是一款非常优秀的Python开发环境,它提供了包括代码编辑、调试、测试等在内的强大的功能,下面是它的安装和使用方法。

安装:

1. 访问Pycharm官网

(https://www.jetbrains.com/pycharm/),根据自己的操作系统下载对应版本的Pycharm Community或Professional Edition。

2. 双击下载的安装包,按照提示安装即可。

 

英文操作转换中文操作使用:

下载的这个软件默认为全英文操作的,要想使用中文版的,可以按下列操作:

第一步:运行pycharm软件,file

第二步:setting

第三步:搜索chinese,下载并install简体中文包

第四步:安装并重启软件,就可以了

操作使用:

1. 启动Pycharm,新建一个项目。可以选择已有的项目或者新建一个项目。

2. 在项目中新建Python文件,写入代码并保存。

3. 点击运行按钮或者快捷键Shift+F10,即可运行代码。

4. 调试:可以通过设置断点和调试工具对代码进行调试,快捷键为Shift+F9。

5. 使用第三方库:在Pycharm中可以方便地安装和使用第三方库,只需要在侧边栏的Package列表中搜索需要的库,点击安装即可。

6. 导入项目:如果需要导入已有的Python项目,可以在File菜单中选择“Open”,然后选择项目所在的文件夹即可。

总之,Pycharm是一个非常强大而且易于使用的Python开发环境,它具有丰富的功能和良好的用户体验,是Python开发人员的必备工具之一。

 

三、python备份脚本

python

import shutil

import os

import time

source_dir = "/home/user/documents/"

backup_dir = "/home/user/backup/"

if not os.path.exists(backup_dir):

    os.mkdir(backup_dir)

backup_file_name = "backup_" +

time.strftime("%Y-%m-%d_%H-%M-%S") + ".zip"

backup_file_path = os.path.join(backup_dir,

backup_file_name)

shutil.make_archive(backup_file_path, "zip",

source_dir)

print("Backup completed successfully: " +

backup_file_name)

这个脚本会备份指定源目录下的文件和文件夹,并将它们打包成一个压缩文件,然后将它保存到备份目录中。备份文件的文件名会包含当前日期和时间。你可以根据你的需要进行调整和扩展这个脚本,以满足更复杂的备份需求。

例:

现有两个文件夹123和abc

123文件夹内有10个文件

abc文件夹里没有文件

现执行脚本文件使123文件夹内的文件备份到abc里

vim install.py

赋权并执行文件

chmod 755 install.py

./install.py

结果验证:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vue】学习笔记-创建Vue3.0工程

创建Vue3.0工程 使用vue-cli创建查看vue/cli版本,确保vue/cli版本在4.5.0以上安装或者升级你的vue/cli创建启动 使用vite创建创建工程进入工程目录安装依赖运行 使用vue-cli创建 官方文档:https://cli.vuejs.org/zh/guide/creating-a-project.html#vue-…

【性能测试】压力测试指标全解之TPS、响应时间

hello,大家好!我是磨磨唧唧小蘑菇~ 接上期阐述了《TP50/90/99/999》的含义及计算方式,本期将阐述压力测试的其他指标,如TPS、响应时间等。 目录 一、TPS 二、响应时间 三、TPS与响应时间RT的关系 一、TPS 1、TPS的含义 …

vscode折叠代码展开快捷键

1.折叠所有代码 (按住ctrl 分别点击k和0) ctrlk,ctrl0 2.展开所有代码 (按住ctrl 分别点击k和j) ctrlk,ctrlj 3. 折叠鼠标竖线所在位置的节点以及当前节点下的子节点(递归折叠) ctrlk,ctrl[ 4. 展开鼠标竖线所在位置的节点以及当前节点下的子节点&#x…

【Springboot】关于Spring和SpringBoot的那些事儿

参考javaguide的学习笔记~ 1 怎么那么多名字呀~ 一开始看到这个图太劝退了,但实际上一开始只需要理解它是一个框架,包含很多个模块,能够简化开发。 使得接收HTTP请求,查数据库,写业务逻辑三部分能够分开。 并且能很…

【2023最全最叼教程】Selenium 自动化测试环境搭建

【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。本文详细介绍了搭建自动化测试环境所需的工具,让你学习自动化测试不…

人脸检测——基于机器学习3】AdaBoost算法

简介 主要工作AdaBoost算法的人脸检测算法包含的主要工作:(1)通过积分图快速求得Haar特征;(2)利用AdaBoost算法从大量的特征中选择出判别能力较强的少数特征用于人脸检测分类;(3)提出一个级联结构模型,将若干个弱分类器集成一个强分类器,其能够快速排除非人脸区域,…

系统架构设计师-系统工程与信息系统基础(2)

一、电子政务类型 电子政务主要有3类角色:政府(Government)、企(事)业单位(Business)及公民(Citizen)。如果有第4类就是公务员(Employee)。 二、企…

CMIP6降尺度方法

气候变化关系到农业、生态系统、社会经济和人类生存与发展,是当今世界关注的重点问题之一。IPCC(Intergovernmental Panel on Climate Change)第6次评估报告指出,自 20 世纪 50 年代以来,从全球平均气温和海温升高、大…

Unity核心10——导航寻路系统

Unity 中的导航寻路系统是能够让我们在游戏世界当中,让角色能够从一个起点准确的到达另一个终点,并且能够自动避开两个点之间的障碍物选择最近最合理的路径进行前往 ​ Unity 中的导航寻路系统的本质,就是在 A 星寻路算法的基础上进行了拓展和…

国家加强互联网广告监管

我是卢松松,点点上面的头像,欢迎关注我哦! 5月1日《互联网广告管理办法》正式实施。 6月19日,市场监督总局要求加强广告监管。 主要针对直播带货广告、弹窗广告、“软文”广告等新型广告形式,加大互联网广告乱象清理…

HDLBits自学笔记3:Verilog language.Modules Hierarchy

Modules 在顶层模块中实例化模块mod_a,其端口描述: module mod_a ( input in1, input in2, output out ); module top_module ( input a, input b, output out );// 按信号名称连线mod_a u1(.in1(a),.in2(b),.out(out));// 按信号位置连线// mod_a u…

基于数据驱动 U-Net 模型的大气污染物扩散快速预测,提升计算速度近6000倍

项目背景 当前,常见的大气污染预测模型大多是基于物理机理构建的,比如空气质量预测模型 Calpuff、AERMOD、CMAQ 等。然而,这些模型运算较为复杂,对于输入数据的要求非常高,运算耗时也比较长,适合用于常规固…

【玩转Docker小鲸鱼叭】Docker镜像常用命令汇总

镜像是Docker中最为核心也是最具创造性的概念!在理解Docker的核心概念文章中,我们理解了镜像的含义,下面让我们一起操作一些镜像,包括拉取、推送镜像等操作。 1、镜像支持哪些命令 通过 docker image help 查看 Docker 支持的镜像…

联想U盘重装系统Win10步骤和详细教程

最近很多用户都在问怎么利用U盘来给联想电脑重装Win10系统,用户需要准备一个8G以上的U盘,确保联想电脑能够正常联网,然后按照小编给大家分享的联想U盘重装系统Win10步骤和详细教程操作,即可快速轻松完成联想电脑Win10系统的重装。…

C++——cin输入

cin对象在抽取过程中会进行类型转换&#xff0c;这应该是根据字节数来的&#xff0c;对于每一种类型&#xff0c;都会有相应的指令合集&#xff0c;也就是cpu会按字节进行转换&#xff0c;区别在于大端模式或者是小端模式&#xff0c;cin对象从在了<<相应的函数被称为格式…

陪诊APP开发服务兼职软件

陪诊APP是一种提供陪伴照顾服务的应用程序&#xff0c;主要面向需要医院陪护的病人及家属。以下是可能有助于陪诊APP开发服务兼职软件的功能&#xff1a; 注册和登录&#xff1a;允许用户使用手机号码等方式注册并登录账户。 病房预约&#xff1a;允许家属为病人预约病…

数据烦恼?亮数据平台为你提供一站式解决方案

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 在当今数字时代&#xff0c;大型和实时的数据集具有更全面的信息、更准确的预测、和更好的竞争优势。作为一位刚被数据折磨过的人&#xff0c;我必须要把自己的经验跟大家分享一下&#xff0c;让大家和公司在收集数据方面…

构筑数字化新引擎!美创助力金华银行核心系统国产分布式数据库迁移

近日&#xff0c;金华银行举行“星辉工程”核心项目群上线发布会&#xff0c;新一代核心系统成功部署在国产分布式数据库OceanBase&#xff0c;向业务高效创新、数智赋能迈出了重要一步。据悉&#xff0c;这是浙江省首例基于完全国产自研数据库落地的银行核心系统。 此次“星辉…

[PyTorch][chapter 43][时间序列表示方法1]

前言&#xff1a; 语言模型&#xff08;LM&#xff09;起源于语音识别(speech recognition)&#xff0c;输入一段音频数据&#xff0c;语音识别系统通常会生成多个句子作为候选&#xff0c;究竟哪个句子更合理&#xff1f;就需要用到语言模型对候选句子进行排序。 language mod…

【算法题解】40. 数组的度

这是一道 简单 题 https://leetcode.cn/problems/degree-of-an-array/ 题目 给定一个非空且只包含非负数的整数数组 nums&#xff0c;数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组&#xff0c;返…