5分钟学会使用Linux的 grep、find、ls、wc 命令,零基础入门到精通,收藏这篇就够了

Linux 基础命令之 ls 排序与 find 组合使用 本文将着重探讨 Linux 系统中 ls 和 find 命令的使用,这两个命令是文件管理中不可或缺的工具。内容将涵盖它们的基础知识、高级技巧,以及如何有效地排序和组合使用这些命令来优化文件管理任务。通过实际案例,我们将展示如何提升效率并更精准地查找和管理文件。 阅读详情

“ 在 Linux 世界中,命令行是不可或缺的一部分,而掌握一些常用的命令可以帮助你更有效率地管理文件和系统。本文将为你介绍四個基礎而强大的 Linux 命令:grep、find、ls 和 wc,带你开启高效文件操作的旅程!”

01

概述

本系列主要讲解Linux运行时命令,包括网络、磁盘、内存、CPU相关参数等,主要是为了分享怎么通过常见的 Linux 命令去排查相关问题。比如:

  1. 发现机器的CPU负荷比较高,那么怎么查到是哪个进程CPU占用率比较高?

  2. 磁盘IO的写入很频繁,怎么查到是哪个进程或线程对磁盘IO频繁的操作?等等。

本系列就是分享诸如这类问题的排查技巧。注意,本系列的核心方向不是去讲解Linux的命令查找、显示当前目录等(比如ls、cat等)基础命令操作。本系列的重点分享内容包括:

  1. Linux基础命令和工具。

  2. CPU性能监控。

  3. 内存性能监控。

  4. 文件IO性能监控。

  5. 网络IO性能监控。

强烈推荐:Linux 大牛,Netflix 高级性能架构师 Brendan Gregg的博客http://www.brendangregg.com。《性能之巅》书籍就是他出版的,主要分为:CPU、内存、磁盘、网络四大块。

下面对应的命令大部分都不是专为某一个模块设计的。所以先把基本的命令都掌握,再去细分每个命令的侧重点。

1.1、监控

常用的命令:

工具描述
free显示系统内存使用情况,包括使用的内存、空闲的内存、缓存和交换区等信息。
ping用于测试网络连接的工具,通过向目标主机发送 ICMP 回显请求并等待回复来测量网络延迟。
vmstatVirtual Memory Statistics,虚拟内存统计工具,提供系统内存、进程、CPU活动等信息。
iostat用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息。
dstat显示了cpu使用情况,磁盘io情况,网络发包情况和换页情况,输出是彩色的,可读性较强,相对于vmstat和iostat的输入更加详细且较为直观。
pidstat监控所有或指定进程的资源占用情况,如CPU、内存、设备IO、任务切换、线程等。
top动态显示系统性能信息,包括负载、进程状态、CPU 使用率、内存使用及交换分区的信息。
iotopLINUX进程实时监控工具,类似于 top 命令的工具,用于实时监控磁盘 I/O 使用情况及进程的信息。
htop交互式进程查看器,提供用户友好的界面,支持按键操作以管理进程。一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。
mpstat报告 CPU 的统计信息,显示每个 CPU 的使用情况,有助于分析 CPU 性能。
netstat显示与 IP、TCP、UDP 和 ICMP 协议相关的网络连接和统计信息。一般用于检验本机各端口的网络连接情况。
ps显示当前进程的状态和相关信息,类似于 Windows 的任务管理器。
strace跟踪程序执行过程中产生的系统调用及接收到的信号,用于诊断程序问题。
ltrace跟踪进程调用的库函数,帮助分析程序的库函数使用情况。
uptime显示系统当前运行时间和负载信息,为用户提供系统负载状态的一个快照。能够打印系统总共运行了多长时间和系统的平均负载,uptime命令最后输出的三个数字的含义分别是1分钟,5分钟,15分钟内系统的平均负荷。
lsof列出当前系统中打开的文件及相关进程,帮助识别文件使用情况。
perfLinux kernel 自带的性能分析工具,帮助识别程序性能瓶颈,通过分析 CPU 使用情况及热点函数。是Linux kernel自带的系统性能优化工具。优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature,用于查看热点函数,查看cashe miss的比率,从而帮助开发者来优化程序性能。
tcpdump网络抓包工具,捕获和分析网络数据包,常用于网络故障排查和监控。
sar收集和报告系统活动信息,涵盖 CPU、内存、I/O、网络等性能指标。
blktrace跟踪块设备 I/O 操作,分析系统的磁盘 I/O 性能及行为。

下面这张图是 Brendan Gregg 提供的一个性能优化命令集。可以看到有很多命令可以监控系统的性能,比如文件系统相关、调用栈相关、网络相关等的命令。

1.2、测试


sysbench是一个模块化、跨平台、多线程基准测试工具,可用于以下性能测试:

  1. CPU性能。

  2. 磁盘IO性能。

  3. 调度程序性能。

  4. 内存分配及传输速度。

  5. POSIX线程性能。

  6. 数据库性能(OLTP基准测试)。

Linux CPU使用率主要是从以下几个维度进行统计:

指标描述
%usr普通进程在用户模式下执行的时间
%sys进程在内核模式下的执行时间
%nice被提高优先级的进程在用户模式下的执行时间
%idle空闲时间
%iowait等待I/O完成的时间
%irp处理硬中断请求花费的时间
%soft处理软中断请求花费的时间
%steal是衡量虚拟机CPU的指标,是指分配给本虚拟机的时间片被同一宿主机别的虚拟机占用,一般%steal值较高时,说明宿主机的资源使用已达到瓶颈。

一般情况下,CPU大部分的时间片都是消耗在用户态和内核态上。

sys和user间的比例是相互影响的,%sys比例高意味着被测服务频繁的进行用户态和系统态之间的切换,会带来一定的CPU开销,这样分配处理业务的时间片就会较少,造成系统性能的下降。对于IO密集型系统,无论是网络IO还是磁盘IO,一般都会产生大量的中断,从而导致%sys相对升高,其中磁盘IO密集型系统,对磁盘的读写需要占用大量的CPU,会导致%iowait的值一定比例的升高,所以当出现%iowait较高时,需排查是否存在大量的不合理的日志操作,或者频繁的数据载入等情况;

1.3、优化

Linux Performance Tuning Tools的示意图,展示了Linux系统中不同的工具及其对应的组件。

02

grep 搜索字符

grep 命令用于在文件中执行关键词搜索,并显示匹配的效果。

基本语法:

grep [选项] 模式 [文件...]  

部分常用选项:

参数作用
-c仅显示找到的行数
-i忽略大小写
-n显示行号
-v反向选择,仅列出没有关键词的行。v 是 invert 的缩写。
-r递归搜索文件目录
-C n打印匹配行的前后n行
-E使用扩展正则表达式。
-l仅显示包含匹配行的文件名。
-h不显示文件名。
-w仅匹配整个单词。
-o仅显示匹配的模式。
-q静默模式,不输出任何内容。
-A n显示匹配行及其后面的 n 行。
-B n显示匹配行及其前面的 n 行。
-f 文件名从文件中读取模式。

基本正则表达式:

  • .:匹配任意单个字符。

  • *:匹配前一个字符零次或多次。

  • []:匹配括号内的任意一个字符。

  • [^]:匹配括号内以外的任意一个字符。

  • \: 转义字符,用于匹配特殊字符。

  • ^:匹配行首。

  • $:匹配行尾。

  • |:或运算符。

  • ():分组运算符。

扩展正则表达式:

  • +:匹配前一个字符一次或多次。

  • ?:匹配前一个字符零次或一次。

  • {}:匹配前一个字符指定次数。

示例:

  1. 在指定文件查找,查找login关键字。

    grep  login  ImUser.cpp  
    
    
  2. 多个文件中搜索。

    grep  login  ImUser.cpp MsgConn.cpp  
    
    
  3. 在多个文件搜索的时候,可以使用通配符。在以 cpp结尾的文件中,搜索包含login 的行

    grep  login  *.cpp  
    
    
  4. 递归搜索目录下所有文件, 搜索 msg_server目录下所有文件,打印出包含 login的行。

    grep login -r msg_server/  
    
    
  5. 反向查找,查找文件中,不包含 CImUser 的行。

    grep -v CImUser ImUser.cpp  
    
    
  6. 找出文件中包含 login的行,并打印出行号。

    grep  -n login  ImUser.cpp  
    
    
  7. 找出文件中包含 login的行,打印出行号,并显示前后3行。

    grep -C 3 -n login  ImUser.cpp  
    
    
  8. 找出文件中包含 login的行,打印出行号,并显示前后3行,并忽略大小写。

    grep -C 3 -i -n login  ImUser.cpp
    

注意事项:

  • grep 命令通常用于处理文本文件,但也支持从标准输入读取数据。

  • grep 命令的效率取决于模式的复杂度和文件的大小。

  • grep 命令可以与其他命令结合使用,例如 管道 和 重定向。

其他相关命令:

  • egrep:等价于 grep -E,使用扩展正则表达式。

  • fgrep:等价于 grep -F,使用固定字符串匹配。

  • ag:更快更强大的搜索工具。

03

find 查找文件

find 命令用于在文件系统中搜索文件和目录,并对找到的项目执行操作。通过文件名查找文件的所在位置,文件名查找支持模糊匹配。

基本语法:

find [起始目录] [选项] [表达式]  

参数:

  • 起始目录: 指定搜索的起始目录。如果省略,则默认从当前目录开始搜索。

  • 选项: 用于控制搜索行为和输出结果。

  • 表达式: 用于描述要搜索的目标文件或目录。

主要选项:

选项作用
-name 模式根据文件名匹配模式搜索。支持通配符 * 和 ?。
-iname 模式根据文件名匹配模式搜索,忽略大小写。
-type 类型根据文件类型搜索。例如 f 表示文件,d 表示目录,l 表示符号链接。
-size +n搜索大小大于 n 个块的文件。
-size -n搜索大小小于 n 个块的文件。
-size n搜索大小等于 n 个块的文件。
-mtime +n搜索修改时间距离现在超过 n 天的文件。
-mtime -n搜索修改时间距离现在少于 n 天的文件。
-mtime n搜索修改时间距离现在正好 n 天的文件。
-atime根据访问时间进行搜索。用法与 -mtime 相同。
-ctime根据文件创建时间进行搜索。用法与 -mtime 相同。
-user 用户名搜索属于特定用户的文件。
-group 组名搜索属于特定组的文件。
-perm 模式根据权限模式搜索文件。例如 -perm 644 搜索权限为 -rw-r--r-- 的文件。
-exec 命令 {} \;对找到的文件执行指定的命令。
-ok 命令 {} \;对找到的文件执行指定的命令,并在执行前提示用户确认。
-print打印找到的文件的路径。
-print0打印找到的文件的路径,并使用空字符作为分隔符。
-depth先搜索子目录再搜索当前目录。
-maxdepth n设置最大搜索深度。
-mindepth n设置最小搜索深度。
!取反运算符,用于排除某些文件或目录。
-o或运算符,用于组合多个搜索条件。
-a与运算符,用于组合多个搜索条件。
()括号用于分组搜索条件。

示例:

  1. 查找当前目录下所有以 .txt 结尾的文件:

    find . -name "*.txt"  
    
    
  2. 查找 /home 目录下所有大于 10M 的文件:

    find /home -size +10M  
    
    
  3. 查找 /tmp 目录下修改时间距离现在超过 7 天的文件:

    find /tmp -mtime +7  
    
    
  4. 查找当前目录下所有权限为 755 的文件:

    find . -perm 755  
    
    
  5. 查找 /var/log 目录下所有以 .log 结尾的文件,并删除它们:

    find /var/log -name "*.log" -delete  
    
    
  6. 查找当前目录下所有目录,并打印它们的路径:

    find . -type d -print  
    
    
  7. 查找当前目录下所有以 .txt 结尾的文件,并把它们复制到 /backup 目录:

    find . -name "*.txt" -exec cp {} /backup \;  
    
    
  8. 查找当前目录下所有以 .txt 结尾的文件,并提示用户是否删除它们:

    find . -name "*.txt" -ok rm {} \;
    

04

ls 显示文件

ls 命令用于列出目录的内容。它可以显示文件和目录的名称、大小、修改时间、权限等信息。

基本语法:

ls [选项] [文件或目录...]  

选项描述类别
-a显示所有文件,包括隐藏文件(以 . 开头的文件)。列出文件信息
-l以长格式列出文件信息,包括文件权限、文件大小、文件所有者、修改时间等。列出文件信息
-h以易于阅读的格式显示文件大小,例如 1K、2M、3G 等。列出文件信息
-t按修改时间排序。列出文件信息
-r反转排序顺序。列出文件信息
-S按文件大小排序。列出文件信息
-i显示文件 inode 号。列出文件信息
-d显示目录本身的信息,而不是目录内的文件信息。列出文件信息
-R递归列出所有子目录。列出文件信息
-F在文件名后添加标记,表示文件类型。例如 / 表示目录,* 表示可执行文件,@ 表示符号链接等。文件显示格式
-b将不可打印字符显示为反斜杠转义字符。文件显示格式
-c使用数字字符编码显示文件。文件显示格式
-G显示颜色,用于区分不同类型的文件。文件显示格式
-1单行显示文件名,每个文件名占一行。其他
-C多列显示文件名,根据终端宽度自动调整列数。其他
-m用逗号分隔显示文件名。其他
-n使用数字用户 ID 和组 ID 显示文件信息。其他
-p在目录名后添加 /。其他
-q将不可打印字符显示为 ?。其他
-s显示文件大小(以块为单位)。其他

示例:

  1. 列出当前目录下所有文件:

    ls  
    
    
  2. 以长格式列出当前目录下所有文件:

    ls -l  
    
    
  3. 列出当前目录下所有文件,包括隐藏文件:

    ls -a  
    
    
  4. 列出当前目录下所有文件,按修改时间排序:

    ls -lt  
    
    
  5. 递归列出 /home/user 目录下所有文件:

    ls -R /home/user  
    
    
  6. 列出当前目录下所有文件,并用颜色区分文件类型:

    ls -G
    

05

wc 命令

wc 命令用于统计文件中的行数、字数和字节数。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

基本语法:

wc [选项] [文件...]  

主要选项:

  • -l或--lines: 统计行数。

  • -w或--words: 统计字数。

  • -c或--bytes或--chars: 统计字节数。

  • -m: 统计字符数。

  • -L: 统计最长行的长度。

  • -W: 统计单词数。

示例:

  1. 统计文件 test.txt 的行数、字数和字节数:

    wc test.txt  
    
    
  2. 只统计文件 test.txt 的行数:

    wc -l test.txt  
    
    
  3. 统计多个文件 test.txt 和 data.log 的行数:

    wc -l test.txt data.log  
    
    
  4. 统计文件 test.txt 的最长行的长度:

    wc -L test.txt  
    
    

注意事项:

  • wc 命令默认统计所有三个值(行数、字数和字节数)。

  • wc 命令可以使用多个选项组合,以实现不同的统计功能。

  • wc 命令的输出结果可能会根据文件内容和系统环境有所不同。

其他:

  • wc 命令可以用于统计标准输入的内容,例如:

    cat test.txt | wc -l  
    
    
  • wc 命令可以与其他命令结合使用,例如:

    # 统计文件 `test.txt` 中包含 "error" 字符串的行数。  
    grep "error" test.txt | wc -l
    

06

总结

本文介绍了 grep、find、ls 和 wc 四个常用的 Linux 命令,它们在文件搜索、查找、列出和统计等方面发挥着重要的作用。希望这篇文章能够帮助你更好地理解和运用这些命令,提升 Linux 文件管理的效率。

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

Linux入门到精通精华:高频命令与运维实战核心解析 操作系统是计算机资源的管理者,Linux凭借稳定、开放、高效成为服务器领域的基石。其原理围绕文件系统、权限模型、进程与网络管理展开,理解这些核心机制,是进行系统运维与故障排查的前提。在工程实践中,掌握高频命令(如grep、sed、awk、find)与Shell脚本自动化能力,能大幅提升服务部署、日志分析和磁盘管理的效率。无论是云端服务器、嵌入式开发还是国产化替代场景,Linux技能都是技术人员的底色。基于此,一份《Linux从入门到精通精华版详解》的PDF资料,恰恰以场景倒逼知识,为学习者提炼了从命令基础到 阅读详情

相关推荐

PyTorch+C3D实战:用UCF101数据集训练你的第一个视频动作识别模型(附完整代码)

本文详细介绍了如何使用PyTorch和C3D模型在UCF101数据集上构建视频动作识别系统。从环境配置、数据预处理到模型训练与优化,提供了完整的代码实战指南,帮助开发者快速掌握视频行为识别技术。文章特别强调了3D卷积核设计、混合精度训练等关键技术要点,并分享了模型部署优化经验。

weixin_29233857的博客 218

Linux核心命令精要:从入门到精通的20%关键命令

Linux操作系统作为服务器领域的基石,其命令行工具是系统管理的核心技能。理解Linux命令的工作原理,需要从文件系统、进程管理和权限体系等基础概念入手。通过掌握find、grep、awk等文本处理工具的组合使用,可以高效完成日志分析、数据提取等运维常见任务。在系统监控方面,top、vmstat等命令配合管道操作,能快速定位性能瓶颈。对于开发者而言,熟练使用apt/yum等包管理命令和ssh远程连接工具,是保障开发环境稳定的关键。本文基于15年运维经验,提炼出覆盖文件操作、权限管理、进程控制等场景的Linu

weixin_34389926的博客 362

【MNE脑电信号处理学习笔记1】数据的读取、可视化、剪裁、滤波和保存

MNE之读取原始数据、可视化数据、剪裁数据、滤波和保存 Reading & visualizaing raw data, cropping, filtering, and saving 原视频教程:Pybrain: M/EEG analysis with MNE Python 原笔记和材料:pybrain_mne 本文根据视频和个人理解对原笔记进行细微修改。 Import the few packages we’ll need import matplotlib import pathlib i

小白家 4216

linux中ls、cat、vim、more、head、tail、grep同是查看命令,他们之间到底有什么区别?

下面我们先各自介绍一下每个命令的用法,一次集中了解。这里我们只做区分,让大家更好的理解他们之间不同,不做详细参数描述,以免让简单的问题变得复杂。

u014314592的博客 4790

Chronos:学习时间序列的大语言模型(论文解读)

《Chronos:学习时间序列的大语言模型》论文翻译

qq_20144897的博客 9055

fpga学习——zynq图像处理中的DVP流接口封装

之前文章介绍了基于zynq的图像处理架构问题。其中,作为开发者,需要重点关注图像传感器接口、处理算法、显示接口,这些模块。现在我们一同学习用于视频数据接口的DVP模块,并将其封装成AXI-stream接口便于直接和VDMA IP通信。 DVP_AXI stream IP v1.0使用说明 1.设计概述 •用于cmos传感器视频数据采集,将cmos输出的8位视频数据拼接成RGB 565模式 •AXI_stream主机接口,用于和PS端内存的数据交互 •基于vivado 18.3软件设计 2.模块分析

weixin_41895751的博客 4582

find与ls命令合体坑总结

作为一个高级系统工程师,当然要熟悉linux下各种命令的快速拼写。O(∩_∩)O哈哈~ 然而,find与ls命令的快捷方式我们又知道多少了? 我们可能会用find / -name xxx -type f,可能会用ls -lrt,我们知道ls中-k代表按kg显示,-s代表按块显示,-h文件大小更和谐的方式显示。但很少有时间去发现有那么内置能提高工作效率提高自己段位的参数。我们就举几个好用的例子来

DataCareer的博客 9002

LS-DYNA壳单元冲击仿真中的5个关键设置:以方管碰撞为例(含沙漏控制参数)

本文以方管碰撞为例,深入解析了LS-DYNA壳单元冲击仿真中的五个关键设置。重点探讨了沙漏控制参数(如IHQ=4)的选择逻辑、自接触算法优化、能量监控方法、材料模型(MAT_24)的真实应力-应变曲线与应变率效应设置,以及单元公式的选取。这些核心设置共同决定了仿真的精度与效率,是确保方管冲击仿真结果可靠性的基石。

salt的博客 625

【Linux】 ls -l 和 grep

在使用 ls -l 命令时,第一列的字符表示文件或目录的类型和权限。语法:用于显示指定工作目录下之内容。

zsyyugong的博客 1661

二手分析仪器改造实战:如何用PMT搭建荧光检测电路(附完整电路图)

本文详细介绍了如何利用二手分析仪器中的光电倍增管(PMT)核心部件,进行荧光检测电路的实战改造。内容涵盖从PMT工作原理理解、高压供电电路设计、低噪声前置放大(跨阻放大器)到信号调理的完整流程,并提供了关键电路图与调试排错指南,旨在帮助电子爱好者与工程师低成本构建稳定、高灵敏度的专业检测系统。

weixin_29234239的博客 441

【YOLOv8全方位学习手册】第四章 数据增强:从扩充数据到塑造模型的认知边界

"""使用 Albumentations 做自定义增强,兼容 YOLO 格式"""])# 转成 numpy# boxes 必须是 [[x_min,y_min,x_max,y_max], ...]# 在数据加载时调用你可以把集成到 PyTorch 的 Dataset 类里,或使用 Ultralytics 自带的DataLoader。

VectorShift的博客 211

find和ls并用,查找文件并显示大小

https://blog.youkuaiyun.com/qiuchangyong/article/details/22986041 find./ -name "*.so" -exec ls -l {} \; 以上命令实现在当前目录以及所有子目录下找出后缀名为so的文件,并显示其详细信息。

DuanLiuchang的博客 2434

【芯片设计- RTL 数字逻辑设计入门 番外篇6 -- 术语 Tile 介绍】

在系统级芯片(System on Chip, SoC)设计中,“tile” 是一个可以指代不同概念的术语,但通常它指的是芯片上的一个独立的功能单元或核心。一个 tile 可以包含一个或多个处理器核心、缓存、内存控制器、输入输出设备、外设接口或其他功能模块。在 SoC 上,多个 tile 可以被组合和连接起来,以形成一个完整的系统。

CodingCos的博客 3071

5分钟学会使用Linux的 grep、find、ls、wc 命令

在 Linux 世界中,命令行是不可或缺的一部分,而掌握一些常用的命令可以帮助你更有效率地管理文件和系统。本文将为你介绍四個基礎而强大的 Linux 命令:grep、find、ls 和 wc,带你开启高效文件操作的旅程!

Lion_Long的博客 1761

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Linux之 grep、find、ls、wc 命令

linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。

Linux运维老纪的博客 1376

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

从0到1快速学会Linux操作系统(基础),这一篇就够了!

Linux基础入门:从0到1快速掌握常用操作,这一篇就够了!

「YYL DBA手记」 数据库 · 架构 · 运维 · 实战 yyldba.blog.youkuaiyun.com 5万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Linux命令用法

黑马程序员新版Linux零基础快速入门到精通过程中,参照官方PPT记录的一些命令的作用,语法等内容,进行了一些整理。

Limiiiing的博客 1542

Linux基础命令26年最新整理 - 文件及目录操作, 打印输出, 查找命令, 用户及权限管理, vi的使用等

Linux基础命令 - 文件及目录操作, 打印输出, 查找命令, 用户及权限管理, vi的使用等。 表示drwx权限信息;2, 表示此文件/目录的所有者;3, 表示此文件/目录的所属组;drwx权限介绍ls -l中的drwx权限信息, 一共0~9十位0位, 文件类型, 一般表示文件或目录d, 表示文件目录-, 表示文件l, 表示软链接1~3位, 表示所有者的权限4~6位, 表示同用户组内拥有的权限7~9位, 表示其他用户拥有的权限rwx权限详解rwx对应文件的权限r - 代表可读, 可以读取查看w

Y_xianlin的博客 12万+

测试工作常用linux命令

这篇文章汇总了Linux系统中几个常用命令的操作方法,适合用于日志查看和系统监控: less命令:用于分页查看文件,支持搜索(/)、跳转(g/G)、实时监控(F)等功能。 head/tail命令: head查看文件开头部分,默认显示前10行,常用-n指定行数 tail查看文件末尾部分,支持实时监控(-f)和日志轮转跟踪(-F) wc命令:统计文件行数(-l)、单词数(-w)、字节数(-c)等,常用于代码行数统计。 grep命令:文本搜索工具,支持: 多条件搜索(-E) 显示上下文(-A/-B/-C) 统计匹

2301_80165178的博客 287

Linux--基础命令

(1)pwd:显示当前位置的绝对路径;

学无止境 1595

Linux 常用命令学习

1、ls命令 2、cd 命令 3、pwd 命令 4、mkdir 命令 5、rm 命令 6、rmdir 命令 7、mv 命令 8、cp 命令 9、cat 命令 10、more 命令 11、less 命令 12、head 命令 13、tail 命令 14、which 命令 15、whereis 命令 16、locate 命令 17、find 命令 18、chmod 命令 19、tar 命令 20、chown 命令 21、df 命令 22、du 命令 23、ln 命令 24、date 命令 25、cal 命令 2

zhuguanlin121的博客 690

Linux 命令从入门实操:cat/less/head/tail,搞懂管道、find/grep、zip 压缩

本文系统梳理了Linux常用命令:文件查看(cat/tac/nano/more/less/head/tail)、数据流转(管道|)、时间日历(date/cal)、搜索工具(find/whereis/grep)、系统监控(top)及压缩解压(zip/unzip、tar)。重点介绍CTRL+R快速调用历史命令,提升操作效率。内容涵盖命令语法、实用选项与场景应用,适合初学者快速掌握核心技能。

西瓜大侠的博客 200

Linux命令行高效操作指南:从基础到实战

Linux命令行是操作系统与用户交互的核心接口,通过直接调用系统内核功能实现高效操作。其设计哲学遵循Unix工具链理念,每个命令如同精密工具,通过管道组合可实现复杂功能。在运维开发领域,掌握ls/find文件操作、grep/awk/sed文本处理、top/ps系统监控等核心命令,能显著提升服务器管理效率。特别是find命令支持按名称、大小、时间等多维度检索文件,配合-exec参数可直接对结果集进行操作;而awk作为模式扫描语言,能快速完成日志分析等结构化数据处理。这些技术广泛应用于自动化部署、日志分析、性能

weixin_34075268的博客 383

C++ (week4):Linux基础:命令行

Linux简介、vim、Linux命令行、编译工具链

Edward2022的博客 1722

【Linux入门】之命令大全 2w字详解

上个月学完 Linux 的基础知识,就整理了这篇《基础篇》的笔记,供大家一起学习。之后还会写 Linux的权限篇,日志管理,内核源码讲解等等…点个关注敬请期待!!!如果本篇博客对你有一丝帮助的话,就给我点个小小的赞吧。๑乛v乛๑我们所熟知的计算机是由:硬件和软件所组成。硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。而操作系统,就是软件的一类。

ashiho的博客 1404

Linux核心指令

Linux系统可以配置多个用户/多个用户组,Linux系统中关于权限管控有两个级别分别是用户级和用户组级。如上图第一行表示这是个文件夹,aer这个用户和用户组对其具有读、写、执行权限,而其他用户只有读和执行权限。同样是查看文件内容,与cat命令不同的是cat命令直接将内容全部展现出来,more命令支持翻页。用于控制软件的启动、停止、开机自启命令,被systemctl管理的软件一般称之为服务。在系统中创建软链接可以将文件、文件夹链接到其他位置,类似Windows的。查看文件尾部内容,跟踪文件最新修改。

SoulruiA的博客 1288
上一篇: 2024版最新AI大模型知识点大梳理,零基础入门到精通,收藏这篇就够了
下一篇: Java开发,必知的七个性能优化方向!零基础入门到精通,收藏这篇就够了
网络安全大白
博客等级 码龄5年 7305粉丝 698原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值