Linux常见使用场景

embedded/2025/4/1 5:47:10/

一、文件查看与内容操作

1. cat
  • 作用:查看文件内容(一次性输出全部内容)。
  • 常用选项
    • -n:显示行号。
    • -b:仅对非空行显示行号。
  • 示例
    cat file.txt          # 查看文件内容
    cat -n file.txt       # 显示行号
    cat file1.txt file2.txt > combined.txt  # 合并文件
2. more / less
  • 作用:分页查看文件内容(支持上下翻页)。
  • 区别
    • more:只能向下翻页。
    • less:支持上下翻页和搜索(按 / 输入关键词)。
  • 示例
    more large_file.log
    less large_file.log   # 推荐使用(功能更强大)
3. head / tail
  • 作用:查看文件开头或结尾部分内容。
  • 常用选项
    • -n <行数>:指定显示的行数(如 -n 10)。
    • -f(仅 tail):实时追踪文件更新(常用于监控日志)。
  • 示例
    head -n 5 file.txt    # 查看前5行
    tail -n 10 file.txt   # 查看最后10行
    tail -f app.log       # 实时追踪日志

二、文本处理与过滤

1. grep
  • 作用:文本搜索工具(基于正则表达式)。
  • 常用选项
    • -i:忽略大小写。
    • -v:反向匹配(显示不包含关键词的行)。
    • -r:递归搜索目录中的文件。
    • -E:支持扩展正则表达式(等同于 egrep)。
  • 示例
    grep "error" app.log          # 搜索包含 "error" 的行
    grep -i "warning" app.log     # 忽略大小写搜索 "warning"
    grep -r "TODO" /project/src   # 递归搜索目录中的文件
2. sort
  • 作用:对文本行排序。
  • 常用选项
    • -n:按数值排序(默认按字符串)。
    • -r:逆序排序(从大到小)。
    • -k <列号>:按指定列排序(如 -k 2 按第二列)。
  • 示例
    sort file.txt          # 默认按字母顺序排序
    sort -n data.txt       # 按数值排序
    sort -k 3 -r data.txt  # 按第三列逆序排序
3. uniq
  • 作用:去除相邻的重复行(通常与 sort 配合使用)。
  • 常用选项
    • -c:统计重复次数。
    • -d:仅显示重复的行。
  • 示例
    sort file.txt | uniq     # 去重(需先排序)
    sort file.txt | uniq -c  # 统计每行重复次数
4. cut
  • 作用:按列提取文本内容。
  • 常用选项
    • -d <分隔符>:指定列分隔符(默认是 Tab)。
    • -f <列号>:指定提取的列(如 -f 1,3)。
  • 示例
    cut -d ',' -f 1,3 data.csv  # 提取 CSV 文件的第一和第三列
5. sed
  • 作用:流编辑器(批量替换、删除、插入文本)。
  • 常用命令
    • s/old/new/g:全局替换。
    • d:删除行。
  • 示例
    sed 's/foo/bar/g' file.txt      # 替换所有 "foo" 为 "bar"
    sed '/^#/d' config.conf         # 删除所有以 `#` 开头的行(注释)
6. awk
  • 作用:强大的文本分析工具(按列处理数据)。
  • 常用语法
    • {print $N}:打印第 N 列。
    • BEGIN / END:处理前/后执行的操作。
  • 示例
    awk '{print $1, $3}' data.txt       # 打印第一和第三列
    awk -F ',' '{sum += $2} END {print sum}' data.csv  # 对第二列求和

三、文件查找与统计

1. find
  • 作用:查找文件或目录(支持多种条件)。
  • 常用选项
    • -name <模式>:按文件名匹配(支持通配符 *)。
    • -type <类型>:按文件类型查找(f 文件,d 目录)。
    • -mtime <天数>:按修改时间查找(如 -mtime +7 表示 7 天前)。
    • -exec <命令> {} \;:对查找到的文件执行命令。
  • 示例
    find /home -name "*.txt"          # 查找所有 .txt 文件
    find /var/log -type f -mtime +30  # 查找 30 天前修改过的文件
    find . -size +10M -exec rm {} \;  # 删除当前目录下大于 10MB 的文件(慎用!)
2. du
  • 作用:统计目录或文件的磁盘使用情况。
  • 常用选项
    • -h:人性化显示大小(如 KB/MB/GB)。
    • -s:仅显示总大小(不显示子目录)。
    • --max-depth=N:限制统计的目录层级。
  • 示例
    du -sh /home       # 统计 /home 目录的总大小
    du -h --max-depth=1 /var/log  # 显示 /var/log 下各子目录的大小
3. wc
  • 作用:统计文件的行数、单词数、字节数。
  • 常用选项
    • -l:仅统计行数。
    • -w:仅统计单词数。
    • -c:仅统计字节数。
  • 示例
    wc -l access.log    # 统计文件行数(日志条目数)
    wc -w essay.txt     # 统计单词数

四、文件操作与管理

1. cp
  • 作用:复制文件或目录。
  • 常用选项
    • -r:递归复制目录。
    • -i:覆盖前提示确认。
    • -v:显示复制进度。
  • 示例
    cp file.txt backup/          # 复制文件到目录
    cp -r dir1/ dir2/           # 递归复制目录
2. mv
  • 作用:移动文件或目录(也可用于重命名)。
  • 示例
    mv old.txt new.txt          # 重命名文件
    mv file.txt dir/            # 移动文件到目录
3. rm
  • 作用:删除文件或目录。
  • 常用选项
    • -r:递归删除目录。
    • -f:强制删除(不提示确认)。
  • 示例
    rm file.txt          # 删除文件
    rm -rf dir/          # 强制递归删除目录(慎用!)
4. ln
  • 作用:创建文件链接。
  • 常用选项
    • -s:创建符号链接(软链接)。
  • 示例
    ln -s /path/to/file link_name  # 创建软链接

五、文件权限与属性

1. chmod
  • 作用:修改文件权限。
  • 常用语法
    • 数字模式:chmod 755 file.sh
    • 符号模式:chmod u+x file.sh
  • 示例
    chmod 644 file.txt     # 设置权限为 rw-r--r--
    chmod +x script.sh     # 添加可执行权限
2. chown
  • 作用:修改文件所有者。
  • 示例
    chown user:group file.txt  # 修改所有者和所属组

六、文件压缩与归档

1. tar
  • 作用:打包和解压文件。
  • 常用选项
    • -c:创建归档文件。
    • -x:解压归档文件。
    • -v:显示操作过程。
    • -z:使用 gzip 压缩/解压。
    • -j:使用 bzip2 压缩/解压。
  • 示例
    tar -czvf archive.tar.gz dir/   # 打包并压缩目录
    tar -xzvf archive.tar.gz        # 解压 .tar.gz 文件
2. gzip / gunzip
  • 作用:压缩/解压文件(生成 .gz 文件)。
  • 示例
    gzip file.txt          # 压缩文件(生成 file.txt.gz)
    gunzip file.txt.gz     # 解压文件
3. zip / unzip
  • 作用:压缩/解压 ZIP 文件。
  • 示例
    zip archive.zip file1.txt file2.txt  # 压缩文件
    unzip archive.zip                    # 解压 ZIP 文件

七、其他实用命令

1. diff
  • 作用:比较两个文件的差异。
  • 示例
    diff file1.txt file2.txt  # 显示差异
2. file
  • 作用:检测文件类型。
  • 示例
    file unknown.bin  # 检测文件类型(如 ELF 可执行文件、JPEG 图片等)
3. touch
  • 作用:创建空文件或更新文件时间戳。
  • 示例
    touch new_file.txt  # 创建空文件
    touch existing.txt  # 更新文件访问和修改时间

八、组合命令示例

1. 统计日志中不同状态码的出现次数
cat access.log | awk '{print $9}' | sort | uniq -c
2. 查找当前目录下所有 .cpp 文件并备份到 backup 目录
find . -name "*.cpp" -exec cp {} backup/ \;
3. 实时监控日志中的错误信息
tail -f app.log | grep -i "error"

linux查找指定目录下最大的文件和文件夹?

. 查找最大的文件

使用 find 命令结合 du 和 sort,按文件大小排序:

# 查找指定目录(如 /path/to/dir)下最大的前10个文件
find /path/to/dir -type f -exec du -h {} + 2>/dev/null | sort -rh | head -n 10

参数解释

  • -type f:仅搜索文件。
  • -exec du -h {} +:计算每个文件的大小(人性化显示,如 KB/MB/GB)。
  • sort -rh:按人类可读的数值逆序排序(从大到小)。
  • head -n 10:显示前10个结果。

2. 查找最大的文件夹

使用 du 命令直接计算目录大小并排序:

# 查找指定目录(如 /path/to/dir)下最大的前10个文件夹
du -h /path/to/dir --max-depth=1 2>/dev/null | sort -rh | head -n 11

参数解释

  • --max-depth=1:仅显示直接子目录(设为 2 可包含子目录的子目录)。
  • head -n 11:显示前11行(包含父目录自身统计)。

http://www.ppmy.cn/embedded/177708.html

相关文章

一文详解QT环境搭建:ubuntu20.4安装配置Qt5

随着软件开发技术的不断进步&#xff0c;跨平台应用程序的需求日益增长&#xff0c;开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。Qt作为一个成熟的跨平台C框架&#xff0c;在这方面提供了卓越的支持&#xff0c;不仅简化了GUI应用程序的创建过程&#…

udp通信(一)

udp通信&#xff08;一&#xff09; 1、udp包的格式 public class UdpData{public byte[] SourcePort new byte[2];public byte[] DestinationPort new byte[2];public byte[] Length new byte[2];//Data.length8;public byte[] Checksum new byte[2];public byte[] Data …

d2025328

一、sql-判断三角形 610. 判断三角形 - 力扣&#xff08;LeetCode&#xff09; 用一下if加上判断条件 select x,y,z,if(xy > z and xz > y and yz > x and x-y < z and x-z < y and y-z < x,Yes,No) as triangle from Triangle 二、按照分类统计薪水 190…

【Python-OpenCV】手势控制贪吃蛇

用手势玩转经典游戏&#xff1a;打造一个手势控制的贪吃蛇 你是否曾经想过&#xff0c;如果能用手势来控制游戏会是什么体验&#xff1f;今天&#xff0c;我要向大家介绍一个有趣的项目——手势控制贪吃蛇游戏。这个项目结合了计算机视觉和经典游戏&#xff0c;让你可以通过简单…

NX二次开发刻字功能——拉伸功能

在这篇NX二次开发刻字功能——打印文本中已经实现了刻字三步中的第一步,接下来就是拉伸功能了。拉伸的功能就是实现为了后续实现布尔求和或者布尔求差。拉伸功能主要分为两部分:第一部分创建拉伸,第二部分编辑拉伸。 1、创建拉伸。首先是判断是创建拉伸还是编辑拉伸,如果已…

为AI聊天工具添加一个知识系统 之153:因果关系和过程 ,AI工具和模型

本文要点 要点 无意识的习惯 和 有意识的想法。 考虑- 因果关系和过程 一、关于因果关系的讨论 和设想 首先&#xff1a; 从皮尔斯1898年的言论到金正日1995年的言论&#xff0c;在这个世纪里&#xff0c;人们对因果关系没有达成共识。然而&#xff0c;人、动物甚至植物都…

从混乱思绪到清晰表达:记录想法如何改变你的学习人生

关键要点 • 记录想法似乎是发现自己想法并将其组织成可传播形式的最佳理由&#xff0c;研究表明写作和教学能增强学习和理解。 • 证据倾向于支持写作有助于澄清思想&#xff0c;而教学通过“教授效应”深化知识。 • 教学和分享被认为是最有效的学习方法&#xff0c;这与记录…

conda环境下解决gitk乱码模糊

关键词 conda、git、gitk、git gui、模糊、linux、乱码 现象 操作系统&#xff1a;ubuntu24.04 conda版本&#xff1a;25.1.1 正常的终端里gitk显示不会模糊 但是在conda创建的python虚拟环境中使用gitk&#xff0c;字体开始变得模糊不清 分析 根据deepseek的原因原因分析…