猜猜我在哪里-linux查找命令
find: # 这是一个很强大的查找命令
findfs: # 依据卷标(LABEL)和UUID查找文件系统所对应的设备文件
locate: # 是find -name的另一种写法,但是要比后者快得多
slocate: # 与locate类似
which: # 在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
whereis: # 定位命令的二进制程序、源代码文件和man手册页等相关文件的路径
pwd: # 显示当前工作目录的绝对路径
pwdx: # 通过pid找程序所在目录的绝对路径
find
语法格式:
find <参数> <路径> <查找和搜索范围>
常用参数:
-name: # 按照名称查找
-iname: # 同上,但是不区分大小写
-size: # 按照大小查找
-user: # 按照所属用户查找
-type: # 按照类型查找
实例:
KnowledgeIsPower:~ # find /etc/ -name "*.service" # 查找/etc目录下所有的.service后缀的文件
/etc/zypp/services.d/opensuse-non-oss.service
.......... # 有很多,就忽略了
KnowledgeIsPower:~ # find /etc/ -size -1M # 查找/etc目录下所有小于1M的文件
/etc/skel/.bash_history
.......... # 有很多,就忽略了
KnowledgeIsPower:~ # find . -type f -atime +7 # 查找当前目录下,超过七天内呗访问过的所有文件
./.gnupg/secring.gpg
.......... # 有很多,就忽略了
KnowledgeIsPower:~ # find . -type f -amin -10 # 查找当前目录下,十分钟内被访问过的所有文件
./.Xauthority
进阶用法:
'find配合-exec可以使一些操作一步到位'
'-exec后面可以加上一些操作,比如cp,mv等等;{} 这里需要填写操作后的路径,如果是rm可以为空 \;'
1: 创建了一个测试环境,目录结构如下
test/
├── new
└── old
└── test.txt
2: KnowledgeIsPower:~ # find test/old -name test.txt -exec mv {} test/new/ \; # 查找test/old目录下的test.txt,然后将他复制到test/new目录下
test
├── new
│ └── test.txt # 操作成功
└── old
3: KnowledgeIsPower:~ # find test/ -name test.txt -exec rm -f {} \; # 查找test目录下的test.txt文件,并将他删除
test/
├── new # 成功删除
└── old
'find 配合 exec可以达到很多的效果,可以自己尝试,但是如果要用到rm和mv的时候,一定要注意自己的查找目录和操作目录,mv命令还能拯救,但是rm命令的操作是不可逆的,不要错删文件,一定要慎重'
findfs
语法格式:
findfs <参数>
实例:
KnowledgeIsPower:~ # findfs UUID=7f8d169e-5356-4ac2-b019-76369f24ceff
/dev/sda2
KnowledgeIsPower:~ # findfs LABEL="SLE-12-SP3-Server-DVD-x86_640473"
/dev/sr0
扩展:
'UUID和LABEL怎么来的?让我来告诉你'
KnowledgeIsPower:~ # blkid -s UUID
KnowledgeIsPower:~ # blkid -s LABEL
'其实,这俩命令查找出来的内容是一样的,小问号,你是不是有好多朋友'
locate
语法格式:
locate <参数> <文件>
实例:
KnowledgeIsPower:~ # locate /etc/lib # 查询/etc目录下以lb开头的文件和目录
/etc/libaudit.conf
/etc/libnl
/etc/libuser.conf
/etc/libnl/classid
/etc/libnl/pktloc
KnowledgeIsPower:~ # locate locate # 查找和locate相关的所有文件,内容比较长,就省略一部分了
/etc/cron.daily/mlocate
.........
/var/lib/mlocate/mlocate.db.HFErma
扩展:
'suse发行版没有自带locate命令,貌似需要yast的方式才能安装,就不尝试了,其实find好用,就是命令长度比locate要长'
'centos发行版也是不自带locate命令,只需要yum -y install mlocate即可,是base源自带的,第一次使用的时候,需要先updatedb,更新一下locate的库才可以查询,建议使用locate之前,都先updatedb一下'
slocate
语法格式:
sloctae <参数> <目录>
常用参数:
-d: # 指定数据库所在的目录
-u: # 更新slocate数据库
实例: slocate fdisk # 显示文件名中含有fdisk 关键字的文件的路径信息
/root/cfdisk
/root/fdisk
/root/sfdisk
/usr/include/grub/ieee1275/ofdisk.h
/usr/share/doc/util-Linux/README.cfdisk
/usr/share/doc/util-Linux/README.fdisk.gz
/usr/share/doc/util-Linux/examples/sfdisk.examples.gz
扩展:
'slocate貌似是fedora发行版才会有的命令,suse和centos这两个发行版,自身的源是不带slocate这个命令的,本菜13平时基本上还是用find偏多'
which
语法格式:
which <参数> <文件>
实例:
KnowledgeIsPower:~ # which ps
/usr/bin/ps
KnowledgeIsPower:~ # which cd # 因为cd是bash内建命令,which只能去查找PATH变量的目录
which: no cd in (/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/games)
扩展:
KnowledgeIsPower:~ # echo $PATH
/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
'可以看到,PATH变量包含的目录,和终端回显的目录是一致的,这个是which的一个局限性'
whereis
语法格式:
whereis <参数> <命令名>
常用参数:
-b: # 查找二进制程序或者命令
-B: # 从指定目录下查找二进制程序或者命令
-m: # 查找man手册文件
-M: # 从指定目录下,查找man手册文件
-s: # 只查找源代码文件
-S: # 从指定目录下,查找源代码文件
实例:
KnowledgeIsPower:~ # whereis pwd # 查找pwd所在的目录
pwd: /usr/bin/pwd /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz /usr/share/man/man1p/pwd.1p.gz /usr/share/man/mann/pwd.n.gz
KnowledgeIsPower:~ # whereis -b pwd # 查找pwd二进制程序或者命令所在的目录
pwd: /usr/bin/pwd /bin/pwd /usr/include/pwd.h
KnowledgeIsPower:~ # whereis -m pwd # 查找pwd的man手册文件
pwd: /usr/share/man/man1/pwd.1.gz /usr/share/man/man1p/pwd.1p.gz /usr/share/man/mann/pwd.n.gz
pwd
语法格式:
pwd
实例:
KnowledgeIsPower:/usr/local # pwd
/usr/local
扩展:
$(cd `dirname $0`; pwd) '这条命令只有在shell脚本中才会生效'
解释:
dirname $0 # 取得当前执行的脚本文件的父目录
'所以,这条命令的意思就是切换到当前执行的脚本文件所在的父目录,并回显到终端'
pwdx
语法格式:
pwdx <pid号>
实例:
KnowledgeIsPower:~ # pwdx 1482
1482: /var/spool/postfix
猜猜我在哪里-linux查找命令的更多相关文章
- linux查找命令(find)
linux查找命令(find) 命令格式: find [目录] [选项] [选项的条件] 选项: -name:文件名称查找 -size:文件的大小来查找 -perm:文件的权限来查找 ①根据文件的名称 ...
- Linux查找命令
最近,我在学习Linux,下面是一些笔记. 使用电脑的时候,经常需要查找文件. 在Linux中,有很多方法可以做到这一点.国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条.大多数程序 ...
- Linux查找命令:grep,awk,sed
grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...
- linux查找命令find
-1 linux的查找命令有两个: locate find locate:有一个索引库,故速度快,但是新加入的一般不再索引库中,故可能无法查到 find:搜索速度慢,但是功能及其强大,可以追加命令动作 ...
- Linux 查找命令汇总
linux下查找命令挺多,本文以列表方式说明which.whereis.locate.find命令的区别: 命令 概述 语法 示例 适用OS 搜索结果 which 在PATH变量指定的路径中,搜索某个 ...
- Linux查找命令对比(find、locate、whereis、which、type、grep)
//太长不看版find查找磁盘空间,相较于locate和whereis速度较慢.find和locate的查找单位为文件或者目录,locate其实是find -name的另一种写法.locate和whe ...
- Linux查找命令与find命令详解
一.文件查找之locate命令 locate :非实时的,查找时根据全系统文件数据库进行的,模糊查找,update 手动生成文件数据库速度快 依赖于updatedb数据库 1 2 3 4 5 6 7 ...
- losbyday Linux查找命令
PS:第一次发表博客,试一下水,晚一点修改文本格式 linux下的命令都存放在/bin /sbin /usr/bin /usr/sbin路径下等echo $PATH which 是用来查询命令存放的路 ...
- linux 查找命令
查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print
随机推荐
- 第10组 Beta冲刺 (2/5)
1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14015412.html ·作业博客:https://edu.cnblogs.co ...
- Swagger的应用
一.介绍 一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 框架. 二.依赖 <dependency> <groupId>io.springf ...
- 一文搞懂Flink Window机制
Windows是处理无线数据流的核心,它将流分割成有限大小的桶(buckets),并在其上执行各种计算. 窗口化的Flink程序的结构通常如下,有分组流(keyed streams)和无分组流(non ...
- leetcode 347. 前 K 个高频元素
问题描述 给定一个非空的整数数组,返回其中出现频率前 k 高的元素. 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums ...
- [STM32F10x] 利用定时器测量频率
硬件:STM32F103C8T6 平台:ARM-MDk V5.11 原理 利用STM32F10x的定时器的捕获(Capture)单元测量输入信号的频率. 基本原理是通过两次捕获达到的计数器的差值,来计 ...
- 安全检测服务如何帮助社交类App提升应用自身和用户个人安全
社交类App如今人手必备,且大部分功能.业务活动和产品价值均与用户紧密联系,流量的多少甚至影响着一款应用的生命周期.因此,开发者们开始关注内容合规.治理黑产.防盗防爬等应用安全方面的能力.识别虚假流量 ...
- golang中的并发安全和锁
1. 并发安全 package main import ( "fmt" "sync" ) var ( sum int wg sync.WaitGroup ) f ...
- vscode自定义代码片段,自定义注释片段(动态时间)
下载vscode 一.打开vscode,点击左下角设置图标. 二.点击用户代码片段 三.点击新建全局代码片段文件 四.输入自定义代码片段配置文件名,例如:vue.json 五.进行代码片段配置示例如下 ...
- 005 Linux 命令三剑客之-sed
grep:数据查找定位 awk:数据切片,数据格式化,功能最复杂 sed:数据修改 01 Linux 命令三剑客? 三剑客各有所长,和锅锅一一搞起就是了! sed:擅长数据修改. grep:擅长数据查 ...
- Git提示“warning: LF will be replaced by CRLF”
感谢原文作者:萌新李同学(李俊德-大连理工大学) 原文链接:https://blog.csdn.net/wq6ylg08/article/details/88761581 问题描述 windows平台 ...