find 是最常用和最强大的命令,实时遍历磁盘文件
find命令的基本语法如下
find [查找目录] [查找条件] [查找完成后的操作]
查找条件相当多,名字,类型,权限,用户,修改时间,大小linux命令,举几个例子
#当前目录下(含子目录)以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
文件类型有如下几种
字符解释
目录
符号链接(指向另一个文件)
套接字文件
块设备文件
字符设备文件
命名管道文件
普通文件
locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/mlocatelinux命令,cenos7的路径),这个数据库中含有本地所有文件信息。
cenos7上没有locate,需要手动安装
/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内置命令
外部命令
ls is aliased to `ls --color=auto'、
type cd
cd is a shell builtin
●编号774,输入编号直达本文
运维
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。