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

第三阶段基础

时  间: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"

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

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

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

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

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

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

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

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

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

find /  -type f -size +10M

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

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

4. 根据时间戳查找文件

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

find / -type f -mtime -7

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

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

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

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

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

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

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

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

Sed

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

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

1. 替换文本

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

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

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

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

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

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

2. 插入和删除行

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

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

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

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

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

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

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

sed '2,4d' test.txt

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

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

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

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

 

3. 格式化输出

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

sed '1i TITLE'  test.txt

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

sed -i '1i LOVE'  test.txt

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

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

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

总 结:

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

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

awk

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

1. 查看文件的行数

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

awk 'END {print NR}' test.txt

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

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

2. 过滤数据

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

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

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

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

3. 统计数据

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

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

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

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

4. 格式化输出

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

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

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

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

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

二、python

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

安装:

1. 访问Pycharm官网

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

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

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

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

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

第一步:运行pycharm软件,file

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

第二步:setting

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

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

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

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

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

操作使用:

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

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

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

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

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

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

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

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

 

三、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里

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

vim install.py

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

赋权并执行文件

chmod 755 install.py

./install.py

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

结果验证:

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

 

你可能感兴趣的:(学习,运维,pycharm)