当前位置: 首页 > news >正文

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调度。

相关文章:

Linux与自动化的基础

Linux简介 Linux是一种开源的类Unix操作系统,广泛应用于服务器、桌面和嵌入式设备。常见的Linux发行版包括 Ubuntu、CentOS 和 Debian,它们各有特色,但都以稳定性和安全性著称。 与图形界面相比,Linux的**命令行界面&#xff08…...

安全开发-环境选择

文章目录 个人心得虚拟机选择ubuntu 22.04python环境选择conda下载使用: 个人心得 在做开发时配置一个专门的环境可以使我们在开发中的效率显著提升,可以避免掉很多环境冲突的报错。尤其是python各种版本冲突,还有做渗透工具不要选择windows…...

【算法设计与分析】(一)介绍算法与复杂度分析

【算法设计与分析】(一)介绍算法与复杂度分析 前言一、什么是算法?二、算法的抽象机制三、描述算法四、复杂度分析4.1 时间复杂度4.2 空间复杂度 前言 从搜索引擎的高效检索,到推荐系统的个性化推荐,再到人工智能领域…...

SurfaceFlinger代码笔记

drawLayers是做client合成,合成完以后的buffer会放在RenderSurface里 FrameBufferSurface里的buffer是通过setClientTarget给到HWC的(HWC应该给client合成的buffer留了一个slot) Output.cpp这个文件非常关键,代表着具体一个Display的操作 d…...

2025 PHP授权系统网站源码

2025 PHP授权系统网站源码 安装教程: PHP7.0以上 先上传源码到服务器,然后再配置伪静态, 访问域名根据操作完成安装, 然后配置伪静态规则。 Ngix伪静态规则: location / { if (!-e $request_filename) { rewrite …...

Fisher散度:从信息几何到机器学习的隐藏利器

Fisher散度:从信息几何到机器学习的隐藏利器 在机器学习和统计学中,比较两个概率分布的差异是常见任务,比如评估真实分布与模型预测分布的差距。KL散度(Kullback-Leibler Divergence)可能是大家熟悉的选择&#xff0c…...

深度学习每周学习总结Y1(Yolov5 调用官方权重进行检测 )

🍨 本文为🔗365天深度学习训练营 中的学习记录博客Y1中的内容 🍖 原作者:K同学啊 | 接辅导、项目定制 ** 注意该训练营出现故意不退押金,恶意揣测偷懒用假的结果冒充真实打卡记录,在提出能够拿到视频录像…...

实体机器人在gazebo中的映射

这一部分目的是将真实的机器人映射到gazebo中,使得gazebo中的其他虚拟机器人能识别到真实世界的wheeltec机器人。 真实机器人的型号的wheeltec旗下的mini_mec。 一、在wheeltec官方百度云文档中找到URDF原始导出功能包.zip 找到对应的包 拷贝到工作空间下 在原有…...

【学习笔记】Kubernetes

一、 概览 Kubernetes 提供了一个抽象层,是用户可以在屋里或虚拟环境中部署容器化应用,提供以容器为中心的基础架构。 Kubernetes的控制平面和工作节点都有什么组建? 分别有什么作用? 1.1 Kubernetes控制平面和工作节点的组件及…...

【网络编程】几个常用命令:ping / netstat / xargs / pidof / watch

ping:检测网络联通 1. ping 的基本功能2. ping 的工作原理3. ping 的常见用法4. ping 的输出解释5. ping 的应用场景6. 注意事项 netstat:查看网络状态 1. netstat 的基本功能2. 常见用法3. 示例4. 输出字段解释5. netstat 的替代工具6. 注意事项 xargs&…...

上海创智学院(测试)算法笔试(ACM赛制)部分例题

1.第一个题,大概题目意思是求n句话中最长的单词和最短的单词 这个题目做的有点磕巴,好几年没有写过c/c了,连string的复制都不会写了,哈哈哈,太笨了 后面一点点捡起来,还是写出来了,本身没啥&…...

【学术投稿-第四届材料工程与应用力学国际学术会议(ICMEAAE 2025】材料工程与应用力学的探讨

重要信息 官网:www.icmeaae.com 时间:2025年3月7-9日 地点:中国西安 简介 第四届材料工程与应用力学(ICMEAAE 2025)将于2025年3月7日至9日在中国西安召开。本次会议将重点讨论材料科学、应用力学等领域的最新研究进…...

2025吐槽季第一弹---腾讯云EO边缘安全加速平台服务

前言: 关于EO边缘安全加速平台服务 参照:产品概述,具体如下: 边缘安全加速平台 EO(Tencent Cloud EdgeOne,下文简称为 EdgeOne)是国内首款基于全新架构的真正一体化的边缘安全加速平台。提供全面的安全防…...

力扣-动态规划-70 爬楼梯

思路 dp数组定义:爬到第i个台阶有多少种爬法递推公式: 当前台阶可能是从前一个或者前两个来的dp数组初始化:遍历顺序:顺序遍历时间复杂度: 代码 class Solution { public:int climbStairs(int n) {if(n 1) ret…...

【DeepSeek】-macOS本地终端部署后运行DeepSeek如何分析图片

【DeepSeek】-macOS本地终端部署后运行DeepSeek如何分析图片 根据您的需求,目前需要了解以下几个关键点及分步解决方案: --- 一、现状分析 1. Ollama 的限制: - 目前Ollama主要面向文本大模型,原生不支持直接上传/处理图片 …...

使用 pytest-mock 进行 Python 高级单元测试与模拟

一、单元测试与模拟的意义 在软件开发中,单元测试用于验证代码逻辑的正确性。但实际项目中,代码常依赖外部服务(如数据库、API、文件系统)。直接测试这些依赖会导致: 测试速度变慢测试结果不可控产生副作用(如真实发送邮件)模拟(Mocking) 技术通过创建虚拟对象替代真…...

lowagie(itext)老版本手绘PDF,包含页码、水印、图片、复选框、复杂行列合并等。

入口类:exportPdf ​ package xcsy.qms.webapi.service;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.ibm.icu.text.RuleBasedNumberFormat; import com.lowa…...

《Linux 指令集:开启极客世界的钥匙_01》

一、命令行基础 (一)命令行提示符解析 当前用户:显示当前登录的用户名。例如,当前用户为 “ubuntu_user”,则在命令行提示符中会显示该用户名。 连接符:通常是 “”,用于分隔用户名和计算机名…...

【Android】用 chrome://inspect/#devices 调试H5页面

通常做Android开发的过程中,不可避免的需要遇到去与H5交互,甚至有时候需要去调试H5的信息。 这里分享一下Android工程里如何调试H5页面信息: 直接在浏览器地址栏输入 : chrome://inspect/#devices 直接连接手机usb,打开开发者模式…...

Deepseek 实战全攻略,领航科技应用的深度探索之旅

想玩转 Deepseek?这攻略别错过!先带你了解它的基本原理,教你搭建运行环境。接着给出自然语言处理、智能客服等应用场景的实操方法与代码。还分享模型微调、优化技巧,结合案例加深理解,让你全面掌握,探索科技…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...