Linux命令五---搜索查找命令---find-grep-which-whereis等---网络通信命令--ifconfig-netstat等
版权声明:本文为博主原创文章,未经博主允许不得转载!!
欢迎访问: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 <用户名>
命令路径:/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等相关推荐
- Linux的五个查找命令
原文地址http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html Linux的 ...
- 【转】Linux的五个查找命令:find,locate,whereis,which,type
原文网址:http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html 最近,我在 ...
- linux搜索有哪些文件夹,Linux常见几个查找命令
以下命令是很久以前学习Linux,网上查到的命令自己做了下总结.记录在这里方便以后查看. Linux常见五种查找命令 1.which which命令的作用是,在PATH变量指定的路径中,搜索某个系统命 ...
- Linux链接命令和搜索命令
一:链接命令 ln [-s] [原文件] [目标文件] 功能描述:生成链接文件:选项:-s创建软链接. 硬链接特征: 1.拥有相同的i节点(ls -i文件命令可以查看i节点)和存储的block块,可以 ...
- linux find 循环查找,Linux下的find查找命令
Linux下的查找命令有:which(查看可执行文件的位置),whereis(查看指定文件的位置),locate(配合数据库查找指定文件的内容).find(在磁盘上查找文件).grep(使用正则表达式 ...
- 【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 ...
- linux c 文件查找字符串,Linux基础之文件查找工具:locate、find
引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息.如果我们不满意搜索结果可以进一步精确我们 ...
- linux系统下文件查找
在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器: 1,locate:非实时查找(基于预先生成的数据库查 ...
- Linux系统中搜索文件的方法有哪些?(最全总结,建议收藏)
搜索文件专栏全部文章: Linux系统中搜索文件的方法有哪些 如何使用find命令搜索到自己想要的文件 ack 命令的基本用法详解 ag命令的使用详解 在Linux系统中,常用的搜索文件的方法有以下几 ...
最新文章
- 批量修改数据映射_Docker 数据卷操作「Docker 系列-6」
- 二叉树的先序遍历(非递归)
- nessus安全工具主要用途_发电技术 | 发电厂DCS 网络安全评估与防护
- Twisted 介绍 及TCP广播系统实例
- mac osx wine 1.7.5 源码编译方法及中文乱码的解决
- spring cloud (一、服务注册demo_eureka)
- 什么叫POE交换机?POE交换机使用方法介绍?
- 怎么关闭默认使用腾讯视频播放视频文件
- linux shell 中的冒号,在bash中使用:-(冒号)
- Win7如何删除家庭组
- 外资对我国企业兼并控制情况的资料
- C#正则表达式提取txt小说目录
- 【DevOps研发管理方案】一:方案简介
- WIN 10 挂载分区之diskpart工具
- 写脚本的作用是什么?做自媒体,什么样的视频一定要写脚本?
- 袋鼠云 oracle,袋鼠云数据中台专栏2.0 | 数据中台之数据集成
- OpenCV学完基础知识不知道做什么?!我不相信这是真的
- Access denied for user ‘‘@‘localhost‘ to database ‘mysql‘
- python制作软件界面_python界面设计工具Qtdesigner
- Idea的k8s插件