【Linux常用命令12】搜索命令及特殊字符的使用

这篇具有很好参考价值的文章主要介绍了【Linux常用命令12】搜索命令及特殊字符的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

which:查看可执行文件的位置

which 命令

whereis:查看文件的位置,只能用于程序名的搜索

whereis [选项] 命令
-b   定位可执行文件。
-m   定位帮助文件。
-s   定位源代码文件。
-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

find命令:用于在文件树中查找文件

find 路径 [选项] 文件名称
参数      含义
-name    按照文件名查找文件
-perm    按文件权限查找文件
-user    按文件属主查找文件
-group   按照文件所属的组来查找文件。
-type    查找某一类型的文件,诸如:
   b - 块设备文件
   d - 目录
   c - 字符设备文件
   l - 符号链接文件
   p - 管道文件
   f - 普通文件
-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
-amin n   查找系统中最后N分钟访问的文件
-atime n  查找系统中最后n*24小时访问的文件
-cmin n   查找系统中最后N分钟被改变文件状态的文件
-ctime n  查找系统中最后n*24小时被改变文件状态的文件
-mmin n   查找系统中最后N分钟被改变文件数据的文件
-mtime n  查找系统中最后n*24小时被改变文件数据的文件
(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
-maxdepth n 最大查找目录深度
-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
#示例:
find . -name "*.c"  #将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
find . -type f      #将当前目录及其子目录中的所有文件列出
find . -ctime  20   #将当前目录及其子目录下所有最近 20 天内更新过的文件列出
find /var/log -type f -mtime +7 -ok rm {} \; #查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们
示例:
使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
[root@linuxcool ~]# find /etc -name "*.conf
使用-size参数查看/etc目录下面大于1M的文件:
[root@linuxcool ~]# find /etc -size +1M
在/var/log目录下忽略大小写查找以.log结尾的文件名:
[root@linuxcool ~]# find /var/log -iname "*.log"
在当前目录下查找超过七天内被访问过的所有文件:
[root@linuxcool ~]# find . -type f -atime +7
在当前目录下查找访问时间超过10分钟的所有文件:
[root@linuxcool ~]# find . -type f -amin +10
找出/home下不是以.txt结尾的文件:
[root@linuxcool ~]# find /home ! -name "*.txt"
在整个文件系统中找出所有归属于 linuxprobe 用户的文件并复制到 /root/findresults 目录:
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/
查找 /var/log 目录中更改时间在 7 日以前的普通文件,并删除
find /var/log -type f -mtime +7 -exec rm -f {}

输出重定向中用到的符号及其作用

命令 > 文件:将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件:将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件:将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件:将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 &>> 文件:将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)

管道符命令 | :把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入

格式为:命令 A | 命令 B
匹配关键词/sbin/nologin 找出了所有被限制登录系统的用户:
[root@linuxprobe ~]# grep "/sbin/nologin" /etc/passwd | wc -l
用翻页的形式查看/etc 目录中的文件列表及属性信息:
[root@linuxprobe ~]# ls -l /etc/ | more
用一条命令来完成密码重置:
[root@linuxprobe ~]# echo "linuxprobe" | passwd --stdin root

命令行的通配符

星号(*)代表匹配零个或多个字符
问号(?)代表匹配单个字符
中括号内加上数字[0-9]代表匹配 0~9 之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配 a、b、c 三个字符中的任意一个字符

示例:
匹配所有在/dev 目录中且以 sda 开头的文件:
[root@linuxprobe ~]# ls -l /dev/sda*
查看文件名为 sda 开头,但是后面还紧跟其他某一个字符的文件的相关信息:
[root@linuxprobe ~]# ls -l /dev/sda?

常用的转义字符

反斜杠\:使反斜杠后面的一个变量变为单纯的字符串。
单引号‘:转义其中所有的变量为单纯的字符串。
双引号“:保留其中的变量属性,不进行转义处理。
反引号`:把其中的命令执行后返回结果。文章来源地址https://www.toymoban.com/news/detail-724168.html

示例:
定义一个名为 PRICE 的变量并赋值为 5,然后输出以双引号括起来的字符串与变量信息
[root@linuxprobe ~]# PRICE=5
[root@linuxprobe ~]# echo "Price is $PRICE"
Price is 5
要想让第一个"$"乖乖地作为美元符号,那么就需要使用反斜杠(\)来进行转义,将这个命令提取符转义成单纯的文本,去除其特殊功能:
[root@linuxprobe ~]# echo "Price is \\$$PRICE" 
Price is $5

到了这里,关于【Linux常用命令12】搜索命令及特殊字符的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包