阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux系统中查找命令的区别

147次阅读
没有评论

共计 2291 个字符,预计需要花费 6 分钟才能阅读完成。

今天马哥教育要跟大家分享的文章是关于 Linux 系统中查找命令的区别。正在从事 Linux 运维 相关工作的小伙伴们一定不会对查找命令陌生。Linux 入门 新手和正在 Linux 学习的小伙伴快来看一看吧,希望能够对大家有所帮助!

一、man

学习 Linux 命令,就得会看帮助文档,不然选项太多,根本记不住。常用的帮助文档命令有 man,info,–help。一般用 man 比较多,比 help 命令细,比 info 命令简单。输入 man 命令,即可进入 man page(手册页面)。

man page 常用的部分如下

块名介绍
NAME命令的名称和简要介绍
SYNOPSIS命令的基本格式
DESCRIPTION命令功能的概要介绍
OPTIONSman 命令最基本的部分,命令的各种选项,以及对选项的简要介绍

man java

Java 命令的基本格式如下

Linux 系统中查找命令的区别

Java 命令的选项

Linux 系统中查找命令的区别

可以看到 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 保留字
builtinshell 内置命令
file外部命令

type ls
ls is aliased to `ls –color=auto’、
type cd
cd is a shell builtin

以上就是马哥教育今天为大家分享的关于 Linux 系统中查找命令的区别的文章,希望本篇文章能够对正在从事 Linux 相关工作的小伙伴们有所帮助。想要了解更多 Linux 相关知识记得关注马哥教育官网。最后祝愿小伙伴们工作顺利!

声明:文章来源于网络,侵删!

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计2291字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中