linux搜索文件内容 linux基础知识点

linux下有哪些常用的命令呢

文件和目录管理

ls:列出当前目录中的文件和目录

mkdir:创建目录

cd:更改目录

rm:删除文件或目录

cp:复制文件或目录

mv:移动或重命名文件或目录

用户和组管理

useradd:创建新用户

groupadd:创建新组

userdel:删除用户

groupdel:删除组

passwd:更改密码

权限管理

chmod:更改文件或目录的权限

chown:更改文件或目录的所有者

chgrp:更改文件或命令的组

打包和解压

tar:打包或解压文件

gzip:使用Gzip压缩文件

bzip2:使用BZIP2压缩文件

zip:打包或解压ZIP存档

进程管理

ps:列出正在运行的进程

top:监控系统活动

kill:终止进程

网络管理

ping:测试到另一个主机的连接性

ifconfig:显示网络接口配置

netstat:显示网络连接和统计信息

信息查找

man:显示命令手册页

info:显示信息页面

grep:在文件中搜索文本

find:在文件系统中搜索文件

文件操作

cat:显示文件内容

more:逐屏显示文件内容

less:交互式文件查看器

head:显示文件开头部分

tail:显示文件末尾部分

linux下按文件名和文件内容查找文件

在当前目录下,查找所有内容包含‘abc'的文件

find.-type f| xargs grep-l'abc'

find.-type f-exec grep-l'abc'{} \;

扩展资料:

linux查找文件命令find

根据部分文件名查找方法:

这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。

例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:

find/etc-name'*srm*'

这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

find/etc-name'srm*'

这是只有像srmyz这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

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/crontab:52 6 1** root test-x/usr/sbin/anacron||( cd/ run-parts--report/etc/cron.monthly)

/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("

阅读剩余
THE END