Linux常用命令:find、grep、vim、cat、less、more
目录
我的常用搜索命令
find 命令
grep 命令
vim 常用命令:
1.光标移动命令
2插入命令
3.删除命令
4.复制和粘贴命令
5.撤销和重做命令
6.查找和替换命令
7.文件操作命令
8.其他命令
cat命令
less 命令
more 命令
less和more命令的区别
less和vim命令的区别
cat和less命令的区别
我的常用搜索命令
搜索关键字:
find . -type f -name "*.*" |xargs grep "time_get_uptime_secs" >>11111.txt
find的使用实例:
$ find . -name 'my*'
搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。
$ find . -name 'my*' -ls
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。
在某目录下文件中查找某字符串
grep -r youcode dir
例如:查找home下文件中查找hello
grep -r hello /home
例如:在当前所有目录下文件中查找hello,不区分大小写
grep -ir hello .
-r: 如果需要搜索目录中的文件内容,需要进行递归操作,必须指定该参数
-i: 对应要搜索的关键字,忽略字符大小写的差别
-n: 在显示符合样式的那一行之前,标示出该行的列数编号
find 命令
find 命令是 Linux 系统中非常强大的一个命令,可以用于查找符合条件的文件或目录。下面是 find 命令的一些常用选项和用法,并举例说明:
-
查找指定目录下的文件:
`find /path/to/dir -name "file.txt"`将在 /path/to/dir 目录下查找文件名为 "file.txt" 的文件。
-
查找指定目录下的目录:
`find /path/to/dir -type d`将在 /path/to/dir 目录下查找所有的目录。
-
查找指定目录下的文件和目录:
`find /path/to/dir -type f -o -type d`将在 /path/to/dir 目录下查找所有的文件和目录。
-
查找指定目录下的文件并执行命令:
`find /path/to/dir -name "file.txt" -exec ls -l {} \;`将在 /path/to/dir 目录下查找文件名为 "file.txt" 的文件,并执行 ls -l 命令。
-
查找指定目录下的文件并打印文件名:
`find /path/to/dir -name "file.txt" -print`将在 /path/to/dir 目录下查找文件名为 "file.txt" 的文件,并打印文件名。
-
查找指定目录下修改时间在 n 天以内的文件:
`find /path/to/dir -mtime -n`将在 /path/to/dir 目录下查找修改时间在 n 天以内的文件。
-
查找指定目录下大小在 n 字节以内的文件:
`find /path/to/dir -size -n`将在 /path/to/dir 目录下查找大小在 n 字节以内的文件。
-
查找指定目录下属于指定用户的文件:
`find /path/to/dir -user username`将在 /path/to/dir 目录下查找属于用户名为 username 的用户的文件。
-
查找指定目录下属于指定组的文件:
`find /path/to/dir -group groupname`将在 /path/to/dir 目录下查找属于组名为 groupname 的组的文件。
-
查找指定目录下权限为指定权限的文件:
`find /path/to/dir -perm 644`将在 /path/to/dir 目录下查找权限为 644 的文件。
以上是 find 命令的一些常用选项和用法,并举例说明。需要注意的是,find 命令的查找范围包括指定目录下的所有子目录。
grep 命令
grep 命令是 Linux 系统中常用的一个命令,用于在文件中查找符合条件的文本行。下面是 grep 命令的一些常用选项和用法,并举例说明:
-
查找包含指定字符串的行:
`grep "hello" file.txt`将在 file.txt 文件中查找包含字符串 "hello" 的行。
-
查找不包含指定字符串的行:
`grep -v "world" file.txt`将在 file.txt 文件中查找不包含字符串 "world" 的行。
-
查找指定字符串出现的次数:
`grep -c "hello" file.txt`将在 file.txt 文件中查找字符串 "hello" 出现的次数。
-
查找指定字符串所在的行号:
`grep -n "hello" file.txt`将在 file.txt 文件中查找包含字符串 "hello" 的行,并显示行号。
-
查找指定字符串所在的上下文行:
`grep -C 2 "hello" file.txt`将在 file.txt 文件中查找包含字符串 "hello" 的行,并显示上下文 2 行。
-
查找指定字符串所在的上下文行(只显示匹配行):
`grep -A 1 -B 1 "hello" file.txt`将在 file.txt 文件中查找包含字符串 "hello" 的行,并显示上下文 1 行,只显示匹配行。
-
查找指定文件类型中包含指定字符串的文件:
`grep -r "hello" --include "*.txt" /path/to/dir`将在 /path/to/dir 目录下查找扩展名为 .txt 的文件中包含字符串 "hello" 的行。
-
查找指定文件类型中不包含指定字符串的文件:
`grep -r -L "hello" --include "*.txt" /path/to/dir`将在 /path/to/dir 目录下查找扩展名为 .txt 的文件中不包含字符串 "hello" 的行。
-
查找指定字符串所在的单词:
`grep -w "hello" file.txt`将在 file.txt 文件中查找包含字符串 "hello" 的单词。
以上是 grep 命令的一些常用选项和用法。需要注意的是,grep 命令默认区分大小写,如果需要忽略大小写,可以使用 `-i` 选项。
vim 常用命令:
1.光标移动命令
- h:向左移动一个字符
- j:向下移动一行
- k:向上移动一行
- l:向右移动一个字符
- w:向右移动一个单词
- b:向左移动一个单词
- e:向右移动到单词末尾
- 0:移动到行首
- $:移动到行尾
- gg:移动到文件开头
- G:移动到文件结尾
- :n:移动到第 n 行
2插入命令
- i:在光标前插入
- I:在行首插入
- a:在光标后插入
- A:在行尾插入
- o:在当前行下面插入一行
- O:在当前行上面插入一行
3.删除命令
- x:删除光标所在的字符
- dd:删除当前行
- dw:删除一个单词
- d$:删除光标到行尾的内容
- d0:删除光标到行首的内容
4.复制和粘贴命令
- yy:复制当前行
- yw:复制一个单词
- p:粘贴
- P:在光标前粘贴
5.撤销和重做命令
- u:撤销上一步操作
- Ctrl + r:重做上一步操作
6.查找和替换命令
- /pattern:查找 pattern
- n:查找下一个匹配项
- N:查找上一个匹配项
- :s/old/new/g:将当前行中的 old 替换为 new
- :%s/old/new/g:将整个文件中的 old 替换为 new
7.文件操作命令
- :w:保存文件
- :q:退出 Vim
- :q!:强制退出 Vim,不保存修改
- :wq:保存文件并退出 Vim
8.其他命令
- :set number:显示行号
- :set nonumber:隐藏行号
- :set tabstop=4:设置 Tab 键宽度为 4 个空格
- :set expandtab:将 Tab 键转换为空格
- :set noexpandtab:取消将 Tab 键转换为空格
- :set syntax=python:设置语法高亮为 Python
- :set paste:进入粘贴模式,避免自动缩进等问题
- :set nopaste:退出粘贴模式
cat命令
cat 命令是 Linux 系统中常用的一个命令,用于查看文件内容。下面是 cat 命令的一些常用选项和用法:
-
查看文件内容:
`cat filename`,将文件 filename 的内容输出到终端。 -
查看多个文件内容:
`cat file1 file2`,将多个文件的内容输出到终端。 -
查看文件内容并编号:
`cat -n filename`,将文件 filename 的内容输出到终端,并在每一行前加上行号。 -
查看文件内容并显示非打印字符:
`cat -v filename`,将文件 filename 的内容输出到终端,并将非打印字符以可见字符的形式显示出来。 -
将多个文件合并为一个文件:
`cat file1 file2 > newfile`,将文件 file1 和 file2 的内容合并为一个新文件 newfile。 -
将文件内容追加到另一个文件末尾:
`cat file1 >> file2`,将文件 file1 的内容追加到文件 file2 的末尾。 -
从终端输入内容并保存为文件:
`cat > filename`,在终端输入内容,按 Ctrl+D 结束输入,并将输入的内容保存为文件 filename。 -
将文件内容通过管道传递给其他命令:
`cat filename | command`,将文件 filename 的内容通过管道传递给其他命令 command 进行处理。
以上是 cat 命令的一些常用选项和用法,还有其他一些选项和用法可以通过 `man cat` 命令查看。
less 命令
less 命令是 Linux 系统中常用的一个命令,用于查看文件内容。下面是 less 命令的一些常用选项和用法:
-
查看文件内容:
`less filename`,将文件 filename 的内容输出到终端。 -
向下翻页:按空格键或 f 键。
-
向上翻页:按 b 键。
-
向下滚动一行:按 j 键。
-
向上滚动一行:按 k 键。
-
跳转到文件开头:按 g 键。
-
跳转到文件结尾:按 G 键。
-
搜索字符串:按 / 键,输入要搜索的字符串,按回车键。
-
向前搜索:按 n 键。
-
向后搜索:按 N 键。
-
显示行号:按 = 键。
-
显示帮助信息:按 h 键。
-
退出 less:按 q 键。
以上是 less 命令的一些常用选项和用法,还有其他一些选项和用法可以通过 `man less` 命令查看。
more 命令
more 命令是 Linux 系统中常用的一个命令,用于查看文件内容。下面是 more 命令的一些常用选项和用法:
-
查看文件内容:
`more filename`,将文件 filename 的内容输出到终端。 -
向下翻页:按空格键或 Enter 键。
-
向上翻页:按 b 键。
-
向下滚动一行:按 j 键。
-
向上滚动一行:按 k 键。
-
跳转到文件开头:按 g 键。
-
跳转到文件结尾:按 G 键。
-
搜索字符串:按 / 键,输入要搜索的字符串,按回车键。
-
向前搜索:按 n 键。
-
向后搜索:按 N 键。
-
显示行号:按 = 键。
-
显示帮助信息:按 h 键。
-
退出 more:按 q 键。
以上是 more 命令的一些常用选项和用法,还有其他一些选项和用法可以通过 `man more` 命令查看。需要注意的是,more 命令不支持向前翻页,只能向后翻页。
less和more命令的区别
less 和 more 命令都是 Linux 系统中用于查看文件内容的命令,它们的主要区别如下:
-
功能:less 命令比 more 命令更强大,支持向前和向后翻页、搜索、跳转等功能,而 more 命令只支持向后翻页。
-
显示方式:less 命令可以在终端中显示文件内容,并且可以根据需要进行滚动、搜索等操作,而 more 命令只能按页显示文件内容。
-
性能:less 命令比 more 命令更快,因为 less 命令只加载需要显示的部分内容,而 more 命令会一次性加载整个文件内容。
-
兼容性:more 命令是 Unix 系统中的标准命令,几乎所有 Unix 系统都支持,而 less 命令是在 more 命令的基础上发展而来的,不是所有 Unix 系统都支持。
综上所述,less 命令比 more 命令更强大、更灵活、更快,但是在一些老旧的 Unix 系统中可能不支持 less 命令,此时可以使用 more 命令来查看文件内容。
less和vim命令的区别
less 命令和 Vim 编辑器都可以用于查看文件内容,但它们之间有以下区别:
-
功能:Vim 编辑器是一个强大的文本编辑器,除了可以查看文件内容外,还可以进行编辑、保存、复制、粘贴等操作,而 less 命令只能用于查看文件内容。
-
操作方式:Vim 编辑器的操作方式比较复杂,需要掌握一定的命令和快捷键,而 less 命令的操作方式比较简单,只需要使用一些基本的快捷键即可。
-
显示方式:Vim 编辑器可以根据用户的需要进行定制,可以显示行号、语法高亮等信息,而 less 命令只能显示文件内容,不能进行定制。
-
性能:Vim 编辑器的性能比 less 命令更好,因为 Vim 编辑器可以在内存中加载文件内容,而 less 命令需要从磁盘中读取文件内容。
综上所述,less 命令和 Vim 编辑器都有各自的优缺点,可以根据具体的需求选择使用。如果只是简单地查看文件内容,建议使用 less 命令;如果需要进行编辑、保存等操作,建议使用 Vim 编辑器。
cat和less命令的区别
cat 和 less 命令都是 Linux 系统中用于查看文件内容的命令,它们之间有以下区别:
-
功能:cat 命令只能将文件内容输出到终端,而 less 命令可以根据需要进行滚动、搜索等操作。
-
显示方式:cat 命令将文件内容一次性输出到终端,如果文件内容比较大,可能会导致终端卡顿或者无法显示全部内容,而 less 命令可以根据需要进行滚动、搜索等操作,可以更好地显示文件内容。
-
操作方式:cat 命令没有交互式操作,只能将文件内容输出到终端,而 less 命令可以根据用户的需要进行滚动、搜索等操作,具有交互式操作的特点。
-
性能:cat 命令的性能比 less 命令更好,因为 cat 命令只需要将文件内容输出到终端,不需要进行滚动、搜索等操作,而 less 命令需要从磁盘中读取文件内容,并且需要进行滚动、搜索等操作,因此性能比较低。
综上所述,cat 命令和 less 命令各有优缺点,可以根据具体的需求选择使用。如果只是简单地查看文件内容,建议使用 cat 命令;如果需要进行滚动、搜索等操作,建议使用 less 命令。
相关文章:
Linux常用命令:find、grep、vim、cat、less、more
目录 我的常用搜索命令 find 命令 grep 命令 vim 常用命令: 1.光标移动命令 2插入命令 3.删除命令 4.复制和粘贴命令 5.撤销和重做命令 6.查找和替换命令 7.文件操作命令 8.其他命令 cat命令 less 命令 more 命令 less和more命令的区别 less和vim命…...
Oracle导入,注意事项
在执行导入时,如果导入的触发器引用的表不存在,可能会导致错误。触发器通常会在相关的表结构之后导入,但在导入阶段,表的创建并不一定会立即执行。 在 Oracle 数据库中,触发器的创建可能涉及到对表的引用,…...
【数据结构】入队序列出队序列问题(以21年408真题举例)
题型说明 一般是一个队列,其中一边可以入队,另一边可以入队和出队只可入队的含义是从这个方向是以队列形式存在可以入队和出队表示此边以堆形式存在 怎么分析? 以21年408真题举例 考点分析 出队序列存在两种情况:入之后就出&…...
在ant构建脚本中调用maven的命令
有时候想用maven管理依赖,用ant构建。 在ant的build.xml文件中可以使用exec这个task来调用系统命令,也就可以调用maven的命令。 例如,执行maven的命令mvn dependency:copy-dependencies,可以将项目的依赖提取出来,放…...
美格智能5G RedCap模组顺利完成中国联通5G物联网OPENLAB开放实验室认证
近日,美格智能5G RedCap模组SRM813Q顺利通过中国联通5G物联网OPENLAB开放实验室端到端的测试验收,并获得OPENLAB实验室的认证证书。这标志着该模组产品各项性能均已符合RedCap商用标准,为5G RedCap规模商用奠定了坚实基础。 中国联通5G物联网…...
Git基础知识学习常用命令一
常用命令 $ git status 工作区域与仓库保持一致step2: 暂存状态 $ git add --all # 当前项目下的所有更改 $ git add . # 当前目录下的所有更改 $ git add xx/xx.py xx/xx2.py # 添加某几个文件Step3: commit $ git commit -m"<这里写commit的描述>" 已提…...
【2023.11.6】OpenAI发布会——近期chatgpt被攻击,不能使用
OpenAI发布会 写在最前面发布会内容GPT-4 Turbo 具有 128K 上下文函数调用更新改进了指令遵循和 JSON 模式可重现的输出和对数概率更新了 GPT-3.5 Turbo 助手 API、检索和代码解释器API 中的新模式GPT-4 Turbo 带视觉DALLE 3文字转语音 (TTS)收听语音样本…...
云原生 黑马Kubernetes教程(K8S教程)笔记——kubernetes介绍。Master集群控制节点、Node工作负载节点、Pod控制单元
参考文章:kubernetes介绍 文章目录 1. Kubernetes介绍1.1 应用部署方式演变传统部署:互联网早期,会直接将应用程序部署在物理机上虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境ÿ…...
[护网杯 2018]easy_tornado 1(两种解法!)
题目环境:发现有三个txt文本文件 /flag.txt/welcome.txt/hints.txt 依此点开 flag在/fllllllllllllag文件中 在hints.txt文件中发现md5计算 md5(cookie_secretmd5(filename)) 并且三个文件中都存在filehash(文件名被哈希算法加密32位小写) 猜…...
冒泡排序(Bubble Sort)
目录 1.冒泡排序1.1 基本原理1.2 例子1.3 示例代码 2.魔炮排序2.1 基本原理2.1 例子2.2 示例代码 1.冒泡排序 1.1 基本原理 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历待排序的数列,一次比较两个元素,如果他们的…...
JVM源码剖析之软、弱、虚引用的处理细节
目录 写在前面: 源码剖析: Java层面: JVM层面: 使用危险点: 总结: 版本信息: jdk版本:jdk8u40 垃圾回收器:Serial new/old 写在前面: 不同的垃圾回收…...
Linux服务器上搭建JupyterNotebook教程
搭建需知 1.确保是Linux服务器; 2.已经在linux服务器上安装好anaconda3; 搭建教程 请按照顺序依次执行下面的命令: 1、安装Jupyter Notebook 执行以下命令,安装jupyter notebook conda install jupyter【注】 如果anaconda3…...
记录bug1
项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 提示:这里描述项目中遇到的问题࿱…...
【MySQL】rank()、row_number()、dense_rank()用法详解
建表测试 测试表数据:test1 CREATE DATABASE /*!32312 IF NOT EXISTS*/db_test /*!40100 DEFAULT CHARACTER SET utf8 */; USE db_test; /*Table structure for table test1 */ DROP TABLE IF EXISTS test1; CREATE TABLE test1 ( id int(10) NOT NULL, score i…...
NFT合约部署
部署合约: 1.web3 NFT合约部署工具 https://remix.ethereum.org/ 2.tron NFT合约部署工具 https://www.tronide.io/ 3.部署 web3 ERC721代码: // SPDX-License-Identifier: MIT pragma solidity ^0.8.2;import "openzeppelin/contracts/token/ERC7…...
【C++】从入门到精通第三弹——友元函数与静态类成员
这里写目录标题 静态类成员友元友元方法 静态类成员 类成员一般都需要通过对象来访问,不可以通过类名直接访问,但是当我们将类成员定义为静态类成员,则允许使用类名直接访问。 静态类成员是在类成员前定义static关键字。 1 #include<iost…...
acwing算法基础之搜索与图论--floyd算法
目录 1 基础知识2 模板3 工程化 1 基础知识 floyd算法的时间复杂度为O(n^3),它用来解决多源最短路问题。它的原理是基于动态规划。 floyd算法的关键步骤: k从1到n。i从1到n。j从1到n,d[i][j] min(d[i][j], d[i][k] d[k][j])。经过上述三…...
Zabbix监控SSL证书有效期
一、介绍 由于业务需要,最近通过 Let’s Encrypt 申请了一些 SSL 证书,而证书有效期为 3 个月,需要在证书到期之前 renew。由于域名较多经常忘记 renew,导致证书过期,因此想通过 Zabbix 的方式监控证书的到期时间&…...
Arduino OneButton按键处理库实现单击/双击/长按功能
Arduino OneButton按键处理库实现单击/双击长按功能 ✨在Arduino开发平台下,按键的单击/双击/长按功能,在通过使用OneButton库,很容易就可以轻松实现。这就是支持C/C模块化设计的好处,避免重复性开发的工作。 🔖本文将…...
day52 django的下载与安装
课程的大致安排 大概两周的时间都是围绕着Django框架的学习,包括后续要学习的drf、Redis、celery、es等技术栈都是围绕Django展开的,因此、要求所有的同学必须认证学习了 市场中所有使用Python开发的web项目,Django框架占有率达到90%以上 …...
JAVA找出哪个类import了不存在的类辣
一、中间件是啥?咱用“餐厅”打个比方 想象一下,你的FastAPI应用是个高级餐厅。 ?? 顾客(客户端请求)来到门口。- 迎宾(CORS中间件):先看你是不是从允许的街区(域名)来…...
DABShield数字广播扩展板嵌入式驱动开发指南
1. DABShield 数字广播扩展板技术解析与嵌入式驱动开发指南DABShield 是一款面向嵌入式平台的高集成度数字广播接收扩展板,专为 Arduino、STM32、ESP32 等主流微控制器设计,支持 DAB(Digital Audio Broadcasting)、DAB(…...
从81.7万细胞中解码“语法”:人类发育多组学图谱首次揭示调控序列的硬规则与软约束
论文信息标题:Multiomics and deep learning dissect regulatory syntax in human development期刊/会议:Nature发表时间:25 February 2026论文链接:https://doi.org/10.1038/s41586-026-10326-9从81.7万细胞中解码“语法”&#…...
代码之外周刊(第期):当技术让一切趋同,我们还剩什么?杆
1. 前言 本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image,docker 版本为 20.10.7。 2. 构建 yum 离线源 2.1. 挂载 ISO 文件 mount Kylin-Server-V10-GFB-Release-030-ARM64.iso /media 2.2. 添加离线 repo 文件 在/etc/yum.repos.d/下创建kylin-local…...
告别命令行恐惧:用SmartGit可视化搞定Git分支与合并冲突
告别命令行恐惧:用SmartGit可视化搞定Git分支与合并冲突 在团队协作开发中,Git分支管理和合并冲突是每个开发者都无法回避的挑战。传统的命令行操作虽然强大,但对于许多开发者来说,复杂的命令和晦涩的错误信息常常让人望而生畏。…...
AI日志平台建设不是工具选型,而是数据契约重构:一份被头部大厂封存3年的《日志Schema治理黄金12条》首次公开
第一章:AI原生软件研发日志分析平台建设 2026奇点智能技术大会(https://ml-summit.org) AI原生软件研发过程中,日志不再是被动记录的副产品,而是具备语义理解能力、可主动推理与反馈的核心数据资产。传统ELK栈难以应对高噪声、多模态、强上下…...
如何快速识别PDF差异?diff-pdf视觉对比工具终极指南
如何快速识别PDF差异?diff-pdf视觉对比工具终极指南 【免费下载链接】diff-pdf A simple tool for visually comparing two PDF files 项目地址: https://gitcode.com/gh_mirrors/di/diff-pdf 在文档协作和版本控制过程中,PDF文件的差异识别一直是…...
C++ 右值引用与程序优化
一、左值与右值基础概念1. 左值(Lvalue)定义:能取地址、可被修改(除非用const修饰)的表达式,有持久的生命周期。示例:int a 10; // a是左值,&a合法 const int b 20; // b是con…...
Spring Boot 启动过程全解析
Spring Boot 启动过程全解析 Spring Boot作为Java开发中最流行的框架之一,其简洁的配置和快速的启动能力深受开发者喜爱。但你是否好奇过,一个Spring Boot应用究竟是如何从零开始完成启动的?本文将深入解析Spring Boot的启动过程,…...
郭老师-如何判断一个人有没有领导力
如何判断一个人有没有领导力 ——从魅力到思想力的四重修炼“真正的领导力, 不在于个人魅力, 而在于—— 带领团队做出成绩, 赢得信任, 并拥有清晰的战略思想。”🌿 领导力的核心, 是绩效导向, …...
