版权声明:本文为博主原创文章,未经博主允许不得转载!!

欢迎访问:https://blog.csdn.net/qq_21439395/article/details/82012049

交流QQ: 824203453

文件搜索命令

find      

命令路径:/bin/find         执行权限:所有用户

作用:查找文件或目录

语法:find [搜索路径] [匹配条件]

如果没有指定搜索路径,默认从当前目录查找

find pathname -options [-print -exec -ok]

pathname find命令所查找的目录路径。例如用 .来表示当前目录,用 /来表示系统根目录。

-print find命令将匹配的文件输出到标准输出。

-exec find 命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为 ' command' {} \;,注意{ }和\;之间的空格。

-ok 和- exec 的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,

在执行每一个命令之前,都会给出提示,让用户来确定是否执行

find命令选项

-name 按名称查找

eg:find  /etc  -name  init 在目录/etc中查找文件init

-iname  类似-name,不区分大小写

eg:

find /etc/ -name passwd.old

find /etc/ -iname passwd.old

/etc/passwd.OLD

-size  按文件大小查找

以block为单位,一个block是512B     +大于  -小于  不写是等于

eg:find /etc -size +204800  在etc目录下找出大于100MB的文件

100MB=102400KB=204800block

-user  按宿主用户查找

eg:find  /  -user  sam  在根目录下查找所有者为sam的文件

-perm  按权限查找 

-type  按文件类型查找

f 二进制文件   l 软连接文件   d 目录   b 块设备文件   c  字符设备文件   p  管道文件

eg:find /dev -type c

-inum  根据i节点查找

适用场景:1,文件名怪异,比如文件名有空格,那么就使用 ls  -i  查找出该文件的i节点(此处为当前目录下),再使用 find .  -inum  文件i节点  -exec rm  {} \;        删除文件

2,根据i节点查找文件的硬链接

-group按文件所属组查找

-nogroup  查找无有效所属组的文件,即该文件所属的组在 /etc/groups中不存在

-nouser  查找无有效属主的文件,即该文件的属主在/etc/password中不存在

-newer  file1 ! file2 查找更改时间比文件 file1新但比文件 file2旧的文件

-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计

-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找

-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件 /etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息

-mount 在查找文件时不跨越文件系统mount点

-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件

-cpio 对匹配的文件使用 cpio命令,将这些文件备份到磁带设备中

- prune 忽略某目录   如果-prune和-depth同时使用了,那么find命令就忽略-prune选项。

eg:$ find /apps -name "/apps/bin" -prune -o -print  在 /apps目录下查找文件,但忽略 /apps/bin 目录

-mtime  -n  +n

按最后一次修改时间查找,选取n天内被修改的文件

- n表示文件更改时间距现在 n天以内,+ n 表示文件更改时间距现在 n天以前

-atime    按最后一次访问时间查找

按时间查找:

1,天  ctime,atime,mtime

2,分钟 cmin,amin,mmin

c-change改变 表示文件属性被修改过,所有者,所属组,权限

a-access访问  cat,more,vi编辑过

m-modify修改 表示文件内容被修改过

- 多长时间之内,+超过多长时间

eg: find /etc  -cmin -5          在/etc 下查找5分钟内被修改过属性的文件和目录

find查找中的字符匹配:

*:匹配所有,?:匹配单个字符

eg:find  /etc  -name  init???    在目录/etc中查找以init开头的,且后面有三位的文件

补充:

find 查找 对*号的处理情况。 需要加单双引号,或者 使用\* 对*进行转义,

eg: find . -name *.log      奇葩的是 执行 find /etc  -name *nit 就是正常的

原因:

如果没找到,或者找到一个,都能正确返回。

但是如果找到多个,比如a.log 和 b.log时,其实 find语句就被解析成了 find . -name a.log b.log ,然后执行就会报错了。

注意:这个*号是在查找条件的最前面,放在后面的就没有问题了。

find查找的基本原则

占用最少的系统资源,即查询范围最小,查询条件最精准

eg:

如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/

命令连接符:

-a         and      逻辑与

-o          or         逻辑或

exec                   用法:find  ....  -exec  命令 {} \;

ok                      用法:与exec相似,但是会询问是否删除

解释:{} 花括号是find查询的结果

\  转义符,符号命令使用本身

;  结束

必须以 \;结束才能正确执行exec命令。

-exec/-ok 对查找结果要执行的命令 {} \;

eg: find /etc -ctime -1

在etc下查找24小时内被修改过属性的文件和目录

eg:find /etc -size +163840 -a -size -204800

在etc下查找大于80MB小于100MB的文件

eg: find /etc -name initab -exec ls -l {} \;

在/etc下查找initab文件并显示其详细信息

eg: find /home -user union -exec rm -rf {} \;

查找/home 目录下,所属者为union的文件,并直接删除

grep命令

命令路径:/bin/grep        执行权限:所有用户

作用:在文件中搜寻字串匹配的行并输出

语法:

grep [-acinv] [--color=auto] '搜寻字符串' filename

选项与参数:

-a :将 binary 文件以 text 文件的方式搜寻数据

-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)

-i :忽略大小写,所以大小写视为相同

-n :显示匹配行及行号

-v :反向选择,显示不包含匹配文本的所有行。

-h : 查询多文件时不显示文件名。

-s : 不显示不存在或无匹配文本的错误信息。

--color=auto :可以将找到的关键词部分加上颜色的显示

eg:grep ftp  /etc/services

eg:#grep -v ^# /etc/inittab         去掉文件行首的#号

eg:# grep -n “init”/etc/inittab  显示在inittab文件中,init匹配行及行号

eg:# grep -c“init”/etc/inittab   显示在inittab文件中,init匹配了多少次

eg:ls -l /etc/ | grep '^d' | tee result.txt | wc -l      查看/etc下的以字符d开头的文件数量,并将文件详情输入到result.txt中

eg:#grep -v ^# /etc/inittab         去掉文件行首的#号

eg:# netstat -an | grep ESTABLISHED        查看当前机器的远程连接

grep -n “48” test.txt 显示行号;显示匹配字符“48”的行及行号,相同于 nl test.txt |grep 48)

grep “471” test.txt 显示输出字符“471”所在的行) 
grep “48;” test.txt 显示输出以字符“48”开头,并在字符“48”后是一个tab键所在的行 
grep “48[34]” test.txt 显示输出以字符“48”开头,第三个字符是“3”或是“4”的所有的行) 
grep “^[^48]” test.txt 显示输出行首不是字符“48”的行) 
grep “[Mm]ay” test.txt 设置大小写查找:显示输出第一个字符以“M”或“m”开头,以字符“ay”结束的行) 
grep “K…D” test.txt 显示输出第一个字符是“K”,第二、三、四是任意字符,第五个字符是“D”所在的行) 
grep “[A-Z][9]D” test.txt 显示输出第一个字符的范围是“A-D”,第二个字符是“9”,第三个字符的是“D”的所有的行 
grep “[35]..1998” test.txt 显示第一个字符是3或5,第二三个字符是任意,以1998结尾的所有行 
grep “4/{2,/}” test.txt 模式出现几率查找:显示输出字符“4”至少重复出现两次的所有行 
grep “9/{3,/}” test.txt 模式出现几率查找:显示输出字符“9”至少重复出现三次的所有行 
grep “9/{2,3/}” test.txt 模式出现几率查找:显示输出字符“9”重复出现的次数在一定范围内,重复出现2次或3次所有行 
grep -n “^$” test.txt 显示输出空行的行号 
ls -l |grep “^d” 如果要查询目录列表中的目录 同:ls -d * 
ls -l |grep “^d[d]” 在一个目录中查询不包含目录的所有文件 
ls -l |grpe “^d…..x..x” 查询其他用户和用户组成员有可执行权限的目录集合

which    

命令路径:/usr/bin/which             执行权限:所有用户

作用:显示系统命令所在目录(绝对路径及别名) 

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

# which ls

alias ls='ls --color=auto'

/bin/ls

# which zs

/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)

whereis

命令路径:/usr/bin/whereis          执行权限:所有用户

作用:搜索命令所在目录 配置文件所在目录  及帮助文档路径     

eg: which passwd    和   whereis  passwd

eg:查看/etc/passwd配置文件的帮助,就用  man 5 passwd

详解whereis命令

1.命令格式:

whereis [-bmsu] [BMS 目录名 -f ] 文件名

2.命令功能:

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。(简单而言,whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s))

3.命令参数:

-b   定位可执行文件。

-m   定位帮助文件。

-s   定位源代码文件。

-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

-B   指定搜索可执行文件的路径。

-M   指定搜索帮助文件的路径。

-S   指定搜索源代码文件的路径。

type

type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

type命令的使用实例:

$ type cd

系统会提示,cd是shell的自带命令(build-in)。

$ type grep

系统会提示,grep是一个外部命令,并显示该命令的路径。

$ type -p grep

加上-p参数后,就相当于which命令。

locate

在文件资料库中查找文件或目录      -i    不区分大小写

eg:locate file 列出所有跟file相关的文件

如果新创建的文件没有收录到文件资料库中,使用该命令查找不到,那么可以使用updatedb更新文件资料库,之后就能正常查找了。

如果文件在/tmp目录下,locate不能查找,应为临时目录没有收录到文件资料库中

updatedb

建立整个系统目录文件的数据库

网络通信命令

ping

命令路径:/bin/ping        执行权限:所有用户

作用:测试网络的连通性

语法:ping 选项 IP地址

-c 指定发送次数

ping 命令使用的是icmp协议,不占用端口

eg: # ping -c 3 127.0.0.1

ifconfig

英文:interface configure 命令路径:/sbin/ifconfig       执行权限:root

作用:查看和设置网卡网络配置

语法:ifconfig [-a] [网卡设备标识]

-a:显示所有网卡信息

ifconfig [网卡设备标识] IP地址              修改ip地址

netstat

英文:network statistics         命令路径:/bin/netstat           执行权限:所有用户

作用:主要用于检测主机的网络配置和状况

-a  all显示所有连接和监听端口

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 使用数字方式显示地址和端口号

-l (listening)  显示监控中的服务器的socket

-r(route)  显示路由表

eg:# netstat -tlnu      查看本机监听的端口

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

协议  待收数据包  待发送数据包  本地ip地址:端口 远程IP地址:端口

#netstat -au 列出所有 udp 端口

# nestat -at 列出所有tcp端口

#netstat -an  查看本机所有的网络连接

#netstat –rn 显示本机路由表

wall

(write all)  [message] [文件名]  向所有用户发广播信息  eg:wall Happy !

write

命令路径:/usr/bin/write        执行权限:所有用户

作用:向在线用户发信息,以ctrl+D 作为结束  实时通信工具

语法:write <用户名>

mail

命令路径:/bin/mail         执行权限:所有用户

作用:查看发送电子邮件

语法:mail  [用户名]                      以ctrl+D结束

再使用mail直接回车,查看邮件

& 邮件数字编号 查看邮件的详细信息,& h 查看邮件列表,

& d 删除该邮件,& q 退出

每个用户的邮箱在  /var/spool/mail/用户名

补充:

可以把邮件发送到外部邮箱中,要么配置sendmail,要么,配置外部的smtp服务器

last  

列出目前与过去登入系统的用户信息

lastlog  

列出用户最后登入系统的时间   -u  uid(用户id)  查看单个用户上次的登录时间

telnet  

telnet ip host  00000000+命令长度+命令

eg:telnet 132.35.83.74 9501  连接上后执行命令     0000000012hp_memory -p

分析  前面固定8个0,12表示后面命令的长度。紧跟着的是执行命令。
traceroute

所有用户可执行,显示数据包到主机间的路径,即追踪路由

eg: traceroute www.baidu.com

nslookup

nslookup 工具可以查询互联网域名信息,检测DNS服务器的设置。

非交互式:

eg: nslookup 域名/ip

交互式:

eg:nslookup 回车

输入 查询ip或者域名

tracert追踪路由

tracert  域名/ip

查看到达一个ip需要经过的路由

http://www.ip138.com/  可以查询网络出口ip

版权声明:本文为博主原创文章,未经博主允许不得转载!!

欢迎访问:https://blog.csdn.net/qq_21439395/article/details/82012049

交流QQ: 824203453

Linux命令五---搜索查找命令---find-grep-which-whereis等---网络通信命令--ifconfig-netstat等相关推荐

  1. Linux的五个查找命令

    原文地址http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html Linux的 ...

  2. 【转】Linux的五个查找命令:find,locate,whereis,which,type

    原文网址:http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html 最近,我在 ...

  3. linux搜索有哪些文件夹,Linux常见几个查找命令

    以下命令是很久以前学习Linux,网上查到的命令自己做了下总结.记录在这里方便以后查看. Linux常见五种查找命令 1.which which命令的作用是,在PATH变量指定的路径中,搜索某个系统命 ...

  4. Linux链接命令和搜索命令

    一:链接命令 ln [-s] [原文件] [目标文件] 功能描述:生成链接文件:选项:-s创建软链接. 硬链接特征: 1.拥有相同的i节点(ls -i文件命令可以查看i节点)和存储的block块,可以 ...

  5. linux find 循环查找,Linux下的find查找命令

    Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容).find(在磁盘上查找文件).grep(使用正则表达式 ...

  6. 【Linux基础】四、常用基本命令——文件权限类(ls -al,chmod,chown,chgrp)、搜索查找类(find,locate,grep,wc,which)

    文件权限命令.搜索查找命令 4.6 ```文件权限类``` 4.6.1 文件属性 4.6.2 chmod 改变权限 4.6.3 chown 改变所有者 4.6.4 chgrp 改变所属组 ```4.7 ...

  7. linux c 文件查找字符串,Linux基础之文件查找工具:locate、find

    引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息.如果我们不满意搜索结果可以进一步精确我们 ...

  8. linux系统下文件查找

    在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器:  1,locate:非实时查找(基于预先生成的数据库查 ...

  9. Linux系统中搜索文件的方法有哪些?(最全总结,建议收藏)

    搜索文件专栏全部文章: Linux系统中搜索文件的方法有哪些 如何使用find命令搜索到自己想要的文件 ack 命令的基本用法详解 ag命令的使用详解 在Linux系统中,常用的搜索文件的方法有以下几 ...

最新文章

  1. 批量修改数据映射_Docker 数据卷操作「Docker 系列-6」
  2. 二叉树的先序遍历(非递归)
  3. nessus安全工具主要用途_发电技术 | 发电厂DCS 网络安全评估与防护
  4. Twisted 介绍 及TCP广播系统实例
  5. mac osx wine 1.7.5 源码编译方法及中文乱码的解决
  6. spring cloud (一、服务注册demo_eureka)
  7. 什么叫POE交换机?POE交换机使用方法介绍?
  8. 怎么关闭默认使用腾讯视频播放视频文件
  9. linux shell 中的冒号,在bash中使用:-(冒号)
  10. Win7如何删除家庭组
  11. 外资对我国企业兼并控制情况的资料
  12. C#正则表达式提取txt小说目录
  13. 【DevOps研发管理方案】一:方案简介
  14. WIN 10 挂载分区之diskpart工具
  15. 写脚本的作用是什么?做自媒体,什么样的视频一定要写脚本?
  16. 袋鼠云 oracle,袋鼠云数据中台专栏2.0 | 数据中台之数据集成
  17. OpenCV学完基础知识不知道做什么?!我不相信这是真的
  18. Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘
  19. python制作软件界面_python界面设计工具Qtdesigner
  20. Idea的k8s插件

热门文章

  1. 1.前端笔记之html
  2. ajax 分割返回,jQuery用'...'分割ajax响应?
  3. 国内下载android源码,Android国内源码下载——亲测成功-Go语言中文社区
  4. skycc供求信息发布软件 V8.5正式版
  5. 360与wifi共享精灵谁更随身?
  6. B/S聊天室(websocket)
  7. 木鱼《觉醒年代》观后感
  8. 磁悬浮惯性动量轮技术_第2章_磁悬浮惯性动量轮的总体结构
  9. 如何把公式转换成matlab代码
  10. Oracle转换MySql之递归start with