Linux培训
达内IT学院

400-996-5531

Linux系统中查找命令的区别

  • 发布:李立敏
  • 来源: Java识堂
  • 时间:2019-07-25 17:26

今天小编要跟大家分享的文章是关于Linux系统中查找命令的区别。正在从事Linux运维相关工作的小伙伴们一定不会对查找命令陌生。为了帮助大家更好的理解和使用这些命令小编特意为大家带来了这篇文章,让我们一起来看一看吧!

一、man

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

man page常用的部分如下

块名

介绍

NAME

命令的名称和简要介绍

SYNOPSIS

命令的基本格式

DESCRIPTION

命令功能的概要介绍

OPTIONS

man命令最基本的部分,命令的各种选项,以及对选项的简要介绍


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保留字

builtin

shell内置命令

file

外部命令


type ls
ls is aliased to `ls --color=auto'、
type cd
cd is a shell builtin

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

【免责声明:本文图片及文字信息均由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除。】

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:运维岗位未来的职业发展有哪些?
下一篇:Linux运维职业的发展现状如何?运维人员需要具备哪些技能?

运维培训班出来好找活吗?

新能源运维工程师是干什么的

云计算就业岗位有哪些?

学物联网工程好就业吗?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省