Typora 块元素

换行符

空行

标题

# 一级标题
## 二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题

引用文字

1234567

>1234567

仅供练习参考,不做生成环境指导。

文章来源

> 仅供练习参考,不做生成环境指导。
>
> [文章来源](www.baidu.com)

列表

无序列表

  • -、+或* 红
    -、+或* 黄
    

有序列表

  1. 1. 红
    2. 黄
    

任务列表

任务列表是标记为[ ]或[x](未完成或完成)的项目的列表。

- [ ] 这是一个任务列表项
- [ ] 需要在前面使用列表的语法
- [ ] normal **formatting**, @mentions, #1234 refs
- [ ] 未完成
- [x] 完成
  • 这是一个任务列表项
  • 需要在前面使用列表的语法
  • normal formatting, @mentions, #1234 refs
  • 未完成
  • 完成

代码块

```

语法高亮

```ruby

Linux

Linux桌面环境安装

# 查看图形化软件包组名称
[root@centos7 ~ 11:10:10]# yum grouplist -v|grep gnome
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
   GNOME 桌面 (gnome-desktop-environment)


# 安装图形化
[root@centos7 ~ 11:10:10]# yum groupinstall -y gnome-desktop-environment

# 安装完成后关机
[root@centos7 ~ 11:10:10]# init 0

# 修改CPU为2,内存为4G

# 启动图形化界面
[root@centos7 ~ 11:25:08]# init 5

# 设置系统默认使用图形化界面启动
[root@centos7 ~ 11:25:45]# systemctl set-default graphical.target

# 重启验证
[root@centos7 ~ 11:27:01]# reboot

# 关机打快照,快照名称 '图形化'
[root@centos7 ~ 11:10:10]# init 0

# 命令示例
[root@centos7 ~ 11:38:09]# ls -l /etc/fstab
-rw-r--r--. 1 root root 465 8月   1 15:45 /etc/fstab
ls 是命令,要做什么事情,list 查看清单
-l 是选项,如何做。如果省略,则每个命令使用自己的默认值。
/etc/fstab 是参数,对谁做。如果省略,则每个命令使用自己的默认参数。

# 动态(实时更新)查看文件内容
[root@centos7 ~ 11:40:16]# tail -f /var/log/secure 
tail是命令,尾巴,查看文件末尾几行
-f是选项,代表动态跟踪。
/var/log/secure 查看目标。

免交互设置密码

[root@centos7 ~ 14:00:46]# echo redhat | passwd --stdin laoma
更改用户 laoma 的密码 。
passwd:所有的身份验证令牌已经成功更新。

linux命令行((3.Linux命令行)

命令提示符

# 代表普通用户提示符,提示符最后是有一个空格。
[laoma@CentOS7  ~]$ 

# 代表管理员提示符
[root@CentOS7  ~]# 

shell解析字符串的语法

通过空格分隔,包涵三个部分:

  • 命令,第一部分必须是命令,代表要执行的程序,其后可能跟着选项或参数。
  • 选项,调整命令的行为或作用。通常以一个或两个 - 符号开头,例如(-a --all)。
  • 参数,典型的参数是命令的目标,命令后面可能接多个参数。
ls

ls 是一个在 Unix、Linux 和 macOS 等类 Unix 操作系统中常用的命令,用于列出当前目录下的文件和子目录。

命令行语法

date

date 是一个用于显示或设置系统日期和时间的命令,在类 Unix 系统(如 Linux、macOS 等)中常用

  • date +"%Y-%m-%d":以 年-月-日 格式显示日期(如 2025-09-14
  • date +"%H:%M:%S":以 时:分:秒 格式显示时间(如 10:30:45
  • date -s "2025-09-14 10:30:00":设置系统时间(通常需要 root 权限)

bash执行命令

passwd

passwd 是类 Unix 系统(如 Linux、macOS 等)中用于修改用户密码的命令

file

file 是类 Unix 系统中用于识别文件类型的命令,它通过分析文件的内容(而非文件名)来判断文件的实际类型。

  • file -b 文件名:仅显示文件类型,不包含文件名(简洁输出)
  • file -i 文件名:以 MIME 类型格式显示(如 text/plain; charset=us-ascii
  • file -r 文件名:不对文件名中的特殊字符(如换行符)进行转义处理
  • file *:显示当前目录下所有文件的类型
cat
显示行号
[laoma@centos7 ~ 15:00:34]$ cat -n /etc/profile | tail -n +11 | head -n 5
    11	pathmunge () {
    12	    case ":${PATH}:" in
    13	        *:"$1":*)
    14	            ;;
    15	        *)
cat 命令配合标准输入和标准输出能够实现复杂的指令。
[root@centos7 ~ 15:15:49]# cat
# 输入hello,然后回车
hello
# 自动显示hello
hello
按ctrl+d 退出输出。
*****
(创建文件并加入内容)
[root@centos7 ~ 15:16:14]# cat > hello.txt
hello world
ni hao
# 按ctrl+d 退出输出。
*****
[root@centos7 ~ 15:17:13]# cat hello.txt 
hello world
ni hao
*****
使用 << 自定义数据结束符号
[root@centos7 ~ 15:17:17]# cat <<EOF > test.txt
> line 1
> line 2
> line 3
> EOF
[root@centos7 ~ 15:21:37]# cat test.txt 
line 1
line 2
line 3

head
查看 /etc/profile 11-15行内容
[laoma@centos7 ~ 14:55:19]$ head -n 15 /etc/profile | tail -n 5
pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
tail
能否tail在前head在后?
[laoma@centos7 ~ 14:59:55]$ tail -n +11 /etc/profile | head -n 5
pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
less

less 是类 Unix 系统中一个功能强大的文件查看工具,用于逐页查看文本文件内容,比 more 命令更灵活。

常用操作(在查看模式中):

  • 空格键:向下翻一页

  • b 键:向上翻一页

  • 回车键:向下滚动一行

  • k 键:向上滚动一行

  • G:跳转到文件末尾

  • g:跳转到文件开头

  • /关键词:向下搜索 “关键词”(按 n 键继续查找下一个,N 键查找上一个)

  • ?关键词:向上搜索 “关键词”

  • q 键:退出 less 查看模式

  • h 键:显示帮助信息

用法

  • less -N 文件名:显示行号
  • less +/关键词 文件名:打开文件后直接定位到第一个 “关键词” 处
  • less -S 文件名:不自动换行(长行会被截断,按左右箭头可滚动查看)
wc

类 Unix 系统中用于统计文件内容的命令,主要用于计算文件的行数、单词数和字节数。

用法:

  • wc -l 文件名:仅统计行数(line count)
    例如:wc -l log.txt 统计日志文件的行数
  • wc -w 文件名:仅统计单词数(word count),以空格或换行分隔的字符串视为单词
  • wc -c 文件名:仅统计字节数(byte count),包括所有字符(含换行符、空格等)
  • wc -m 文件名:统计字符数(character count),多字节字符(如中文)会按实际字符数计算
  • wc -L 文件名:显示文件中最长行的长度(包含换行符)

tab按键–自动补全

history (记录查询)

  • history N:显示最近的 N 条命令历史(如 history 10 显示最近 10 条命令)
  • !n:执行历史记录中编号为 n 的命令(如 !100 会执行编号 101 的命令)
  • !!:重复执行上一条命令(等同于 !-1
  • !string:执行最近一条以 “string” 开头的命令(如 !ls 会执行最近一条以 ls 开头的命令)
  • history -c:清空当前的命令历史记录(仅清除内存中的记录,不影响已保存的)
  • history -d n:删除编号为 n 的历史记录

scripts(脚本)

在 Linux/Unix 环境中,“scripts” 通常指的是 shell 脚本(以 .sh 为扩展名),是一系列命令的集合,用于自动化执行重复任务。

echo

# 查看文件内容 /etc/fstab

echo 查看文件内容 /etc/fstab
echo /etc/fstab 文件内容 如下
cat /etc/fstab
[root@centos7 ~ 16:03:16]# cat <<EOF >12.sh 
#!/bin/bash
# 查看文件系统内容
echo 文件系统内容如下:
df -h
echo
# 查看内存和cpu使用信息
echo 内存和cpu使用情况如下:
vmstat 1 5
EOF

[root@centos7 ~ 16:03:29]# bash 12.sh

bash 快捷键

快捷键作用
Ctrl+a 或者 Home光标定位到命令行开头
Ctrl+e 或者 End光标定位到命令行末尾
Ctrl+u删除光标位置到命令行开头
Ctrl+k删除光标位置到命令行末尾
Ctrl+<-光标向左跳转一个单词
Ctrl±>光标向右跳转一个单词
Ctrl+r搜索历史命令
Ctrl+w向左删除一个单词
Esc+.打印上一个命令的最后一个参数
Ctrl+l(L的小写)清空屏幕
Ctrl+d登出终端

命令行管理文件(4.命令行管理文件)

文件系统层次结构

在这里插入图片描述

FHS

如果每个人都按自己的喜好,在/目录下创建目录、存放文件,将导致其他人无法快速使用他人的linux系统。为避免这样的情况,FHS就应运而生,对linux文件系统目录结构进行规范化。

位置用途
/usr系统安装的软件、共享的库。重要的子目录有:/usr/bin: 用户命令。/usr/sbin: 系统管理命令。 /usr/lib /usr/lib64:应用程序可调用的通用库文件。 /usr/local: 本地自定义软件。
/etc系统配置文件。
/var系统可变数据,在系统启动之间保持永久性,如数据库、 缓存目录、日志文件、打印机后台处理文档和网站内容。
/run自本次系统启动以来运行中的进程的运行数据,包括进程ID文件和锁定文件,等等。此目录中的内容在重启时重新创建。此目录合并了早期版本的Linux 中的/var/run和/var/lock。
/home主目录是普通用户存储其个人数据和配置文件的位置。 每个用户有自己的位置,例如 /home/laoma。
/root管理员root的主目录。
/tmp供临时文件使用的全局可写空间。 10天内未访问、未更改或未修改的文件将自动从该目录中删除。 还有一个临时目录/var/tmp,该目录中的文件如果在30天内未曾访问、更改或修改过, 将被自动删除。
/boot开机启动过程所需的文件。
/dev包含特殊的设备文件,供系统用于访问硬件。

文件路径导航

绝对路径 相对路径
当前位置:/tmp/vmware-root_1619-1816005584
目标位置:/tmp/yum.log


当前位置:/usr/share/doc/
目标位置:/usr/yum.log
相对路径:../../yum.log

当前位置:/usr/share/doc/
目标位置:/etc/yum/yum.log
相对路径:../../../etc/yum/yum.log
ls 命令补充
#-R 选项递归查看子目录中文件
[laoma@centos7 ~]$ ls /etc/yum
fssnap.d  pluginconf.d  protected.d  vars  version-groups.conf
[laoma@centos7 ~]$ ls -R /etc/yum
/etc/yum:
fssnap.d  pluginconf.d  protected.d  vars  version-groups.conf

/etc/yum/fssnap.d:

/etc/yum/pluginconf.d:
fastestmirror.conf  langpacks.conf

/etc/yum/protected.d:
systemd.conf

/etc/yum/vars:
contentdir  infra
  • ls命令默认按文件名先后顺序正向排序

  • 使用 -r 选项反向排序

  • 使用 -t 选项按时间排序

  • 使用 -d 选项只查看对象本身

stat (查看文件的元数据属性)

元数据:元数据(Metadata)是描述数据的数据(Data about Data),它不直接记录核心信息本身,而是通过结构化的信息,定义核心数据的属性、背景、关联关系和使用规则,帮助人们或系统快速理解、管理、定位和使用核心数据。

简单来说,如果你把核心数据比作 “一本书”,元数据就是这本书的 “封面、目录、作者、出版日期、字数、分类标签”—— 它不包含书中的故事内容,但能让你快速知道 “这是本什么书”“怎么找到它”“适不适合自己”。

touch(创建文件,修改时间戳)

创建文件:

  • touch notes.txt:创建一个名为 notes.txt 的空文件
  • touch report.md data.csv:同时创建多个空文件

修改时间戳

  • touch -a 文件名:仅更新文件的访问时间(不改变修改时间)
  • touch -m 文件名:仅更新文件的修改时间(不改变访问时间)
  • touch -t 时间 文件名:将文件时间设置为指定时间,格式为 YYYYMMDDhhmm.ss
    例如:touch -t 202509141530.00 oldfile.txt 将文件时间设为 2025 年 9 月 14 日 15:30:00
  • touch -r 参考文件 目标文件:将目标文件的时间设置为与参考文件相同

命令行管理文件

mkdir
cp(copy)
文件
  • 当前目录下有同名称文件,不会提示直接覆盖(通过 -i 选项,提示是否覆盖)
  • 复制多个文件,目标只能是目录
目录
  • 使用 -r 选项复制目录
  • 当前目录下有同名称目录,则将源目录放到相同目录下面,而不是覆盖当前目录
  • 复制多个目录,目标必须是已经存在的目录
  • 以上信息提示权限不够,暂不用理会
mv (move)
# 重命名文件
[laoma@centos7 lab]$ ls
etc  home  host.conf  yum  yum-1
[laoma@centos7 lab]$ mv host.conf host.conf-new
[laoma@centos7 lab]$ ls
etc  home  host.conf-new  yum  yum-1
rmdir
  • 使用-f选项,直接删除
  • -r选项递归删除目录
  • 递归强制删除目录 -fr选项
软连接(ln(link))

在这里插入图片描述

shell 扩展匹配文件
模式匹配项
*由零个或更多字符组成的任何字符串。单独*不匹配隐藏文件。
?任何一个字符。
[abc…]位于两个方括号之间中的任何一个字符。
[^abc…]或[!abc…]不在括起的类中的任何一个字符。
~当前用户的主目录。
~usernameusername用户的主目录。
[[:alpha:]]任何字母字符,相当于[a-Z]。
[[:lower:]]任何小写字符。
[[:upper:]]任何大写字符。
[[:alnum:]]任何字母字符或数字,相当于[a-Z0-9]。
[[:punct:]]除空格和字母数字以外的任何可打印字符。
[[:digit:]]或[0-9]从 0 到 9 的任何单个数字。
[[:space:]]任何一个空白字符。这可能包括制表符、 换行符、回车符、 换页符或空格。
* 示例

匹配由零个或更多字符组成的任何字符串。单独*不匹配隐藏文件。

? 示例

匹配任何一个字符。

[] 示例

匹配位于两个方括号之间中的任何一个字符。

~ 示例

匹配用户家目录。

{} 示例

Linux 中获取帮助

Man手册(manual)
SECTION内容类型
1用户命令(可执行命令和shell程序)
2系统调用(从用户空间调用的内核例程)
3库函数(由程序库提供)
4特殊文件(如设备文件)
5文件格式(用于许多配置文件和结构)
6游戏(过去的有趣程序章节)
7惯例、标准和其他(协议、文件系统)
8系统管理和特权命令(维护任务)
9Linux内核API(内核调用)

man手册页面交互操作指令(less程序)

命令结果
PageDown或者空格键向前(向下)滚动一个屏幕
PageUp向后(向上)滚动一个屏幕
向下箭头向前(向下)滚动一行
向上箭头向后(向上)滚动一行
d向前(向下)滚动半个屏幕
u向后(向上)滚动半个屏幕
/string在man page中向前(向下)搜索string
n在man page中重复之前的向前(向下)搜索
N在man page中重复之前的向后(向上)搜索
g转到man page的第一行。
G转到man page的最后一行。
q退出man ,并返回到shell命令提示符
grep

先用man -k 在man中查询 再用grep筛选关键字

history(不建议man)
[laoma@centos7 ~]$ help history
which 和 whereis 命令

which查看命令代表什么

whereis 查看关键字对应的程序位置,帮助文档,源码

vim 编辑器

介绍

文本编辑器(不独属于linux系统)

  • conmand 模式
  • edit 模式 按i进入
  • extended command 按:进入
  • visual edit 模式 按v进入
命令行模式快捷键

定位文件内容:

  • w,向后1个word(光标在单词开头);e,向后1个word(光标在单词末尾)
  • b,向前1个word
  • ^0,行首
  • $,行尾
  • (,上一个句子头部;),下一个句子尾部。
  • {,上一个自然段;},下一个自然段。
  • gg,第一行;G,最后一行

进入插入模式:

  • i ,当前位置插入。
  • I,行首插入。
  • a,当前位置追加。
  • A,行末追加。
  • o,向下新开一个空白行。
  • O,向上新开一个空白行。

复制:yy,复制1行,相当于y1y。以此类推 y2y y2w y2b。

粘贴:p 当前位置后粘贴,P 当前位置前粘贴

删除:

  • x,删除当前单个字符。5x,删除当前字符和后续4个字符。
  • X,删除前一单个字符。
  • dw,删除1个word,以此类推 d5w d3b d2d d$。
  • D,从当前删除到最后,相当于d$。

回退:

  • u,撤销上一个操作。
  • U,撤销整行修改。

修改,相当于删除后插入:

  • s,删除当前字符,并进入编辑模式。
  • S,删除当前行,并进入编辑模式。
  • c,代表替换动作,例如cw,删除1个word,并进入编辑模式。以此类推 c5w。
  • C,从当前删除到最后,并进入编辑模式。

替换:

  • r,替换单个字符后回退到命令行模式。

  • R,替换模式,一直替换直到按Ese返回命令行模式。

    综合案例

    # 安装 dhcp 软件
    [root@centos7 ~ 13:39:01]# yum install -y dhcp
    [root@centos7 ~ 13:40:03]# # 安装一个软件,系统中会生成执行程序和配置文件。
    
    # 查看配置文件内容
    [root@centos7 ~ 13:34:26]# cat /etc/dhcp/dhcpd.conf
    #
    # DHCP Server Configuration file.
    #   see /usr/share/doc/dhcp*/dhcpd.conf.example
    #   see dhcpd.conf(5) man page
    #
    #根据提示复制模板
    [root@centos7 ~ 14:04:39]# /bin/cp /usr/share/doc/dhcp*/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
    
    [root@centos7 ~ 13:37:31]# # 每个工具或者服务都有配置文件。
    [root@centos7 ~ 13:38:42]# # vim /etc/vimrc ~/.vimrc
    # 修改vim工具配置,设置显示行号和命令
    [root@centos7 ~ 13:36:30]# vim ~/.vimrc
    set number showcmd
    
    # 开始修改 dhcpd.conf
    [root@centos7 ~ 13:34:26]# vim /etc/dhcp/dhcpd.conf
    
    1. gg 光标移动到第一行
    2. d45d 从当前行开始删除45行
    3. :11,$d,回车执行 从11行删除到最后一行
    4. :%s/10.5.5/10.1.8/g,回车执行 在文件中查找10.5.5,并将查找到的内容替换为10.1.8
       % 代表针对文件所有行  s  查找并替换  /10.5.5/查找内容   /10.1.8/ 替换内容  g将行中所有匹配内容替换掉
    5. /224,回车执行 搜索224
    6. cw change 1 word(删除1个单词并进入插入模式),写0
    7. esc 返回命令行模式
    8. ZZ 保存退出
    

Linux 输入输出重定向

Linux 输入输出重定向介绍

在这里插入图片描述

  • stdout是进程输出正常结果的通道

  • stderr是进程输出错误信息的通道,用于区分正常输出和错误提示(如程序崩溃、逻辑错误的提示信息)

  • other files(其他文件,filename)代表进程与自定义文件的交互通道(非标准流),没有默认连接,需要手动指定文件。用法为读取和 / 或写入(可根据需求对文件进行读、写操作)。

标准输出重定向到文件

在这里插入图片描述

管道符|与>、>>等符号按从左往右的顺序执行

!标准输出重定向到程序

在这里插入图片描述

实操题:生产环境日志分析与问题排查综合脚本

  1. 查看工具帮助

    • 使用man命令查看grepawk的手册,了解如何筛选包含特定状态码的行、提取日志中的 IP 和 URL。
    • 使用--help选项查看sortuniq的用法,了解如何排序和去重统计。
  2. 日志分析操作

    • access.log中筛选出所有 4xx(客户端错误)和 5xx(服务器错误)的日志行,导出到/tmp/error_logs.txt
    • 从错误日志中提取访问 IP,统计每个 IP 的错误访问次数,按次数降序排列,取前 5 名,结果保存到/tmp/top5_error_ips.txt
    • 从错误日志中提取 URL(假设日志格式中 URL 为第 7 列)和状态码,统计每个(URL + 状态码)组合的出现次数,结果保存到/tmp/url_error_stats.txt
  3. 生成分析报告

    • 将上述分析结果汇总到/tmp/nginx_analysis_report.txt,包含操作时间、错误日志总数、Top5 错误 IP、URL 错误统计。

在这里插入图片描述

知识点

awk(查询某一列数据)

awk 是一种强大的文本处理工具,常用于在类 Unix 系统中对文本数据进行分析、提取和转换,特别适合处理结构化的文本(如日志、CSV 等)。

awk '模式 { 动作 }' 文件名
  • 模式:指定需要处理的行(如条件判断)
  • 动作:对匹配的行执行的操作(如打印、计算等)
功能分类命令示例说明
基本打印awk '{print}' file.txt打印整个文件所有内容(等同于 cat
awk '{print $0}' file.txt打印整行内容($0 代表整行)
按列提取awk '{print $1, $3}' data.txt打印第 1 列和第 3 列(默认空格 / 制表符分隔)
awk -F ',' '{print $2}' csv.txt-F 指定逗号为分隔符,打印第 2 列
awk '{print $NF}' file.txt打印每行的最后一列(NF 表示当前行列数)
条件过滤awk '$3 > 100 {print}' data.txt第 3 列数值大于 100 的行才打印
awk '/error/ {print}' log.txt打印包含 “error” 的行(支持正则表达式)
awk 'NR > 5 {print}' file.txt打印行号大于 5 的内容(NR 表示当前行号)
统计计算awk '{sum += $2} END {print sum}' nums.txt计算第 2 列的总和(END 块在处理完所有行后执行)
awk 'END {print NR}' file.txt统计文件的总行数
awk '{avg = $2/$3; print avg}' data.txt计算第 2 列与第 3 列的比值并打印
格式化输出awk '{printf "Name: %-10s Age: %d\n", $1, $2}' info.txt格式化输出(左对齐姓名,占 10 字符宽度)
处理多个文件awk '{print FILENAME ": " $0}' a.txt b.txt打印内容时包含文件名(FILENAME 为当前文件名)
结合管道使用`ls -lawk ‘$5 > 1024 {print $9}’`过滤出文件大小(第 5 列)大于 1024 字节的文件名(第 9 列)
sort

sort 是类 Unix 系统中用于对文本内容进行排序的命令,可按字母、数字、月份等多种方式排序,并支持对文件或管道输入进行处理。

功能分类命令示例说明
基本排序sort file.txt对文件内容按默认规则(字母顺序)排序,输出到屏幕
sort -o sorted.txt file.txt将排序结果保存到 sorted.txt-o 指定输出文件)
数字排序sort -n numbers.txt按数值大小排序(默认按字符编码排序,-n 启用数字排序)
sort -nr numbers.txt按数值逆序排序(-r 表示反向排序)
按列排序sort -k3 data.txt按第 3 列内容排序(-k 指定列数,默认空格分隔)
sort -t',' -k2n data.csv用逗号分隔(-t 指定分隔符),按第 2 列数值排序
去重排序sort -u words.txt排序并去除重复行(等同于 `sort words.txtuniq`)
sort -k1,1 -u data.txt按第 1 列去重(只保留第 1 列首次出现的行)
特殊排序sort -M dates.txt按月份排序(如 Jan、Feb…)
sort -f names.txt忽略大小写排序(-f 表示不区分大小写)
组合使用ls -l sort -k5nr ls -l 输出按文件大小(第 5 列)逆序排序
sort -t' ' -k2,2 -k3n data.txt先按第 2 列排序,再按第 3 列数值排序(多列排序)
uniq

其核心作用是识别并移除(或标记)连续的重复行

功能分类命令示例说明
基本去重uniq file.txt移除相邻的重复行(只保留首次出现的行)
`sort file.txtuniq`先排序使重复行相邻,再去重(彻底去除所有重复行)
显示重复行uniq -d file.txt只显示出现过多次的相邻重复行(仅显示一次)
`sort file.txtuniq -d`显示所有重复出现过的行(需先排序)
统计重复次数uniq -c file.txt显示每行内容及其出现的次数(相邻重复行计数)
`sort file.txtuniq -c`统计所有行的出现次数(需先排序)
只显示唯一行uniq -u file.txt只显示仅出现过一次的行(非重复行)
`sort file.txtuniq -u`显示所有仅出现一次的行(需先排序)
忽略指定字段uniq -f2 file.txt忽略前 2 个字段后再判断重复行(字段以空格分隔)
uniq -s3 file.txt忽略前 3 个字符后再判断重复行
按字节比较uniq -w5 file.txt只比较每行的前 5 个字节来判断是否重复
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐