编程入门(六)【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的语法介绍,以及实际场景的运用。

目录
相关文章
|
5天前
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
|
1天前
|
存储 Linux 数据库
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
13 3
|
2天前
|
网络协议 Linux 网络安全
Linux命令hostnamectl:掌握系统主机信息的利器
`hostnamectl`是Linux系统管理的关键工具,用于查看和设置主机名、内核信息等。它集成在`systemd`中,通过修改配置文件交互。命令特点包括综合显示多种信息、简单语法和设置功能。例如,`hostnamectl status`显示系统详情,`sudo hostnamectl set-hostname NEWHOSTNAME`用于更改主机名。使用时注意权限、备份配置、更新网络和重启相关服务,避免频繁更改。
|
3天前
|
Java Linux Spring
在 Linux 系统中将 Spring Boot 应用作为系统服务运行
【6月更文挑战第11天】最近由于一些原因,服务器经常会重启,每次重启后需要手动启动 Spring Boot 的工程,因此我需要将其配置成开启自启动的服务。
14 1
|
3天前
|
Linux 开发工具
【Linux文本编辑艺术】:从入门到熟练,Vim大师之路揭秘
【Linux文本编辑艺术】:从入门到熟练,Vim大师之路揭秘
|
3天前
|
Linux Unix Windows
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(二)
|
3天前
|
Linux Unix 安全
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
|
4天前
|
Linux
Linux 系统日常巡检脚本 干货
Linux 系统日常巡检脚本 干货
8 0
|
5天前
|
Linux 测试技术 开发者
【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具
【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具
17 3
|
11天前
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
21 1