您的位置:首页 > 运维架构 > Linux

Linux常用命令随记(1)查找命令locate、find

2013-06-26 15:59 246 查看
一、locate命令。

该命令比find的命令查找的速度快,这是因为她先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库。

使用范例如下:

---------------------------------------------------------------------------------------------

root@10.0.0.130:/root#locate libqsqlmysql.so

/opt/qtsdk-2010.04/qt/plugins/sqldrivers/libqsqlmysql.so

/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so

root@10.0.0.130:/root#

---------------------------------------------------------------------------------------------

二、find命令

这个命令比较丰富,在指定的目录下按指定的条件搜索文件

1)命令条件的逻辑运算

默认是 and 条件运算 用 -a 表示

例子如下: 当前目录查找非qrc_打头的文件

find ! -name "qrc_*"

查找qrc_开头或是moc_开头的文件

root@10.0.0.130:/root/WeatherTest#find -name "qrc_*" -o -name "moc_*"

./moc_weather.o

./qrc_Resources.cpp

./moc_weather4.cpp

./qrc_Resources.o

./moc_weather.cpp

./moc_weather4.o

查找非weather开头的目录文件 ,注意中间的与运算的 -a 省略了

oot@10.0.0.130:/root/WeatherTest#find ! -name "weather*" -xtype d

.

./images

以下是各种查询条件的选项说明:

1. 以名称和文件属性查找。

- name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

- lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[ ]。

-gid n 查找属于ID号为n的用户组的所有文件。

-uid n 查找属于ID号为n的用户的所有文件。

-group ’字串’ 查找属于用户组名为所给字串的所有的文件。

-user ’字串’ 查找属于用户名为所给字串的所有的文件。

-empty 查找大小为0的目录或文件。

-path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。

-size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为b,代表512字节的块。

-type x 查找类型为x的文件,x为下列字符之一:

b 块设备文件

c 字符设备文件

d 目录文件

p 命名管道(FIFO)

f 普通文件

l 符号链接文件(symbolic links)

s socket文件

-xtype x 与-type基本相同,但只查找符号链接文件。

2. 以时间为条件查找

- amin n 查找n分钟以前被访问过的所有文件。

- atime n 查找n天以前被访问过的所有文件。

- cmin n 查找n分钟以前文件状态被修改过的所有文件。

- ctime n 查找n天以前文件状态被修改过的所有文件。

- mmin n 查找n分钟以前文件内容被修改过的所有文件。

- mtime n 查找n天以前文件内容被修改过的所有文件

3、操作

查找到指定条件后进行的操作,这里指给出两个选项 -exec 命令 {} \;注意命令后{}后紧跟一个空两格还有一个\和一个分号。对指定条件的文件执行命令操作。

--ok 命令 {} \;注意命令后{}后紧跟一个空两格还有一个\和一个分号。对指定条件的文件执行命令操作。操作前需要确认,输入y或n。

例如:

查找找当前目录的以moc开头的文件,并删除。

root@10.0.0.130:/root/WeatherTest#find . -name "moc*" -exec rm {}

查找当前目录的以o结尾的文件,并删除,删除前有确认。

root@10.0.0.130:/root/WeatherTest#find . -name "*o" -ok rm {} \;

< rm ... ./qwr_v0_2.suo > ? n

< rm ... ./qrc_Resources.o > ? y

< rm ... ./WeatherTest.suo > ? n

< rm ... ./main.o > ? y

< rm ... ./weather.o > ? y

< rm ... ./weather4.o > ? y

< rm ... ./weathertest.pro > ? n
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: