21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!!

https://www.cnblogs.com/poloyy/category/1672457.html

首先,先造一点数据

mkdir -p ~/test/cool
touch ~/test/cool/test{..}.txt
touch ~/test/cool/{1..3}.sh
chmod 777 *.sh
history > test.txt
ls >> test1.txt
ls >> test1.txt

最基础的打印操作

find ~/test

知识点

  • -print 是默认就有的,不写也可以,而 -print 默认是以 \n 来分隔找到的文件
  • 如果不想换行打印,可以考虑空格分隔,加上 -print0 即可
find ~/test -print0

执行结果

通过文件名搜索

  • -name:仅可以对文件的file_name匹配
  • -path:可以对文件的dir_name、file_name匹配

查找的文件名最好使用引号包围,可以配合通配符进行查找

查找~/test下的.txt文件

find ~/test -name "*.txt"

在~/test下查找cool文件夹下的.txt文件

find ~/test -path "/*cool*/*.txt"

倘若,我们通过-name来执行会是怎么样的呢?是会报错的

因为 -name 是不能使用 / 的,除非文件名包含了 / , 因为 -name 只能匹配 file_name (即文件名),并不匹配 dir_name (即目录名)

所以想要在指定目录(~/test)下搜索某目录中(/cool)的某文件(.txt),应该使用-path而不是-name

通过文件的类型来搜索

在~/test目录下查找所有的目录

find ~/test -type d

在~/test目录下查找所有的文件

find ~/test -type f

还有其他不常用的文件类型

  • b:块设备
  • c:字符设备
  • p:管道
  • l:符号链接

通过文件的时间来搜索

在~/test目录下查找修改时间在5日以内的文件

find ~/test -mtime -

在~/test目录下查找修改时间在3日以前的.txt文件

find ~/test -type f -name "*.txt" -mtime +

在~/test目录下查找更改时间在5分钟以内的.txt文件

find ~/test -type f -name "*.txt" -mmin -

在~/test目录下查找修改时间在10分钟以前的文件

find ~/test -mmin +

注意点

通过文件的大小来搜索

语法格式

-size n[cwbkMG]

那么它有什么类型大小单位呢?(官方直接给了答案)

b:512字节的块(默认)1b = 512c

c:bytes,指定字节大小

w:等价于两个bytes,1w=2c,一般用户匹配中文

k:平时常说的1kb,1k=1024c=2b

M:1MB,1M=1024k=2048b

G:1GB,1GB=1024MB=2048*1024b

在~/test目录下查找所有size=0字节的文件

find ~/test -size 

在~/test目录下查找所有size<100k的文件

find ~/test -size -100k

在~/test目录下查找所有size>1MB的文件

find ~/test -size +1M

通过编程中的“与、或、非”来搜索

  • -a:与,即&&(默认都是与)
  • -o:或:即||
  • -not:非,即条件结果取反

在~/test目录下查找文件大小在1kb和10kb内的所有文件

find ~/test -size +1k -size -10k
find ~/test -size +1k -a -size -10k

在~/test目录下查找大于1kb或类型为普通文件的文件

find ~/test -size +1k -o -type f

在~/test目录下查找非空文件

find ~/test -not -size 

在~/test目录下查找文件或目录

find ~/test -type f -o -type d

搜索空文件

find ~/test -empty -type f

通过文件所属用户搜索

find ~/test -user root

通过文件所属组group搜索

find ~/test -group root

Linux常用命令 - find命令基础使用(重点)的更多相关文章

  1. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

  2. Linux 常用的压缩命令有 gzip 和 zip

    Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz 相应的解压缩命令则是 gunzip 和 unzip ...

  3. linux常用60条命令 转

    Linux必学的60个命令   Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命 ...

  4. linux常用的一些命令(不断增加中)

    linux 下重启 apache: httpd -k restart 下面这些大多命令都可以在<鸟哥私房菜>的服务器中的“常用网络指令”和基础中的“程序与资源管理”中找到ps -aux 这 ...

  5. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  6. 网络编程学习笔记-linux常用的网络命令

    网络参数设置命令 所有时刻如果你想要做好自己的网络参数设置,包括IP参数.路由参数和无线网络等,就得要了解下面这些相关的命令才行.其中Route及ip这两条命令是比较重要的.当然,比较早期的用法,我们 ...

  7. LINUX常用配置及命令

    一.   Fedora系统配置 1.      [设置网卡IP] 步骤如下: 1)     用root用户登陆,打开/etc/sysconfig/network-scripts/ifcfg-eth0文 ...

  8. Java线上问题排查思路及Linux常用问题分析命令学习

    前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...

  9. linux常用20条命令

    1.cd命令 这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如: cd /root/Docements # 切换到 ...

  10. linux常用配置文件和命令总结

    常用配置文件说明: 1..设置-n永远生效:Vim的配置文件:命令模式想永久生效, ~/.vimrc,新建文件,在里面输入保存即可 2.设置别名永远生效:在~/.bashrc  修改当前用户家目录里的 ...

随机推荐

  1. FPGA小白学习之路(4)PLL中的locked信号解析(转)

    ALTPLL中的areset,locked的使用 转自:http://www.360doc.com/content/13/0509/20/9072830_284220258.shtml 今天对PLL中 ...

  2. VueX状态管理器 的应用

    VueX状态管理器 cnpm i vuex axios -S 1 创建Vuex 仓库 import Vue from 'vue' import Vuex from 'vuex' vue.use(Vue ...

  3. Python - 超好用的第三方库pathlib,快速获取项目中各种路径

    前言 之前曾介绍过Python的os库详细使用方式,具体可看看这篇博文:https://www.cnblogs.com/poloyy/p/12341231.html 博主在学完os库之后,就开始投入使 ...

  4. safari坑之 video

    博客地址: https://www.seyana.life/post/19 本来是打算给博客左上角的gif做个优化, 把gif换成webm,以video的形式自动播放,能从180k降到50k, 现在浏 ...

  5. vue+django+webpack搭建

    一.前言 最近接手了一个项目,后端是django,前端是django自带的模板,用的是jinja2,写了一段时间发现用起来特别不顺手,于是想在保持现有的模板基础上,引入vue框架,这样同事可以继续用自 ...

  6. eslint常用三种校验语句

    1.关闭对整段代码的校验 /* eslint-disable */ code /* eslint-enable */ 2.关闭当前行代码的校验 line code // eslint-disable- ...

  7. React hooks详解

    此篇文章仅是对hooks入门的总结,老鸟略过吧~ React从16.8.X以后增加了一个新特性,react hooks 让我们看看这个新特性又带来了哪些惊喜呢~以下内容我们采取不同方式创建组件来进行对 ...

  8. table 上下左右 4根线的写法 :before :after 他们就能把td里面右下的那颗线给盖上 还有body和header横向滚动的联动 || 不能把body套在header上是为了上header表头固定 || 还有表头header的右侧overflow-y 是否出现滚动条的位置 记得有一个$nextTick 要不然会获取不到高度 高度就为0了 || 横向滚动条纵向滚动条

    table 上下左右 4根线的写法 <!--* @description 重点查核人员表!--><template> <div class="keyChecke ...

  9. webStorm -> Version Control _> Repository -> Filter By User 查看svn日志

    webStorm -> Version Control _> Repository -> Filter By User 查看svn日志

  10. JDK中线程池参详细解析

    在jdk中为我们提供了三种创建线程池的方式,但是在阿里的编码规范里面都是明确禁止使用这三种api去创建线程池,推荐我们去自定义线程池.为什么? 要回答为什么,我们需要明白创建线程池时,各参数的作用: ...