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%以上 …...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
