共计 2291 个字符,预计需要花费 6 分钟才能阅读完成。
今天马哥教育要跟大家分享的文章是关于 Linux 系统中查找命令的区别。正在从事 Linux 运维 相关工作的小伙伴们一定不会对查找命令陌生。Linux 入门 新手和正在 Linux 学习的小伙伴快来看一看吧,希望能够对大家有所帮助!
一、man
学习 Linux 命令,就得会看帮助文档,不然选项太多,根本记不住。常用的帮助文档命令有 man,info,–help。一般用 man 比较多,比 help 命令细,比 info 命令简单。输入 man 命令,即可进入 man page(手册页面)。
man page 常用的部分如下
块名 | 介绍 |
NAME | 命令的名称和简要介绍 |
SYNOPSIS | 命令的基本格式 |
DESCRIPTION | 命令功能的概要介绍 |
OPTIONS | man 命令最基本的部分,命令的各种选项,以及对选项的简要介绍 |
man java
Java 命令的基本格式如下
Java 命令的选项
可以看到 Java 支持很多参数,参数的类型就有标准参数,非标准参数多种。每个参数类型下面又包含许多参数。
man page 下的常命令如下
命令 | 解释 |
↑ | 向上移动一行 |
↓ | 向下移动一行 |
空格或者 f [forward(向前) ] | 向下翻动一页 |
b [backward(前后)] | 向上翻动一页 |
/ 搜索词 回车 | 在 man page 中查找指定内容,从上往下搜,n 下一个,N 上一个 |
? 搜索词 回车 | 在 man page 中查找指定内容,从下往上搜,n 下一个,N 上一个 |
二、find
find 是最常用和最强大的命令,实时遍历磁盘文件
find 命令的基本语法如下
find [查找目录] [查找条件] [查找完成后的操作]
查找条件相当多,名字,类型,权限,用户,修改时间,大小,举几个例子
# 当前目录下(含子目录)以 apache 开头的文件
find -name “apache*”
./apache-tomcat-8.5.34
./zookeeper-3.4.12/docs/skin/images/apache-thanks.png
./zookeeper-3.4.12/docs/api/org/apache
# maxdepth 可以设置查找的深度
# 查找的深度为 1,即只查找当前文件夹
find -maxdepth 1 -name “apache*”
./apache-tomcat-8.5.34
# 显示 /etc 目录下的文件夹
find /etc -type d
# 查找权限为 777 的文件
find / -perm 777
文件类型有如下几种
字符 | 解释 |
d | 目录 |
l | 符号链接(指向另一个文件) |
s | 套接字文件 |
b | 块设备文件 |
c | 字符设备文件 |
p | 命名管道文件 |
– | 普通文件 |
三、locate
locate 命令其实是 ”find -name” 的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/mlocate,cenos7 的路径),这个数据库中含有本地所有文件信息。
cenos7 上没有 locate,需要手动安装
# 安装包
yum -y install mlocate
# 更新数据库
updatedb
这个数据库每天自动更新一次,所以使用 locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。
# 查看 etc 目录下的脚本
locate /etc/*.sh
/etc/dhcp/dhclient.d/chrony.sh
/etc/dhcp/dhclient.d/ntp.sh
/etc/kernel/postinst.d/51-dracut-rescue-postinst.sh
# 查看 etc 目录下以 a 开头的文件
locate /etc/a
/etc/adjtime
/etc/aliases
/etc/aliases.db
四、which
在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
看一下我的环境变量
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/lib/jdk1.8.0_191/bin:/usr/local/maven/apache-maven-3.6.1/bin
which java
/usr/lib/jdk1.8.0_191/bin/java
which grep
alias grep=’grep –color=auto’
/usr/bin/grep
五、whereis
显示出命令的可执行程序,源文件(如果存在的话)以及 man page 的路径
whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
whereis java
java: /usr/lib/jdk1.8.0_191/bin/java
六、type
查看命令类型,常见的类型有如下几种
命令 | 类型 |
alias | 别名 |
keyword | 关键字,shell 保留字 |
builtin | shell 内置命令 |
file | 外部命令 |
type ls
ls is aliased to `ls –color=auto’、
type cd
cd is a shell builtin
以上就是马哥教育今天为大家分享的关于 Linux 系统中查找命令的区别的文章,希望本篇文章能够对正在从事 Linux 相关工作的小伙伴们有所帮助。想要了解更多 Linux 相关知识记得关注马哥教育官网。最后祝愿小伙伴们工作顺利!
声明:文章来源于网络,侵删!