在ECS上学习使用Linux系统

简介: 通过在学习ECS,并在上面部署自己的博客,学习了Linux系统,感觉收获很大,下面正文内容记录了我在学习linux时的一些收获,更多内容欢迎访问我的博客 https://kingofdark.top/

任务挂起与恢复

我想大家应该都知道ctrl+c是终止任务/进程, ctrl+z是任务挂起(将一个正在前台执行的命令放到后台,并且处于暂停状态),那么任务挂起后该如何恢复呢?经过查阅1,可以参考使用如下命令:

  1. jobs 显示当前暂停的进程
  2. bg %N 使第N个任务在后台运行(%前有空格)
  3. fg %N 使第N个任务在前台运行

注意:默认 bg 和 fg 不带%N时表示对最后一个进程操作


此外与任务/进程控制相关的命令还有 & 和 nohup2

Commod + & 在一个命令最后加上一个 &,可以将这个命令放到后台执行;

如果让程序始终在后台执行,即使关闭当前的终端也执行(之前的&做不到),这时候需要nohup。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)

验证JSON格式正确性

cat a.json | python -m json.tool | wc -l 

使用上述命令,可以检查一个文件是否符合json格式,其实现原理如下:

  • 要验证的文件 a.json;
  • 如果返回结果一行数字,则表示 a.json 文件格式正确;
  • 否则返回 a.json 文件中错误的行号及错误信息。

一旦 JSON 文件格式不对,或者文件内容缺失或者其他问题,就会导致 python -m 命令无法格式化,正是利用这一点,我们可以做一个 JSON 的验证。3


为了简化命令,可以利用alias设置命令别名,但是因为需要命令行参数传入文件名,而alias不支持命令行参数。在查阅资料后4,找到一种方法,就是通过定义函数的方式来实现。

alias isjson='isjson(){cat "$1" | python -m json.tool | wc -l}; isjson'

GREP、SED、AWK命令

GREP

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。3

  • grep默认是忽略二进制数据的,可以加上 -a--text 来表示不忽略二进制文件。
grep -a file_name
或
grep --text file_name 
  • -E : 使用正则表达式,匹配了才输出
grep -E "word1|word2|word3" file.txt
#满足任意条件(word1、word2和word3之一)将匹配。
grep word1 file.txt | grep word2 |grep word3
#必须同时满足三个条件(word1、word2和word3)才匹配。
  • -r :递归搜索目录
grep -r word directory
  • -v : 显示不包含匹配文本的所有行。
grep -v 'abc\|efg' log.txt
#排除 log.txt 中的 abc efg 关键字

SED

sed 可依照脚本的指令来处理、编辑文本文件。sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

对文件进行文本替换操作:

sed -i 's/原字符串/新字符串/' filename
sed -i 's/原字符串/新字符串/g' filename

-i 表示直接修改读取的文件内容,而不是输出到终端。

最后带 g 进行了一个全局的搜索;不带g的话,只是匹配每行的第一个字段,后面的匹配则会忽略。


示例:

  • sed 文件首尾添加引号
sed -i 's/^/"/;s/$/"/'  log.txt
  • sed 文件尾添加逗号
sed -i 's/$/,/'  txt

注意上述命令在Mac系统的终端里会报错,需要在"-i" 后加上 ""

AWK

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

  • -F :指定输入文件折分隔符
  • -v : 赋值一个用户定义变量。

使用示例:

# 每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt
# 格式化输出
awk '{printf "%-8s %-10s\n",$1,$4}' log.txt
# 使用","分割
awk -F , '{print $1,$2}'   log.txt
# 使用自定义变量
awk -v a=1 '{print $1,$1+a}' log.txt    # 数值加
awk -v a=1 '{print $1,$1a}' log.txt        # 字符加

压缩和解压

zip

  • 压缩文件: zip 压缩文件名 源文件
  • 压缩目录: zip -r 压缩文件名 源目录
  • 解压: unzip 压缩文件名

示例:

mkdir book
touch book/1.txt
touch book/2.txt
zip -r book.zip book
unzip book.zip

参考引用

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
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挂载选项更通用,兼容所有系统。
149 3
Linux系统禁用swap
|
1月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
198 3
|
1月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
145 18
|
存储 Ubuntu Linux
HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包 (Released Oct 2025)
HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包
50 0
|
1月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
152 15
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
176 0
Linux系统初始化脚本
|
2月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
161 18
|
1月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
162 1
|
1月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
655 1
|
2月前
|
域名解析 运维 监控
阿里云轻量服务器的系统镜像和应用镜像的区别
轻量应用服务器是阿里云推出的易用型云服务器,支持一键部署、域名解析、安全管理和运维监控。本文介绍其系统镜像与应用镜像的区别及选择建议,助您根据业务需求和技术能力快速决策,实现高效部署。

热门文章

最新文章