专栏首页洁癖是一只狗Linux常用命令(二)

Linux常用命令(二)

文件搜索

Linux 系统中用于查找文件的命令有 find ,locate,whereis, which,type

1. find 命令

find是最常用也是最强大的查找命令,它可以查找任何类型的文件

find常用的选项:

-name:按文件名来查找文件

-user:按照文件的属主来查找文件

-group:按照文件所属的组来查找文件

-perm:按照文件权限来查找文件

-prune:不在当前指定目录中查找

-mtime -n +n n:按照文件修改时间来查找文件,-n表示文件修改时间距现在n天以内,+n表示文件修改时间据现在n天以前 , n 表示n 天之前的一天之内(在日常工作中我们经常会用到 find 结合 mtime 选项 和 rm -rf 命令 来清理log 文件

-type:查找某一类型的文件(b:块设备文件;d:目录文件;c:字符设备文件;p:管道文件;l:链接文件;f:普通文件)

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

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

举例:

find / -name file1 搜索根目录下面所有文件名为 file1 的 目录和文件

find /etc -name \*.d 搜索/etc目录下以'.d' 结尾的所有文件和目录

注意:\ 是转义符 , 也可使用单引号 find /etc -name ‘*.d’或双引号 find /etc -name “*.d”

find / -user yuki 搜索根目录下文件所有者是 'yuki' 的文件和目录

find / -group yuki 搜索根目录下文件所属组是 'yuki' 的文件和目录

find /tmp -perm 777 搜索/tmp目录下文件权限是777 (rwxrwxrwx)文件和目录

find /usr/bin -type f -mtime -10 搜索/usr/bin下 在10天内被创建或者修改过的文件

find /usr/bin -type f -mtime +10 搜索/usr/bin 下10天之前被创建或者修改过的文件

find /var/log -type f -mtime +60 -exec rm -rf {} \; 搜索在/var/log 下的 在60天之前被创建或者修改过的文件 , 并删除

find /root -name '*.sh' -exec chmod 755 {} \; 搜索/root下以 '.sh' 结尾的文件并定义其权限为755

2. locate 命令

locate命令实际是"find -name"的另一种写法,但是 locate命令要比find 查找快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db。所以在运行locate 之前要先运行updatedb命令,来确保查找的内容是最新的数据库的内容。

举例:locate '*.ps' 寻找以 '.ps' 结尾的文件.

3. whereis 命令

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。

如果省略参数则返回所有的信息。

whereis 命令常用的选项:

-b : 只将二进制文件查找出来

-m : 查出说明(帮助)文档路径

-s :找到source源文件

举例:

whereis ls 查找ls相关的可执行文件、源代码文件和帮助文件的位置

whereis log 查找log相关的可执行文件、源代码文件和帮助文件的位置

whereis man 查找man相关的可执行文件、源代码文件和帮助文件的位置

whereis -b python 查找python相关的二进制文件的位置 (这个在工作当中还是很有帮助的)

whereis -m python 查找python的帮助文档的位置

4.which 命令

which指令会在环境变量$PATH设置的目录里查找符合条件的文件, 并显示其全路径。

简单来说which 是查找可执行文件的位置。

举例:

which ls 显示一个可执行文件 ls 的完整路径

5. type 命令

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

举例:type -p systemctl 查找systemctl这个可执行文件的位置。相当于 which systemctl

查看文件内容、类型及属性

Linux系统中用于查看文件内容的命令有cat,more,less,head,tail;查看文件类型的命令是file; 查看文件属性的命令是stat

cat file1 从第一个字节开始正向查看文件的内容

tac file1 从最后一行开始反向查看一个文件的内容

more file1 分页显示大文本文件。最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。

less file1 less工具也是对文件或其它输出进行分页显示的工具。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

举例: 在/var/log/message 文件里面搜索 Aug 关键字

head -2 file1 查看一个文件的前两行

tail -2 file1 查看一个文件的最后两行

tail -f /var/log/messages 实时查看被添加到这个文件 /var/log/message 中的内容

file /usr/bin/ls 查看/usr/bin/ls文件的类型

stat /usr/bin/ls 查看/usr/bin/ls文件的属性,例如大小,最后的修改时间等等

本文分享自微信公众号 - 洁癖是一只狗(rookie-dog),作者:小土豆

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Mysql基础篇--分区类型

    分区是按照一定规则把一个表分解成多个更小的表,更容易管理的部分,当访问数据库应用而言,逻辑上是一个表或一个索引,实际上是可以有数个物理对象组成,每个分区都是一个...

    小土豆Yuki
  • 面试Mybatis之类型处理器​(typeHandlers)

    无论是MyBatis在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换...

    小土豆Yuki
  • Mysql如何选择唯一索引和普通索引

    相信大家对唯一索引和普通索引是有一定的了解的,那么在不同的业务场景,使用唯一索引还是普通索引呢,比如下面的场景

    小土豆Yuki
  • linux中find命令使用方法

    于小勇
  • Linux下的find命令详解

    这篇讲讲Linux下文件查找的命令:locate和find,其中locate很简单,主要讲解find命令 locate 用法 locate to/find/...

    GavinZhou
  • Linux中的查找文件方法

    一、which which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。 也就是说它返回的是你该命令所处的位置。...

    AsiaYe
  • 今天的几件事情记录

    最近在做SQL审核的东西,由于SQL审核工具Inception的底层是用C++编写的,重新拾起了C++,发现其中很多东西自己还没有忘记,为了SQL审核更...

    AsiaYe
  • linux(七)之linux系统中查找文件

    前面介绍一篇文章介绍了关于vi编辑器的使用,感觉是不是那么多的命令怎么记得住呀,小编也是这样让认为的,但是慢慢的发现,其实还是很有意思的。正所谓熟能生巧多练习,...

    用户1195962
  • Linux下一些常用的命令(随时更新)

    文件操作 打包,排除部分目录 tar -zcvf www_20170426.tar.gz www --exclude=file 解压,并重命名 tar -x...

    小柒2012
  • 芯片大神离职特斯拉,马斯克造芯梦碎可能会抱黄仁勋大腿

    新智元

扫码关注云+社区

领取腾讯云代金券