第三阶段基础
时 间:2023年6月20日
参加人:全班人员
内 容:
目录
一、文件管理命令
find
1. 根据文件名查找文件
2. 根据文件类型查找文件
3. 根据文件大小查找文件
4. 根据时间戳查找文件
5. 组合多个条件查找文件
Sed
1. 替换文本
2. 插入和删除行
3. 格式化输出
总 结:
awk
1. 查看文件的行数
2. 过滤数据
3. 统计数据
4. 格式化输出
二、python
1. 访问Pycharm官网
2. 双击下载的安装包,按照提示安装即可。
英文操作转换中文操作使用:
操作使用:
三、python备份脚本
例:
结果验证:
是Linux系统下常用的查找文件命令,可以方便地根据文件名、文件类型、文件大小等条件来查找指定文件。以下是一些常用的find示例:
假设你需要在某个目录下查找所有以.log结尾的文件,可以运行以下命令:
find / -name "*.log"
在上述命令中,/path/to/dir是待搜索的目录名,-name选项是查找文件名参数,"*.log"表示所有以.log结尾的文件名。
假设你需要在某个目录下查找所有的Shell脚本文件,可以运行以下命令:
find / -type f -name "*.sh"
在上述命令中,-type选项用于指定文件类型,f表示普通文件,-name "*.sh"表示查找所有以.sh结尾的Shell脚本文件。
假设你需要在某个目录下查找所有大小超过10MB的文件,可以运行以下命令:
find / -type f -size +10M
在上述命令中,-size选项用于指定文件大小,+10M表示查找文件大小超过10MB的文件。
假设你需要在某个目录下查找最近7天内修改过的文件,可以运行以下命令:
find / -type f -mtime -7
在上述命令中,-mtime选项用于指定查找文件最近修改时间,-7表示查找最近7天内修改过的文件。
假设你需要在某个目录下查找所有大小超过10MB并且最近7天内修改过的.log文件,可以运行以下命令:
find / -type f -size -10M -mtime -7 -name "*.log"
在上述命令中,组合了-size选项、-mtime选项和-name选项,同时指定了多个与条件,查找所有满足条件的文件。
以上是一些常用的find示例,你可以根据自己的需要进行修改和选择。
是一款流式文本编辑器,通常被用来编辑文本文件、数据流以及管道输入等。作为运维工程师,我们可以使用sed来快速处理文本数据。以下是sed的一些常见用法:
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
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
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可以很快地查看文本文件的行数。例如,要查看file.txt文件的行数,可以运行以下命令:
awk 'END {print NR}' test.txt
其中,NR是awk内置的变量,表示行数。
awk可以帮助你过滤出符合特定条件的数据。例如,假设你要过滤出file.txt文件中第二列数据大于10的行,可以运行以下命令:
awk '$2 > 10 {print}' test.txt
在上述命令中,$2表示第二列数据,">"表示大于,10是匹配的条件。
使用awk还可以方便地对数据进行统计。例如,假设你要统计file.txt文件中第二列数据的总和,可以运行以下命令:
awk '{sum += $2} END {print sum}' test.txt
在上述命令中,sum是一个变量,用于保存累加的结果。在计算完成后,使用END关键字来输出最终的结果。
awk可以帮助你更好地格式化输出数据。例如,你可能需要将file.txt文件中的第二列数据按照“i”分隔的形式输出,可以运行以下命令:
awk -F 'i' '{print $2}' test.txt
在上述命令中,-F参数用于指定数据的分隔符。在这里使用逗号作为分隔符,$2则表示输出的内容为第二列数据。
以上是一些常见的awk用法,还有更多复杂的应用场景需要根据实际工作进行选择使用。
Pycharm是一款非常优秀的Python开发环境,它提供了包括代码编辑、调试、测试等在内的强大的功能,下面是它的安装和使用方法。
安装:
(https://www.jetbrains.com/pycharm/),根据自己的操作系统下载对应版本的Pycharm Community或Professional Edition。
下载的这个软件默认为全英文操作的,要想使用中文版的,可以按下列操作:
第一步:运行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
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