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%以上 …...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...

DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...