分享一下网络上看到的linux命令记忆方法

以前linux命令都是硬记,用多了也就记住了。在网上看到说是命令转换成单词来记忆会很简单,试了下果然如此,豁然开朗了佬友们。 不知道大家是不是都是这样记得,万一有硬记的佬友一定不要像我一样。 举例下边是让GPT用sed命令做的一个文档,是不是很好记忆。 sed 入门教程(带字母含义与正则解释) 一、...
分享一下网络上看到的linux命令记忆方法
分享一下网络上看到的linux命令记忆方法

以前linux命令都是硬记,用多了也就记住了。在网上看到说是命令转换成单词来记忆会很简单,试了下果然如此,豁然开朗了佬友们。 :joy:不知道大家是不是都是这样记得,万一有硬记的佬友一定不要像我一样。

举例下边是让GPT用sed命令做的一个文档,是不是很好记忆。


sed 入门教程(带字母含义与正则解释)

一、什么是 sed

sed 全名:

stream editor

含义:

单词 意思 stream 数据流 editor 编辑器

它不是打开文件编辑。

而是:

读取 → 处理 → 输出

所以叫:

流编辑器

它会:

一行一行读取
一行一行处理

非常适合:

  • 批量替换
  • 修改配置文件
  • 删除内容
  • 日志处理
  • 自动化脚本

二、sed 基础结构

sed '命令' 文件

例如:

sed 's/aaa/bbb/' test.txt

意思:

把 aaa 替换成 bbb

三、最核心命令:s

替换命令

s/旧内容/新内容/

字母含义

字母 全称 意思 s substitute 替换

等于:

substitute old with new

示例

echo "hello world" | sed 's/world/linux/'

输出:

hello linux

四、g 全局替换

sed 's/aaa/bbb/g'

字母含义

字母 全称 意思 g global 全局

默认:

每行只替换第一个

g

每行全部替换

示例

echo "aaa aaa aaa" | sed 's/aaa/bbb/g'

输出:

bbb bbb bbb

五、-i 直接修改文件

sed -i 's/old/new/g' file.txt

字母含义

参数 全称 意思 -i in-place 原地修改

不加:

只输出结果
不修改文件

加了:

直接改文件

六、p 打印

sed -n '2p' file.txt

字母含义

字母 全称 意思 p print 打印

参数 -n

参数 全称 意思 -n quiet/silent mode 不自动输出

默认:

sed 会输出每一行

-n

只输出你指定的内容

示例

sed -n '1p' file.txt

意思:

只打印第一行

七、d 删除

sed '2d' file.txt

字母含义

字母 全称 意思 d delete 删除

示例

删除空行:

sed '/^$/d' file.txt

八、i 插入

sed '2i hello'

字母含义

字母 全称 意思 i insert 插入

意思:

在第2行前插入

九、a 追加

sed '2a hello'

字母含义

字母 全称 意思 a append 追加

意思:

在第2行后追加

十、c 修改整行

sed '2c new line'

字母含义

字母 全称 意思 c change 修改

十一、正则里的特殊字符

点号 .

.

含义

符号 意思 . 任意单个字符

所以:

a.c

可以匹配:

abc
axc
a1c

十二、转义 \

\.

含义

符号 全称 意思 \\ escape 转义

意思:

后面的字符别特殊化
按普通字符处理

示例

IP:

192.168.1.1

必须写:

192\.168\.1\.1

否则:

.

会匹配任意字符。


十三、^ 和 $

^

^

含义

符号 意思 ^ 行开头

$

$

含义

符号 意思 $ 行结尾

示例

空行:

^$

意思:

开头后立刻结束
中间没有字符

即:

空行

十四、 字符集合

[0-9]

含义

表达式 意思 [0-9] 任意数字 [a-z] 小写字母 [A-Z] 大写字母

示例

sed 's/[0-9]/X/g'

数字变 X。


十五、常用实战

1. 修改 IP

sed -i 's/192\.168\.1\.1/10.0.0.1/g' config.ini

2. 删除注释

sed '/^#/d' file.txt

3. 删除空行

sed '/^$/d' file.txt

4. 查看第10行

sed -n '10p' file.txt

5. 查看10~20行

sed -n '10,20p' file.txt

6. 替换 nginx 配置

sed -i 's/listen 80/listen 8080/g' nginx.conf

十六、自定义分隔符(非常常用)

默认:

s/旧/新/

使用 / 当分隔符。

路径会很难看:

sed 's/\/usr\/local/\/opt/g'

所以可以改成:

sed 's#/usr/local#/opt#g'

十七、Linux 命令缩写文化

Unix 很喜欢缩写。


常见命令

命令 全称 意思 ls list 列表 cp copy 复制 mv move 移动 rm remove 删除 pwd print working directory 当前目录 grep global regular expression print 全局正则打印 sed stream editor 流编辑器 awk 作者名字缩写 文本分析工具

十八、sed 最核心理解

你可以把它理解成:

for 每一行:
    执行规则
    输出结果

6 个帖子 - 3 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文