tree:以树状结构显示目录下的文件和子目录,方便直观查看文件系统结构。
-d
:仅显示目录,不显示文件。-L [层数]
:限制显示的目录层级(如-L 2
表示显示当前目录下 2 层子目录)。-h
:以人类可读的格式显示文件大小。-I [模式]
:排除符合指定模式的文件或目录(如-I "*.log"
排除所有.log
文件)。
touch:一次性创建多个文件
-a
:仅更新访问时间。-m
:仅更新修改时间。-t [时间]
:指定时间(格式为YYYYMMDDhhmm.ss
,如-t 202505251430.00
)。
wc:统计文件中的行数、单词数、字节数或字符数。
-l
:统计行数(Lines)。-w
:统计单词数(Words,以空格分隔)。-c
:统计字节数(Bytes)。-m
:统计字符数(Characters,基于系统编码)。
sort:对文件内容或标准输入进行排序,默认按 ASCII 码顺序排列。
-n
:按数值大小排序(而非字符 ASCII 码)。-r
:逆序排序(从大到小或 Z 到 A)。-u
:去重(仅保留唯一行)。-t [分隔符]
:指定字段分隔符(如-t ":"
用于处理冒号分隔的字段)。-k [字段范围]
:按指定字段排序(如-k 2
按第 2 字段排序)。
Lrzsz 与 unzip
lrzsz:与windows互传文件的命令,包含两个核心命令
rz:上传到linux windows ---->linux(也可直接拖拽到xshell)
sz:下载文件到windows linux ---->windows
unzip:解压
unzip xxx.zip 得到 xxx.log 再使用awk取出
uniq:去重,但是只能去重已排序好的
需要配合sort使用
sort uniq.text |uniq -c(-c为显示每一项出现的次数)
dos2unix:dos2unix
是一个在 Linux、macOS 等类 Unix 系统中常用的命令行工具,主要用于将 DOS/Windows 格式的文本文件转换为 Unix/Linux 格式。其核心作用是处理两种系统间换行符(空格 windows和linux的空格是有差异的)的差异。
diff/vimdiff:
diff: 逐行比较文件内容,输出文本差异。
-u
:以统一格式(unified)输出差异,包含上下文(默认显示 3 行)。-r
:递归比较目录(用于比较目录及其子目录下的所有文件)。-q
:仅显示文件是否不同(静默模式,不输出具体差异)。-i
:忽略大小写差异。--color=auto
:以彩色高亮显示差异(需终端支持)。
输出符号含义:>
:右侧文件(文件 2)新增的行。<
:左侧文件(文件 1)新增的行。---
、+++
:分别标记两个文件的起始行。@@ -n,m +n,m @@
:表示差异位置(原文件第 n 行开始的 m 行,新文件第 n 行开始的 m 行)。
vimdiff:基于 Vim 编辑器的可视化差异比较工具,提供分屏界面,直观展示文件差异。
- 交互式编辑:可直接在界面中修改文件,并实时查看差异变化。
- 多文件比较:支持同时比较 2-3 个文件(如
vimdiff file1 file2 file3
)。 - 丰富的快捷键:
]c
/[c
:跳转到下一个 / 上一个差异处。do
(diff obtain):将当前差异处的内容从另一个文件复制到当前文件。dp
(diff put):将当前文件的内容复制到另一个文件。zo
/zc
:展开 / 折叠差异块。:diffupdate
:刷新差异标记(修改文件后使用)。
which和whereis:
which
:专注于查找PATH
中的可执行文件,适合快速定位命令路径。
whereis
:提供更全面的文件搜索(二进制、源码、文档),但依赖系统预定义的搜索路径。