编程入门(六)【Linux系统基础操作四】

简介: 编程入门(六)【Linux系统基础操作四】

🔥前言

本系列为Linux基础操作,共有四篇,第一篇为了解Linux的基本概念与操作及相关的文件目录操作第二篇为Linux的用户与网络管理第三篇为Linux的进程和磁盘管理及安装包管理第四篇为Linux shell编程。

本篇为第四篇:Linux shell编程

🚀if else条件控制

基本的if语句

if condition
then
      command1
      command2
      ...
      commandN
fi

带else的if语句

if condition
then
   command1
   command2
   ...
   commandN
else
   command
fi

嵌套的if语句

if  condition1
then
   command1
elif comdition2
then
   command2
else
   commandN
fi

具体示例

1、简单比较

#!/bin/bash
a=$1
b=$2
if [[ -z ${a} && -z ${b} ]]
then
   echo "The length of the two string is 0."
else
   if [[ ${a} != ${b} ]]
   then
      echo "${a} != ${b} :a is not equal to b"
   else
      echo "${a} == ${b} :a is equal to b"
   fi
fi

2、根据路径与文件名,查看是否存在该文件

场景:在服务器中查找对应的日志文件。

3、查看是否为当前用户

🚀for 循环

for var in item1 item2 ...... itemn
do
command1
command2
......
commandn
done

具体示例

#!/bin/bash
sum=0
for (( i=1; i<=100; i++ ))
do
 sum=$(( ${sum} + ${i} ))
done
echo "1+2+3+4...+100 = ${sum}"

🚀测试IP地址

🚀获取当前主机的IPv4地址列表

场景:

这个脚本可以应用于任何表格有第二列数据的情况,把某一行的第二列的数据取出来,所以并非一定用于获取ip地址场景:同时也是grep、awk和sed 这三个命令的综合应用

  1. grep:先过滤出来含inet的行,inet后要加个空格,去掉含inet6的行
  2. awk:取出第二列,并打印出来
  3. sed:在一个文档内部的查找和替换功能
  • s:替换,s后的/是一个分隔符
  • addr : 被替换的关键字,// 代表分隔符中间是空的,代表将addr:替换成空
  • g :如果查找到不止一个,全部替换

⭐️⭐️⭐️总结

本篇是linux基础的最后一篇,对shell编程中if、for的语法介绍,以及实际场景的运用。

目录
相关文章
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
1166 3
Linux系统禁用swap
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1772 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
1239 3
Linux系统初始化脚本
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
826 18
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2811 10
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1339 1
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1606 1
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
1162 1
二、Linux文本处理与文件操作核心命令
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
878 137
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1855 58