Linux find,grep 命令
使用实验楼Linux环境开发,部分内容有所参考,link:https://www.shiyanlou.com/
概述:
find: 在目录中搜索文件,它的使用权限是所有用户
命令格式: find [路径] [参数] [文件名]
grep: 在指定文件中搜索特定的内容,并将含有这些内容的行标准输出
命令格式:grep [参数] [文件名]
find 在平时使用中,一般要灵活搭配 ”|“,即管道,看如下命令:
这个命令是统计 /home/shiyanlou 下的普通文件个数。
其中用到了 find 命令的 -type 参数,即查找某一类型的文件,f 指的是普通文件。
grep 在平时使用中,要注意理解正则表达式。关于正则表达式,可以看看这篇文章: https://blog.csdn.net/gexiaobaohelloworld/article/details/9147365
1. find 命令:
|
文件类型 |
描述 |
|
b |
块设备文件 |
|
c |
字符设备文件 |
|
d |
目录 |
|
f |
普通文件 |
|
l |
符号链接 |
根据文件权限查找文件,使用-perm 选项。所有者使用-user 选项
ex:
查找 /home 下权限为 777 的普通文件。
查找 /home 下所有者为 root 的普通文件
|
操作符 |
描述 |
|
-and |
测试两边的条件都为真,可以简写为-a |
|
-not |
后面的测试条件为假,可以简写为 ! |
|
-or |
测试条件为两边之一,可以简写为-o |
|
() |
多个测试条件下,控制优先级 |
查找 /home 下 所有者不是 root 并且权限为 777 的普通文件。其中 \ 是转义字符
查找当前目录下文件名为 "*.txt"的文件,并显示其详细信息。
-exec 是 find 命令对找到的文件执行的动作,这个动作就是对找到的文件执行命令,上面的命令就是 ls -l {}。在这里说明一下{}和\;,{}其实它就是一个占位符,在 find 命令的执行过程中会不断地替换成当前找到的文件,相当于”ls -l 找到的文件”。而\;是-exec 的命令结束标记,因为规定-exec 后面的命令必须以;结束,但;在 shell 中有特殊含义,必须要转义,所以写成\;。
默认下,-exec 后面只能使用单个命令,如果想要多个命令,可以将多个命令写入脚本文件中,然后在-exec 中使用这个脚本。
ex:现在主目录下有如下文件,要把所有以 .sh 结尾的拷贝到 dir2 中
编写如下命令:
2. grep命令:
ex:将/etc/passwd 文件中没有出现 root 和 nologin 的行取出来:
ex:统计 /home 中普通文件的个数、目录的个数、链接文件的个数。
部分正则表达式在 grep 中的应用请看:https://www.cnblogs.com/xiaouisme/archive/2012/11/09/2762543.html
3.综合示例:
编写一个脚本名称为backup.sh,将第二个位置参数及其以后各参数所指定目录中的以.c和.sh结尾的,且文件大小不为0的文件复制到第一个位置参数所指定的目录中。
test 命令用法: http://man.linuxde.net/test
Linux find,grep 命令的更多相关文章
- 12个 Linux 中 grep 命令的超级用法实例
12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...
- linux中grep命令的使用
转载:http://blog.csdn.net/universsky/article/details/8866402 linux中grep命令的使用 grep (global search regul ...
- 由一条Linux的grep命令说起
今天在开发的时候,看到同事使用了这样的一条linux命令 grep 'class YourClass' -rwi * |grep -v svn 想到了 grep命令的,几个参数. -r 明确要求搜索子 ...
- Linux之grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- linux的grep命令
参考文档如下: linux grep命令 grep abb15455baeb4b23ab47540272ec47eb epps-sas.log | grep operateSettleBill exp ...
- Linux的grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
- Linux中grep命令学习
1.简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep.egrep和fgrep的命令只跟grep有很小 ...
- linux中grep命令的用法
作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的. 首先谈一下grep命令的常用格式为:[grep [选项] "模式" [ ...
- Linux之grep命令
概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...
- 【转】【Linux】grep命令详解
简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...
随机推荐
- idea for mac 快捷键整理
⌘O 查找类文件 ⌘⌥O 前往指定的变量 / 方法 ⌘⇧O 查找所有类型文件.打开文件.打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/ ⌘⌥← / ⌘⌥→ 退回 / 前进到上一个操作的地方 ...
- 后端参数校验器v1.0(调用一个方法校验所有参数并得到校验结果,且包括错误原因)
一:介绍 在写后端时,面对多个参数,比如手机号码.密码等我们常常需要写验证逻辑,当需要验证的参数较多的时候我们会需要写很多的判断语句,这就造成了大量的代码冗余.因此我开发了一套参数验证器,只需要调用参 ...
- tree 树形加载及增删改
//异步1<template> <div class="addequipment org"> <div class="top"&g ...
- docker 推送镜像到阿里云
1. 登录阿里云Docker Registry $ sudo docker login --username=www.18860363800@hotmail.com registry.cn-beiji ...
- 目录-java并发基础知识
====================== 1.volatile原理 2.ThreadLocal的实现原理(源码级) 3.线程池模型以及核心参数 4.HashMap的实现以及jdk8的改进(源码级) ...
- 使用DateTimeFormatter替换线程不安全的SimpleDateFormat
原文:https://blog.csdn.net/baofeidyz/article/details/81307478 如何让SimpleDateFormat保持安全运行? 方案一 每次都去new这种 ...
- ant不是内部命令
解压路径为举例路径: 解压在E盘 新建变量ANT_HOME 路径为解压目录如E:/apache-ant-1.7.1 Path中添加路径为%ANT_HOME%/bin; 错误提示: 'ant' 不 ...
- Python3 acm基础输入输出
案例一:输入字符串分割并转化成多个int数值 a, b= map(int, input().split()) try: while True: a, b= map(int, input().split ...
- 【记忆化搜索】[NOIP-2017--普及组] -- 棋盘
[题目描述] 原题目链接地址: 有一个m × m的棋盘,棋盘上每一个格子可能是红色.黄色或没有任何颜色的.你现在要从棋盘的最左上角走到棋盘的最右下角. 任何一个时刻,你所站在的位置必须是有颜色的( ...
- Hibernate初探之单表映射——创建Hibernate的配置文件
编写第一个Hibernate例子 第一步:创建Hibernate的配置文件 使用安装的Hibernate tools插件帮我们自动生成 如果在编辑的时候eclipse没有出现代码自动提示功能的话,我们 ...