RHEL查找定位文件命令

简介: 1.pwd命令2.cd命令3.ls命令4.tree命令5.find命令6.locate命令7.whereis命令8.which命令

工作目录指的是用户当前在系统中所处的位置。

1.pwd命令

pwd 命令用于显示用户当前所处的工作目录,英文全称为“print working directory”,输 入该命令后按回车键执行即可。

使用 pwd 命令查看当前所处的工作目录:

[root@rhel-8 ~]# pwd/root

2.cd命令

cd 命令用于切换当前的工作路径,英文全称为“change directory”,语法格式为“cd [参 数] [目录]”。

使用“cd -”命令返回到上一次所处的目录, 使用“cd ..”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,抑或使用 “cd ~username”命令切换到其他用户的家目录

使用下述的 cd 命令切换进/etc 目录中:

[root@rhel-8 ~]# cd /etc

同样的道理,可使用下述命令切换到/bin 目录中:

[root@rhel-8 etc]# cd /bin

此时,要返回到上一次的目录(即/etc 目录),可执行如下命令:

[root@rhel-8 bin]# cd -/etc

还可以通过下面的命令快速切换到用户的家目录:

[root@rhel-8 etc]# cd ~[root@rhel-8 ~]#

3.ls命令

ls 命令用于显示目录中的文件信息,英文全称为“list”,语法格式为“ls [参数] [文件名称]”。

使用 ls 命令的-a 参数 可以看到全部文件(包括隐藏文件),使用-l 参数可以查看文件的属性、大小等详细信息。将 这两个参数整合之后,再执行 ls 命令即可查看当前目录中的所有文件并输出这些文件的属性信息:

image.png

4.tree命令

tree 命令用于以树状图的形式列出目录内容及结构,输入该命令后按回车键执行即可。

虽然 ls 命令可以很便捷地查看目录内有哪些文件,但无法直观地获取到目录内文件的层 次结构。

tree 命令则能够以树状图的形式列出目录内所有文件的结构。

使用 ls 命令查看目录内的文件:

[root@rhel-8 ~]# lsa  anaconda-ks.cfg  hello.c  initial-setup-ks.cfg

使用 tree 命令查看目录内文件名称以及结构:

[root@rhel-8 ~]# tree.
├── a
│   └── b
│       └── c
├── anaconda-ks.cfg
├── hello.c
└── initial-setup-ks.cfg
3 directories, 3 files

5.find命令

find 命令用于按照指定条件来查找文件所对应的位置,语法格式为“find [查找范围] 寻 找条件”。

在 Linux 系统中,搜索工作一般都是通过 find 命令来完成的,它可以使用不同的文件特性作 为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到 屏幕上。find 命令的参数以及作用如表

image.png

-exec用于把 find 命令搜索到的结果交由紧 随其后的命令作进一步处理。

如果要想获取该目录中所有以 host 开头的文件列表,可 以执行如下命令:

[root@rhel-8 ~]# find /etc -name "host*"/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/avahi/hosts
/etc/hostname

如果要在整个系统中搜索权限中包括 SUID 权限的所有文件,只需使用 -4000 即可:

[root@rhel-8 ~]# find / -perm -4000 -print/usr/bin/fusermount
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/umount
/usr/bin/mount
/usr/bin/su

进阶实验: 在整个文件系统中找出所有归属于 charlie 用户的文件并复制到/root/findresults 目录中。

该实验的重点是“-exec {} \;”参数,其中的{}表示 find 命令搜索出的每一个文件,并且 命令的结尾必须是“\;”。完成该实验的具体命令如下:

[root@rhel-8 ~]# find / -user charlie -exec cp -a {} /root/findresults/ \;

6.locate命令

locate 命令用于按照名称快速搜索文件所对应的位置,语法格式为“locate 文件名称”。

使用 find 命令进行全盘搜索虽然更准确,但是效率有点低。如果仅仅是想找一些常见的 且又知道大概名称的文件,不如试试 locate 命令。在使用 locate 命令时,先使用updatedb 命令生成一个索引库文件,这个库文件的名字是/var/lib/mlocate/mlocate.db,后续在使用 locate 命令搜索文件时就是在该库中进行查找操作,速度会快很多。

第一次使用locate 命令之前,记得先执行updatedb 命令来生成索引数据库,然后再进行查找:

[root@rhel-8 ~]# updatedb[root@rhel-8 ~]# ls -l /var/lib/mlocate/mlocate.db-rw-r-----. 1 root slocate 4201248 Nov 1114:05 /var/lib/mlocate/mlocate.db

使用 locate 命令搜索出所有包含“whereis”名称的文件所在的位置:

[root@rhel-8 ~]# locate whereis/usr/bin/whereis
/usr/share/bash-completion/completions/whereis
/usr/share/man/man1/whereis.1.gz

7.whereis命令

whereis 命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的 位置,语法格式为“whereis 命令名称”。

简单来说,whereis 命令也是基于 updatedb 命令所生成的索引库文件进行搜索,它与 locate 命令的区别是不关心那些相同名称的文件,仅仅是快速找到对应的命令文件及其帮助文件所 在的位置。

下面使用 whereis 命令分别查找出 ls 和 pwd 命令所在的位置:

[root@rhel-8 ~]# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
[root@rhel-8 ~]# whereis pwdpwd: /usr/bin/pwd /usr/share/man/man1/pwd.1.gz /usr/share/man/man1p/pwd.1p.gz

8.which命令

which 命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为 “which 命令名称”。

which 命令是在 PATH 变量所指定的路径中,按照指定条件搜索命令所在的路径。也就是 说,如果我们既不关心同名文件(find 与 locate),也不关心命令所对应的源代码和帮助文件 (whereis),仅仅是想找到命令本身所在的路径,那么这个 which 命令就太合适了。下面查找 一下 locate 和 whereis 命令所对应的路径:

[root@rhel-8 ~]# which locate/usr/bin/locate
[root@rhel-8 ~]# which whereis/usr/bin/whereis


相关文章
|
6月前
|
算法 Linux Windows
Linux|如何查找和删除重复文件
Linux|如何查找和删除重复文件
87 1
|
6月前
|
Linux
蓝易云 - Linux下查找含有特定内容的文件下查找含有特定内容的文件
这个命令会在当前目录及其所有子目录下搜索含有"Hello"的文件。
37 0
|
7月前
|
人工智能 Linux
Linux查找大文件的方法
Linux查找大文件的方法
|
算法 Linux Windows
实践|Linux 中查找和删除重复文件
实践|Linux 中查找和删除重复文件
237 0
linux grep命令反向查找【匹配不是XXX的行内容】
linux grep命令反向查找【匹配不是XXX的行内容】
|
Linux Perl
Linux文件里面查找指定内容
Linux文件里面查找指定内容
222 0
|
Unix
Linux-使用 Find 命令找到那些需要清理的文件
Linux-使用 Find 命令找到那些需要清理的文件
131 0
|
Linux Shell
Linux: find查找大文件
Linux: find查找大文件
96 0
Linux: find查找大文件
|
关系型数据库 MySQL Linux
linux下查找mysql配置文件及错误检查方法
linux下查找mysql配置文件及错误检查方法
linux下查找mysql配置文件及错误检查方法
|
Linux 数据库 开发工具
linux文件及文件内容查找命令总结
linux文件及文件内容查找命令总结
346 0