网站首页 > 文章中心 > 其它

linux命令搜索文件名

作者:小编 更新时间:2023-08-25 08:15:47 浏览量:496人看过

linux常用命令

①..列出文件清单命令:ls

ls命令能够列出当前目录下的所有内容.ls 命令的执行方式为:

# ls [-选项] [文件名或者目录名]

进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得.

在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容.如果不加任何选项的话,ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容,可以使用下列命令:

# ls /etc

如果想要列出当前目录下所有文件,则可以使用下列命令:

# ls -a

功能:在标准输出上显示文件.

语法:cat [-vTEuAte] 文件

例子: cat example.txt

功能:在终端屏幕按屏显示文本文件.

语法: more [-pcdls] 文件

例子: more example.c

more -dc example.c

more -c -10 example.c

less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既

可以向前又可以向后翻阅文件.

功能:显示指定文件的前若干行.缺省设置为显示10行

语法:head [-n] 文件

例子: head example.c

功能:显示指定文件的末尾若干行.缺省设置为显示10行

语法:tail [+ / - num ] [参数] 文件

+num 从第num行以后开始显示.- num 从距文件尾num行处开始显示.

例子: tail example.c

功能:

这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名.grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令.

语法:

例子: grep "text file" example

grep data *

grep goto *.c

linux 搜索命令有哪些

文件搜索命令(只能搜索文件)

locate 文件名

在后台数据库中按文件名搜索,搜索速度快?? /var/lib/mlocate(locate文件数据库)? 这个数据库默认一天更新一次,强制更新命令:updatedb

按照/etc/updatedb.conf配置文件里面规则进行搜索

搜索命令的命令:whereis

whereis 命令名?????? 作用:搜索命令所在路径及帮助文档所在位置

-b(只查找可执行文件)?? -m(只查找帮助文件)

which? 文件名? 作用:搜索命令所在路径及别名

PATH环境变量:定义的是系统搜索命令的路径

find [搜索范围] [搜索条件]

find? /root? -nouser(搜索没有所有者的文件)

find? /var/log? -mtime +10 (查找10天前修改的文件)??? atime(文件访问时间)? ctime(改变文件属性的时间)? mtime(修改文件内容的时间)

ls -i 文件名(查看该文件的i节点)

grep [选项] 字符串 文件名

-i (忽略大小写)? -v(排除指定字符串)

Linux中的通配符:

*? :匹配任意内容? ? ? ? :匹配任意一个字符 ? ? ? [] ? 匹配任意一个中括号内的字符

怎么在Linux中查找某个文件?

在 Linux 中查找文件有两种方法.一种是使用 find 命令,另外一种是使用 locate 命令.

①.、Find 命令

使用 Linux find 命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树.基本语法如下:

#?find?path?expression?search-term?

下面是使用 find 命令根据文件名来查找特定文件的一个例子:

#?find?-name?test.file?

命令会搜索整个目录树来查找名为 test.file 的文件,并且会提供其存放位置.你可以使用你 Linux 上一个存在的文件名来尝试一下.

find 命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话.要显著减少时间,你可以指定搜索的目录.比如,如果你知道 /var 中存在 test.file,那就没有必要搜索其它目录.这样,你可以使用下面的命令:

#?find?/var?-name?test.file?

find 还可以根据时间、大小、所属人、权限等选项搜索文件.要了解更多关于这些选项的信息,你可以使用查看** Linux find 命令**的手册.

#?man?find?

要在Linux中使用locate命令,首先需要安装它.

如果你正在使用 Ubuntu,运行下面的命令来安装 locate:

#?apt-get?update?#?apt-get?install?mlocate?

如果你使用的是 CentOS ,运行下面的命令来安装 locate:

#?yum?install?mlocate?

locate 是一种比 find 更快的方式,因为它在数据库中查找文件.要更新搜索数据库,运行下面的命令:

#?updatedb?

使用 locate 查找文件的语法:

#?locate?test.file?

就像 find 命令一样,locate 也有很多选项来过滤输出.要了解更多你可以查看Linux Locate 命令的手册.

#?man?locate?

Linux中使用grep命令搜索文件名及文件内容的方法

从文件中搜索并显示文件名

当你从不止一个的文件中搜索时,默认它将显示文件名:

代码如下:

grep

word

文件名

root

/etc/*

示例输出:

/etc/bash.bashrc:

See

man

sudo_root

for

details.

*

cd

/

run-parts

--report

/etc/cron.hourly

test

-x

/usr/sbin/anacron

||

(

/etc/cron.daily

)

/etc/cron.weekly

/etc/group:root:x:0:

grep:

/etc/gshadow:

Permission

denied

/etc/logrotate.conf:

create

utmp

每行开始的第一个部分是文件名(如:/etc/crontab、/etc/group).使用

-l

选项可以只显示文件名:

string

filename

/etc/aliases

/etc/arpwatch.conf

/etc/at.deny:

/etc/bash.bashrc

/etc/bash_completion

/etc/ca-certificates.conf

/etc/crontab

/etc/group

你也可以逆转输出;使用

-L

选项来输出那些不匹配的文件的文件名:

/etc/apm

/etc/apparmor

/etc/apparmor.d

/etc/apport

/etc/apt

/etc/avahi

/etc/bash_completion.d

/etc/bindresvport.blacklist

/etc/blkid.conf

/etc/bluetooth

/etc/bogofilter.cf

/etc/bonobo-activation

/etc/brlapi.key

/etc/brlapi.key

/etc/brlapi.key

根据文件内容查找文件

输入以下命令:

'string'

*.txt

'main('

*.c

'#include'

'getChar*'

-i

'ultra'

*.conf

-iR

其中

忽略模式(匹配字符串

valid、

VALID、

ValID

)和输入文件(匹配

file.c

FILE.c

FILE.C)的大小写.

-R

递归读取每个目录下的所有文件.

高亮匹配到的模式

在搜索大量文件的时候你可以轻松地高亮模式:

$

--color=auto

'getChar();'

为查找到的模式显示文件名和行号

你也许需要显示文件名和行号:

-iRnH

其中,

-n

在输出的每行前面添加以

开始的行号.

-H

为每个匹配打印文件名.要搜索多个文件时这是默认选项.(LCTT

译注:-h

选项强制隐藏文件名;另外

选项用于仅显示匹配/不匹配的文件名,而

-h用于控制在显示匹配行前显示/不显示文件名,注意区分.)

$grep

-nH

'DIR'

输出样例:

你也可以使用

find

命令:

.

-name

-print

|

xargs

main(

linux find 怎样取得文件名呢?

find ./ -name "*.m" -exec grep -l 'myCenter' {} \;

grep加入-l选项,就能将找到的文件名列出

linux中的find命令——查找文件名

①在某目录下查找名为"elm.cc"的文件

find /home/lijiajia/ -name elm.cc

find /home/lijiajia/ -name '*elm*'

find /home/lijiajia/ -name 'elm*'

find /home/lijiajia/ -name '*elm'

find /home/lijiajia/ -amin -10 #查找在系统中最后10分钟访问的文件

find /home/lijiajia/ -empty #查找在系统中为空的文件或者文件夹

find /home/lijiajia/ -group cat # 查找在系统中属于groupcat 的文件(试了,命令不对.)

find /home/lijiajia/ -nouser #查找在系统中属于作废用户的文件(不明白是什么意思)

find /home/lijiajia/ -amin 10 #查找在系统中最后10分钟访问的文件

find /home/ftp/pub -user lijiajia #查找在系统中属于lijiajia这个用户的文件

(PS:以上都是在 /home/lijiajia/文件夹下进行的操作)

find /tmp -user tom -or -user george #查找/tmp目录中属于tom或者george这两个用户的文件

find /tmp ! -usr fred #查找/tmp目录中不属于fred的文件

find /home/lijiajia/ -name 'elm.cc' -ls #在目录下查找名为"elm.cc"的文件,并显示这些文件的信息

linux查找内容命令

find,用于在文件树中查找文件并作相应的处理

-name:按照文件名查找文件

-perm:按照文件权限查找文件

-user:按照文件属主来查找文件

-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】

-group:按照文件所属的组来查找文件

-mtime-n+n:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前

例如:

find -name ".log":查找当前目录以".log"结尾的文件

find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件

find -type d | sort:查找当前所有目标目录并排序

locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新.<>

updatedb:第一次运行前,创建locate数据库

grep,用于过滤/搜索指定字符串.可以使用正则表达式,能配合多种命令使用.

用法:grep 【选项】 查找内容 源文件

-A:显示符合的行及之后的内容

-B:显示符合的行及之前的内容

-C:显示符合的行及前后的内容

-c:计算符合的行数目

-n:显示匹配行和行号

-i:忽略大小写

规则表达式

:'grep'表示匹配所有以grep开头的行

'表示匹配所有以grep结尾的行

.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'

:'grep'表示匹配一个或多个空格后紧跟grep的行

[]:[Gg]rep表示匹配Grep与grep

[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行

例如(grep命令大多数时候多要和别的命令一起使用才有意义):

ps -ef | grep -c SVN:查找指定的进程的个数

cat test.txt | grep -E 'ed|at':显示包含ed或at的行

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章