十、find命令;文件名后缀

一、find命令

格式:find [路径] [参数]。

常用参数:

-atime +n/-n:表示访问或执行时间大于或小于n天的文件。

-ctime +n/-n:表示写入、更改iNode属性(如更改所有者、权限或者链接)的时间大于或小于n天的文件。

-mtime +n/-n:表示写入时间大于或小于n天的文件,该参数用得很多。

示例命令:

# find /tmp4_6/ -mtime -1

上例中,-mtime -1表示,mtime在1天之内的文件,单位是天。而-mtime +10表示mtime在10天以上的文件。还有用法:-mmin -10,表示mtime在10分钟内的文件。有时候也可以不加+或-,比如-mtime 10,这表示正好为10天,此用法比较少。

atime(access time):是在读取文件或者执行文件时更改的。

ctime(change time):是在写入文件、更改所有者、权限或链接设置时随iNode内容的更改而更改的。

mtime(modified time):是在写入文件时随文件内容的更改而更改的。

iNode(索引节点):用来存放档案及目录的基本信息,包含时间信息、文档名、所有者以及所属组等。是Unix中的一种数据结构,本质是结构体,在文件系统创建时生成,且个数有限。Linux下,可用df -i来查看各分区的iNode总数及使用情况。

因此,更改文件的内容即会更改mtime和ctime,但是文件的ctime可能会在mtime未发生任何变化时更改。例如,更改了文件的权限,但是文件内容无变化。

stat命令:查看文件的具体信息。

如何获得文件atime、ctime和mtime?使用stat命令可列出这三个信息。示例:

# stat 123

文件:"123"

大小:28         块:0          IO 块:4096   目录

设备:803h/2051d Inode:8389038     硬链接:3

权限:(2755/drwxr-sr-x)  Uid:(    0/    root)   Gid:( 1000/   user1)

环境:unconfined_u:object_r:admin_home_t:s0

最近访问:2018-01-31 20:28:22.516934992 +0800     (atime)

最近更改:2018-01-31 20:28:12.092935176 +0800     (mtime)

最近改动:2018-01-31 20:28:12.092935176 +0800     (ctime)

创建时间:-

atime不一定在访问文件之后被修改,因为在使用ext3文件系统时,如果mount使用noatime参数,那么就不会更新atime的信息。总之,这三个time属性值都放在了iNode中。若mtime、atime被修改,那么iNode就一定会改,既然iNode改了,那ctime也跟着会改动。

-name filename:表示直接查找该文件名的文件,该选项比价常用,示例命令:

# find . -name test2     //.表示当前目录,当前目录在/tmp4_6下面

# find . -name "test*"   //支持用*通配

-type filetype:表示通过文件类型查找文件。filetype包含了f、b、c、d、l、s等类型,示例命令:

# find . -type d

find -type [fbcdls]各类型都代表什么意思?

d(directory):目录

f:普通文件、二进制文件、文本文档

l:软链接文件

s:socket文件

c:字符串设备

b:块设备

找文件的硬链接,先查看文件的iNode号,再命令:

# find / -inum inode号

在find的同时把文件列出来,示例命令格式:

# find /root/ -type f -mmin 120 -exec ls -l {} \;

{}表示find出来的文件列表,把文件列表里的文件都ls -l出来。

# find /root/ -type f -mmin 150 -exec mv {} {} .bak \;

将150分钟以内的文件都改名加一个.bak。

# find /root/ -type f -size -10k -exec ls -lh {} \;

将小于10k的文件都列出来,也可改为大于10k,单位也可改为M,必须带单位。

-o:或者。

whereis命令:通过预先生成的一个文件列表库查找与给出的文件名相关的文件,格式:whereis [-bms] [文件名称],各选项含义如下:

-b:只查找二进制文件。

-m:只查找帮助文件(在man目录下的文件)

-s:只查找源代码文件。

locate命令:类似于whereis,也是通过查找预先生成的文件列表库来告诉用户要查找的文件在哪里,后面直接跟文件名。若没有这个命令,需安装mlocate软件包。

# yum install -y mlocate

初次运行这个命令会报错,因为系统还没有生成那个文件列表库。可使用updatedb命令立即生成(或更新)这个库。若你的服务器上正在执行重要的业务,那最好不要运行这个命令,因为一旦运行,服务器的压力会增大。默认情况下,该数据库每周更新一次。若使用locate命令搜索一个文件,而该文件正好是在两次更新时间段内创建的,那肯定得不到结果。我们可以到文件/etc/updated.conf中配置这个数据库生成(或更新)的规则。

locate所搜索到的文件列表,不管是目录名还是文件名,只要包含我们要搜索的关键词,都会列出来,所以locate不适合精准搜索。因此不常用。

二、文件名后缀

Linux系统中,文件的后缀名没有具体意义,加或不加都无所谓。为了区分,习惯在定义文件名时加一个后缀名。

1.sh:shell脚本

2.tar.gz:压缩包

my.cnf:配置文件

test.zip:压缩文件

早期Unix系统文件名最多允许14个字符,新的Unix和Linux系统,文件名最长可达255个字符。

原文地址:http://blog.51cto.com/13576245/2067941

时间: 2024-10-10 14:57:59

十、find命令;文件名后缀的相关文章

find命令/文件名后缀

2.23/2.24/2.25 find命令 2.26 文件名后缀 find 搜索文件的命令: which   它是从环境变量中找: [[email protected]_1 ~]# which ls alias ls='ls --color=auto' /usr/bin/ls 环境变量: [[email protected]_1 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin whe

2.23/2.24/2.25 find命令 2.26 文件名后缀

2.23/2.24/2.25 find命令 2.26 文件名后缀 2.23/2.24/2.25 find命令 2.23 find命令   上 常用的几个 搜索文件which  whereis 安装 locate 模糊的搜索 不精准的搜索 ctrl a 光标移到命令最前面 ctrl e 光标移到命令最后面 ctrl u 删除光标前面的字符 find 搜索 find 路径  具体的条件 find 搜索文件类型  -type -d目录.-f文件.(-).-l链接 .-s socket文件.-c字符串

2.23——2.25find命令(上中下);2.26 文件名后缀

2.23 find命令(上) 快捷键: Ctrl + l  :清屏 Ctrl + d :退出终端(相当于执行了:exit 或logout) Ctrl + c : 强制中断 Ctrl + u : 在命令输入行,删除光标前的字符串 Ctrl + e :  光标移到末尾 Ctrl + a :  光标移到开始 which :搜索命令文件(从echo $PATH环境变量下的目录查找) find :搜索文件 1. find 精准搜索:find 搜索路径 -name "精准关键词" [[email 

find命令,文件名后缀,Linux和window互传文件

        find命令 find命令用于搜索  其他搜索命令 :ls \whereis locate (yum install -y mlocate 安装后收到手动生成相应数据库 updatedb) 格式:find[路径][类型]  find [路径] -name filename  搜索文件      通过文件类型查找文件 find [路径] -type [类型:f\b\c\d\l\s] -name filename 格式:find[路径][类型] 类型 -type -name -mti

第二周第五节、find命令及文件名后缀

find命令 find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行显示.语法:find(选项)(参数)选项:-name<范本样式>:指定字符串作为寻找文件或目录的范本样式:-iname<范本样式>:此参数的效果和指定"-name"参数类似,但忽略字符大小写的差别:-type<文件类型>:只寻找符合指定的

find命令 文件后缀名

一.find命令1.find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行显示.扩展:which ls 命令wherels ls命令locate命令:yum install -y mlocate ,安装完locate后,执行updatedb命令,再执行locate ls,就可以使用locate命令查看ls清屏快捷键:Ctrl+L.clear退出快捷键

26期20180608find命令 文件后缀

6月8日任务2.23/2.24/2.25 find命令2.26 文件名后缀 find命令 Find 是用来搜索文件 which 接上命令是用来查找这个命令在环境变量中的位置 whereis 也可以找, 但是需要update 数据库才可以 updatedb locate命令是需要安装的,安装命令 yum install -y mlocate 记得要updatedb 介绍几个常用的快捷键 ctrl c 终止当前 ctrl a 光标回到当前的最前位置  相对应的 ctrl e 回到最后位置 ctrl

Python批量修改文件名-后缀

LyncLynn用途: 批量修改文件格式,文件名后缀. #Version: V1.0 #Author:lynclynn #Description:Change the filename #CreateDate:20151130 #UpdateDate: # -*- coding: UTF-8 -*- import os #列出当前目录(E:\Python\Code)下所有的文件 files =os.listdir("E:\Python\Code") #分离文件名字和后缀 for fil

JavaScript根据文件名后缀判断是否图片文件

//JavaScript根据文件名后缀判断是否图片文件 //图片文件的后缀名 var imgExt = new Array(".png",".jpg",".jpeg",".bmp",".gif"); //获取文件名后缀名 String.prototype.extension = function(){ var ext = null; var name = this.toLowerCase(); var i