Linux与自动化的基础

Linux简介

Linux是一种开源的类Unix操作系统,广泛应用于服务器、桌面和嵌入式设备。常见的Linux发行版包括 UbuntuCentOSDebian,它们各有特色,但都以稳定性和安全性著称。

与图形界面相比,Linux的**命令行界面(CLI)**是与系统交互的主要方式。CLI不仅高效、灵活,还特别适合自动化任务。通过CLI,用户可以管理系统文件、配置网络、监控性能等。

自动化在运维中的重要性不容忽视。随着系统规模扩大,手动操作变得繁琐且易出错。自动化能带来以下优势:

  • 提高效率:自动执行重复性任务,节省时间。
  • 减少错误:减少人为干预,降低失误风险。
  • 增强一致性:确保任务在不同环境中一致执行。
  • 提升可审计性:记录自动化流程,便于追踪。

基本CLI命令

掌握基本的CLI命令是Linux自动化的起点。以下是文件管理、权限设置和进程查看领域的核心命令。

1. 文件管理

  • ls:列出目录内容。
    • 示例:ls -l 以长格式显示文件详情。
  • cd:更改当前目录。
    • 示例:cd /var/log 切换到日志目录。
  • pwd:显示当前目录路径。
  • mkdir:创建新目录。
    • 示例:mkdir backups 创建名为“backups”的目录。
  • rm:删除文件或目录。
    • 示例:rm -r old_logs 删除“old_logs”目录及其内容。
  • cp:复制文件或目录。
    • 示例:cp config.txt backup/ 将文件复制到“backup”目录。
  • mv:移动或重命名文件。
    • 示例:mv old.txt new.txt 重命名文件。

2. 权限设置

Linux通过权限控制文件访问,权限包括读(r)写(w)**和**执行(x),分别适用于文件所有者、所属组和其他用户。

  • chmod:修改权限。
    • 示例:chmod 755 script.sh 设置脚本为所有者可读写执行,其他人可读执行。
  • chown:更改所有者和所属组。
    • 示例:chown user:group file.txt 将文件归属改为“user”和“group”。

3. 进程查看

进程是运行中的程序实例,监控和管理进程是运维的基础。

  • ps:显示进程快照。
    • 示例:ps aux 查看所有用户进程的详细信息。
  • top:实时显示进程和资源使用情况。
  • kill:终止进程。
    • 示例:kill 1234 停止PID为1234的进程。
  • grep:搜索文本,常用于过滤输出。
    • 示例:ps aux | grep apache 查找Apache相关进程。

Shell入门

Shell 是用户与Linux内核之间的桥梁,Bash(Bourne Again SHell) 是最常用的Shell。它支持:

  • 命令执行:直接运行命令。
  • 脚本编写:将命令组合成可执行脚本。
  • 管道和重定向:如 | 将输出传递给另一命令,> 将输出保存到文件。

在自动化中,Bash脚本 是核心工具。通过脚本,可以将多个命令整合,实现复杂任务的自动化。


初探自动化:使用cron调度简单任务

cron 是Linux内置的任务调度工具,可定时执行命令或脚本,常用于备份、清理等任务。

cron基础

  • crontab:每个用户有独立的crontab文件,用于定义调度任务。

  • 语法:每行一个任务,格式为:

    `* * * * * command_to_execute`
    

    依次代表:分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、星期(0-7)。

实践示例:定时清理临时文件

目标:每天凌晨2点清理 /tmp 中超过7天的文件。

  1. 编写脚本: 创建 clean_tmp.sh

    #!/bin/bash 
    find /tmp -type f -mtime +7 -exec rm {} \;`
    
    • find 查找文件,-mtime +7 表示超7天,-exec rm 删除。
  2. 设置cron: 运行 crontab -e,添加:

    0 2 * * * /path/to/clean_tmp.sh`
    

    表示每天2:00执行脚本。

  3. 验证: 用 crontab -l 检查任务。


总结

本文介绍了Linux自动化的基础,包括Linux简介、CLI命令、Shell入门和cron调度。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文字语音相互转换

目录 1.介绍 2.思路 3.安装python包 3.程序: 4.运行结果 1.介绍 当我们使用一些本地部署的语言模型的时候,往往只能进行文字对话,这一片博客教大家如何实现语音转文字和文字转语音,之后接入ollama的模型就能进行语音对话了。…

Unity Shader 学习13:屏幕后处理 - 使用高斯模糊的Bloom辉光效果

目录 一、基本的后处理流程 - 以将画面转化为灰度图为例 1. C#调用shader 2. Shader实现效果 二、Bloom辉光效果 1. 主要变量 2. Shader效果 (1)提取较亮区域 - pass1 (2)高斯模糊 - pass2&3 (3&#xff…

PING命令TTL解析

在 ping 命令中,TTL(Time to Live,生存时间) 是 IP 数据包的核心字段之一,用于控制数据包在网络中的生命周期。以下是针对 TTL 的简明解析: 1. TTL 的核心作用 防循环机制:TTL 是一个计数器&a…

Linux 第三次脚本作业

源码编译安装httpd 2.4,提供系统服务管理脚本并测试(建议两种方法实现) 一、第一种方法 1、把 httpd-2.4.63.tar.gz 这个安装包上传到你的试验机上 2、 安装编译工具 (俺之前已经装好了) 3、解压httpd包 4、解压后的httpd包的文…

(七)趣学设计模式 之 适配器模式!

目录 一、 啥是适配器模式?二、 为什么要用适配器模式?三、 适配器模式的实现方式1. 类适配器模式(继承插座 👨‍👩‍👧‍👦)2. 对象适配器模式(插座转换器 &#x1f50c…

【NLP】注意力机制

目录 一、认识注意力机制 1.1 常见注意力计算规则 1.2 注意力机制的作用 1.3 注意力机制代码实现 二、注意力机制原理 2.1 attention计算过程 2.2 attention的计算逻辑 2.3 有无attention模型对比 2.3.1 无attention机制的模型 2.3.2 有attention机制的模型 三、Se…

Spring Boot 整合 Druid 并开启监控

文章目录 1. 引言2. 添加依赖3. 配置数据源4. 开启监控功能5. 自定义 Druid 配置(可选)6. 访问监控页面7. 注意事项8. 总结 Druid 是一个由阿里巴巴开源的高性能数据库连接池,它不仅提供了高效的连接管理功能,还自带了强大的监控…

红帽7基于kickstart搭建PXE环境

Kickstart 文件是一种配置文件,用于定义 Linux 系统安装过程中的各种参数,如分区、网络配置、软件包选择等。system-config-kickstart 提供了一个图形界面,方便用户快速生成这些配置文件。 用户可以通过图形界面进行系统安装的详细配置&…

C/C++跳动的爱心

系列文章 序号直达链接1C/C李峋同款跳动的爱心2C/C跳动的爱心3C/C经典爱心4C/C满屏飘字5C/C大雪纷飞6C/C炫酷烟花7C/C黑客帝国同款字母雨8C/C樱花树9C/C奥特曼10C/C精美圣诞树11C/C俄罗斯方块小游戏12C/C贪吃蛇小游戏13C/C孤单又灿烂的神14C/C闪烁的爱心15C/C哆啦A梦16C/C简单…

MongoDB 简介

MongoDB 是一种高性能、开源的 NoSQL 数据库,以其灵活的文档模型和强大的扩展性而闻名。 1.MongoDB 是什么 MongoDB 是一种 NoSQL 数据库,采用 文档模型 存储数据,支持灵活的 JSON 格式文档。它无需预定义表结构,能够动态调整数据…

记录首次安装远古时代所需的运行环境成功npm install --save-dev node-sass

最开始的报错: 最后根据报错一步步 安装所需要的pythong之类的环境,最后终于成功了,得以让我在github上拉的vuehr项目(狗头18年还是20年的远古项目)成功本地运行,最后附上本地运行成功的贴图。如果大家也在…

华为guass在dbever和springboot配置操作

下面记录华为guass在dbever和springboot配置操作,以备忘。 1、安装dbeaver-ce-23.2.0-x86_64-setup.exe和驱动程序 Download | DBeaver Community 2、配置高斯数据库驱动 3、新建数据库连接 4、操作指引 opengauss官方文档 https://docs-opengauss.osinfra.cn/zh…

今日运维之-Mac笔记本python环境问题

1. 问题:MAC升级系统后git报错? Error: Cant create update lock in /usr/local/var/homebrew/locks! Fix permissions by running:sudo chown -R $(whoami) /usr/local/var/homebrew Traceback (most recent call last):11: from /usr/local/Homebrew/…

c3p0、Druid连接池+工具类 Apache-DbUtils (详解!!!)

数据库连接池是在应用程序启动时创建一定数量的数据库连接,并将这些连接存储在池中。当应用程序需要与数据库通信时,它可以向池中请求一个连接,使用完后将连接归还给池,而不是关闭连接。这样可以减少创建和关闭连接的开销&#xf…

数仓搭建实操(传统数仓oracle):DWD数据明细层

数据处理思路 DWD层, 数据明细层>>数据清洗转换, 区分事实表,维度表 全是事实表,没有维度表>>不做处理 数据清洗>>数据类型varchar 变成varchar2, 日期格式统一(时间类型变成varchar2); 字符数据去空格 知识补充: varchar 存储定长字符类型 ; 存储的数据会…

2.1 第一个程序:从 Hello World 开始

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 同大多数编程语言教程一样,本书第一个代码也是输出:Hello world! 这似乎也是惯例。我们也先从这个简单的代码…

2025年02月21日Github流行趋势

项目名称:source-sdk-2013 项目地址url:https://github.com/ValveSoftware/source-sdk-2013项目语言:C历史star数:7343今日star数:929项目维护者:JoeLudwig, jorgenpt, narendraumate, sortie, alanedwarde…

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 配置

【WSL2】 Ubuntu20.04 GUI图形化界面 VcXsrv ROS noetic Vscode 配置 前言整体思路安装 WSL2Windows 环境升级为 WIN11 专业版启用window子系统及虚拟化 安装WSL2通过 Windows 命令提示符安装 WSL安装所需的 Linux 发行版(如 Ubuntu 20.04)查看和设置 WS…

7.建立文件版题库|编写model文件|使用boost split字符串切分(C++)

建立文件版题库 题目的编号题目的标题题目的难度题目的描述,题面时间要求(内部处理)空间要求(内部处理) 两批文件构成第一个:questions.list : 题目列表(不需要题目的内容)第二个:题目的描述,题目的预设置…

LabVIEW中CFURL.llb 工具库说明

CFURL.llb 是 LabVIEW 2019 安装目录下 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform\ 路径下的工具库,主要用于处理 LabVIEW 与 URL 相关的操作,涵盖 URL 解析、HTTP 请求发送、数据传输等功能模块,帮助开发者…