Linux常见使用场景

一、文件查看与内容操作

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.rhkb.cn/news/42621.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏引擎学习第188天

回顾并计划今天的内容 原本这周的目标是进行可视化操作的尝试&#xff0c;但每一天都被一些棘手的bug和问题所阻碍&#xff0c;导致我们一直没能实现这个目标。直到今天&#xff0c;星期四&#xff0c;我们终于解决了这些问题&#xff0c;所有功能都能正常运行了&#xff0c;所…

解决 FFmpeg 使用 C/C++ 接口时,解码没有 shell 快的问题(使用多线程)

一、问题 硬件设备为香橙派 5Plus&#xff0c;最近需要使用硬件视频解码来加速 YOLO 的检测&#xff0c;shell 窗口的FFmpeg已经调通&#xff0c;详见文章&#xff1a; 编译支持 RKmpp 和 RGA 的 ffmpeg 源码_rk3588 ffmpeg mpp-CSDN博客https://blog.csdn.net/plmm__/article…

玛哈特液压式精密矫平机——以精准压力,定义金属的绝对服从

板材应力不除&#xff0c;良率难升。液压式精密矫平机&#xff0c;凭借多级液压闭环技术AI动态补偿算法&#xff0c;攻克0.2mm超薄钛箔至65mm装甲钢板的矫平极限&#xff0c;平整度精度锁定0.012mm&#xff0c;残余应力≤3MPa&#xff0c;让金属从“形似平整”迈向“分子级稳定…

食品计算—Nutrition5k: Towards Automatic Nutritional Understanding of Generic Food

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

C++11--(1)

目录 1.列表初始化 {}初始化 C98中 C11中 内置置类型和自定义类型 创建对象也适用 std::initializer_list 2.变量类型推导 auto C98 C11 decltype nullptr 3.范围for循环 4.STL中一些变化 array 1.创建和初始化 2.访问元素 ​编辑 3.修改操作 4.支持迭代器…

Tabby 一:如何在Mac配置保姆级教程(本地模型替换hugging face下载)

1. brew安装 mac需要先安装brew&#xff0c;如果本地已经安装过brew这一步可以忽略&#xff0c;遇到问题可以自己ai问 /bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 可能遇到source .zprofile失败&#xff0c;因为…

内网服务器无法通过公网地址访问映射到公网的内网服务

内网服务器无法通过公网地址访问映射到公网的内网服务 问题现象问题原因解决方法总结 前几天遇到一个网络问题&#xff0c;在这里做下记录&#xff0c;希望能帮助到有相同问题的朋友。 问题现象 网络拓扑如上所示&#xff0c;服务器1和服务器2在同一内网&#xff0c;网段均为1…

mac 下配置flutter 总是失败,请参考文章重新配置flutter 环境MacOS Flutter环境配置和安装

一、安装和运行Flutter的系统环境要求 想要安装并运行 Flutter&#xff0c;你的开发环境需要最低满足以下要求&#xff1a; 操作系统:macOS磁盘空间:2.8 GB(不包括IDE/tools的磁盘空间)。工具:Flutter使用git进行安装和升级。我们建议安装Xcode&#xff0c;其中包括git&#x…

Linux的进程信号 -- 信号产生,信号保存,信号捕捉,硬件中断,内核态和用户态,可重入函数,volatile,SIGCHLD

目录 1. 认识信号 1.1 信号的定义和基本结论 1.1.1 查看信号 1.2 技术应用角度的信号 1.2.1 一个样例 1.2.2 系统调用 signal 函数 1.3 信号的处理 2. 信号的产生 2.1 通过终端按键产生信号 2.1.1 基本操作 2.1.2 理解操作系统如何得知键盘信号 2.1.3 初步理解信号…

知识库中嵌入模型(Embedding Models)与重排序模型(Re-ranking Models)推荐工具与库

一、引言 在当今信息爆炸的时代&#xff0c;企业和组织面对海量数据时&#xff0c;如何快速、准确地检索和利用知识成为一项关键技术。知识库作为信息管理和知识发现的核心平台&#xff0c;已经广泛应用于搜索引擎、问答系统、智能客服、推荐系统等领域。然而&#xff0c;传统…

C++调用Python

Python安装 地址&#xff1a; python官网 可以根据需要下载对应的版本。 调用python python测试脚本 # my_script.py import sys import jsondef calculate(a, b):return a * b 10 # 示例计算逻辑if __name__ "__main__":# 从命令行参数读取 JSON 字符串try…

Linux 中查看文件大小方法

目录 方法一&#xff1a;ls -l 输出的第五列方法二&#xff1a;du 命令的输出信息方法三&#xff1a;stat -c %s 的输出 方法一&#xff1a;ls -l 输出的第五列 ls 是列出指定目录下文件列表的命令&#xff0c;通过 -l 选项可以显示文件的属性信息&#xff0c;第五列显示的就是…

初识Qt(一)

本文部分ppt、视频截图原链接&#xff1a;萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频 1. Qt是什么&#xff1f; Qt是一个跨平台的C应用程序开发框架&#xff0c;它既为图形用户界面(GUI)程序开发提供了强大支持&#xff0c;也能用于开发非GUI的控制台程序、服务端…

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗 docker - compose up - d 是一个用于管理 Docker 容器的命令,具体含义如下: 命令含义: up:用于创建、启动并运行容器,会根据 docker - compose.yml 文件中定义的服务配置来操作。-d:表示以“分离模式”(det…

《2核2G阿里云神操作!Ubuntu+Ollama低成本部署Deepseek模型实战》

简介&#xff1a; “本文为AI开发者揭秘如何在阿里云2核2G轻量级ECS服务器上&#xff0c;通过Ubuntu系统与Ollama框架实现Deepseek模型的高效部署。无需昂贵硬件&#xff0c;手把手教程涵盖环境配置、资源优化及避坑指南&#xff0c;助力初学者用极低成本在云端跑通行业领先的大…

DexGrasp Anything:具有物理-觉察的普遍机器人灵巧抓取

25年3月来自上海科技大学的论文“DexGrasp Anything: Towards Universal Robotic Dexterous Grasping with Physics Awareness”。 能够抓取任何物体的灵巧手&#xff0c;对于通用具身智能机器人的开发至关重要。然而&#xff0c;由于灵巧手的自由度高&#xff0c;物体种类繁多…

COMPASS:通过残差强化学习和技能合成实现跨具身移动策略

25年2月来自 Nvidia、UC Berkeley 和 UT Austin 的论文“COMPASS: Cross-embOdiment Mobility Policy via ResiduAl RL and Skill Synthesis”。 随着机器人越来越多地部署在不同的应用领域&#xff0c;可泛化的跨具身移动策略变得越来越重要。虽然经典的移动栈已被证明在特定…

win10下python脚本运行缺失ccache的问题处理

问题 python脚本运行时&#xff0c;会提醒参考 https://github.com/ccache/ccache/blob/master/doc/INSTALL.md 处理缺失ccache的问题。 下载编译 下载ccache主干版本&#xff0c; 例如 https://github.com/ccache/ccache/archive/refs/heads/master.zip 按照说明编译 mkd…

跨语言语言模型预训练

摘要 最近的研究表明&#xff0c;生成式预训练在英语自然语言理解任务中表现出较高的效率。在本研究中&#xff0c;我们将这一方法扩展到多种语言&#xff0c;并展示跨语言预训练的有效性。我们提出了两种学习跨语言语言模型&#xff08;XLM&#xff09;的方法&#xff1a;一种…

3月28号

今天写了一些算法题: P1866 编号 题目描述 太郎有 N 只兔子&#xff0c;现在为了方便识别它们&#xff0c;太郎要给他们编号。兔子们向太郎表达了它们对号码的喜好&#xff0c;每个兔子 i 想要一个整数&#xff0c;介于 1 和 Mi​ 之间&#xff08;可以为 1 或 Mi​&#xf…