linux命令搜索文件名,linux如何搜索文件名

linux常用命令

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

在浮山等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都做网站 网站设计制作按需网站建设,公司网站建设,企业网站建设,高端网站设计,网络营销推广,外贸网站建设,浮山网站建设费用合理。

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

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

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

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

# ls /etc

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

# ls -a

2、cat命令

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

语法:cat [-vTEuAte] 文件

例子: cat example.txt

cat -A exam2.txt

cat file1 file2 file2

3、more命令

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

语法: more [-pcdls] 文件

例子: more example.c

more -dc example.c

more -c -10 example.c

4、less命令

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

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

5、head命令

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

语法:head [-n] 文件

例子: head example.c

head -3 example.c

6、tail命令

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

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

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

例子: tail example.c

tail -4 example.c

7、grep、fgrep和egrep命令

功能:

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

语法:

grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]

egrep [选项] [查找模式] [文件名1,文件名2,……]

fgrep [选项] [查找模式] [文件名1,文件名2,……]

例子: 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(修改文件内容的时间)

find   .  -size 25k(查找当前目录等于25k的文件)             find   .   -size   +10M(查找当前目录大于10M的文件)

find  /etc  -size +20k  -a  -size -50k (查找/etc下大于20k小于50k的文件)       -a(and)   -o(or)

find  /etc  -size +20k  -a  -size -50k -exec ls -lh {} \; (查找/etc下大于20k小于50k的文件,并显示详细信息) 《Linux就该这么学》 一起学习更多命令

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

grep [选项] 字符串 文件名

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

Linux中的通配符:

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

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

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

1、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 

2、locate 命令

要在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

文件名

grep

root

/etc/*

示例输出:

代码如下:

/etc/bash.bashrc:

See

man

sudo_root

for

details.

/etc/crontab:17

*

*

*

*

root

cd

/

run-parts

--report

/etc/cron.hourly

/etc/crontab:25

6

*

*

*

root

test

-x

/usr/sbin/anacron

||

(

cd

/

run-parts

--report

/etc/cron.daily

)

/etc/crontab:47

6

*

*

7

root

test

-x

/usr/sbin/anacron

||

(

cd

/

run-parts

--report

/etc/cron.weekly

)

/etc/group:root:x:0:

grep:

/etc/gshadow:

Permission

denied

/etc/logrotate.conf:

create

0664

root

utmp

/etc/logrotate.conf:

create

0660

root

utmp

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

-l

选项可以只显示文件名:

代码如下:

grep

-l

string

filename

grep

-l

root

/etc/*

示例输出:

代码如下:

/etc/aliases

/etc/arpwatch.conf

grep:

/etc/at.deny:

Permission

denied

/etc/bash.bashrc

/etc/bash_completion

/etc/ca-certificates.conf

/etc/crontab

/etc/group

你也可以逆转输出;使用

-L

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

代码如下:

grep

-L

word

filename

grep

-L

root

/etc/*

示例输出:

代码如下:

/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

根据文件内容查找文件

输入以下命令:

代码如下:

grep

'string'

*.txt

grep

'main('

*.c

grep

'#include'

*.c

grep

'getChar*'

*.c

grep

-i

'ultra'

*.conf

grep

-iR

'ultra'

*.conf

其中

-i

忽略模式(匹配字符串

valid、

VALID、

ValID

)和输入文件(匹配

file.c

FILE.c

FILE.C)的大小写。

-R

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

高亮匹配到的模式

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

代码如下:

$

grep

--color=auto

-iR

'getChar();'

*.c

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

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

代码如下:

$

grep

--color=auto

-iRnH

'getChar();'

*.c

其中,

-n

在输出的每行前面添加以

1

开始的行号。

-H

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

译注:-h

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

-l

-L

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

-H

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

代码如下:

$grep

--color=auto

-nH

'DIR'

*

输出样例:

你也可以使用

find

命令:

代码如下:

$

find

.

-name

*.c

-print

|

xargs

grep

main(

linux find 怎样取得文件名呢?

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

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

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

1.在某目录下查找名为“elm.cc”的文件

find /home/lijiajia/ -name elm.cc

2.查找文件名中包含某字符(如"elm")的文件

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

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

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

3.根据文件的特征进行查询

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

find /home/lijiajia/ -atime -2 #查找在系统中最后48小时访问的文件

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

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

find /home/lijiajia/ -mmin -5 # 查找在系统中最后5 分钟里修改过的文件

find /home/lijiajia/ -mtime -1 #查找在系统中最后24 小时里修改过的文件

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

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

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

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

4.使用混合查找方式查找文件

find /tmp -size +10000000c -and -mtime +2 #查找/tmp目录中大于10000000字节并且在48小时内修改的某个文件

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

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

5.查找并显示文件

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天以前

-newer file1 file2:查找更改时间在file1和file2之间的文件

例如:

find -mtime -2:查找48小时修改过的文件

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

find /opt/soft/test -perm 777:查找指定目录下权限为777的文件

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

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

find /home/wansw -size +20M:查找大于20M的文件

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

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 -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索

cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号

grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'

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


分享标题:linux命令搜索文件名,linux如何搜索文件名
当前URL:http://scyanting.com/article/hsphgs.html