linux怎么查找文件夹位置?我们一起来了解一下吧。
1、打开linux系统,在linux的桌面的空白处右击。
2、在弹出的下拉选项里,点击打开终端。
3、输入find / -name+文件夹名,回车运行,即可显示文件所在路径。
4、输入locate+文件夹名,可以找到所有包含此文件名的文件。
Linux系统管理(二):文件查找命令find
文件查找命令find有些时候,我们可能会忘了某个文件所在的位置,此时就需要通过find来查找。
还有些时候,我想要找到,某个目录下,所有小于1k的文件。……
还还还有些时候,我们想找到,某个目录下,所有以.sh结尾的脚本。
Linux系统中的find命令在查找文件时非常有用而且方便。
find命令的语法
命令 路径 选项(按xx查找) 表达式 动作find[path...][options] [expression][action]查找 地区 小姐姐 18 约...find /etc/ -name "*conf*" -a -name "*config*"
示例:
#按文件名查找-name-iname 忽略大小写如[root@localhost ~]# touch /etc/sysconfig/network-scripts/{ifcfg-eth1,IFCFG-ETH1} 创建文件[root@localhost ~]# find /etc/ -name "ifcfg-eth1" 查找/etc目录下包含ifcfg-eth0名称的文件 /etc/sysconfig/network-scripts/ifcfg-eth1[root@localhost ~]# find /etc/ -iname "ifcfg-eth1" -i 忽略大小写/etc/sysconfig/network-scripts/ifcfg-eth1/etc/sysconfig/network-scripts/IFCFG-ETH1[root@localhost ~]# find /etc/ -iname "ifcfg-eth*" * 查找所有名字以ifcfg-eth开头的文件/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1/etc/sysconfig/network-scripts/IFCFG-ETH1[root@localhost ~]# find / -name "xxx*"/root/xxx/root/xxx1/var/spool/mail/xxx/tmp/xxx1/home/xxx[root@localhost ~]# find / -name *"xxx*" 两个* 查找/下所有名字包含xxx的文件/root/xxx/root/xxx1/var/spool/mail/xxx/tmp/xxx1/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/crypto/qat/qat_c3xxx/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/crypto/qat/qat_c3xxx/qat_c3xxx.ko.xz/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/crypto/qat/qat_c3xxxvf/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/crypto/qat/qat_c3xxxvf/qat_c3xxxvf.ko.xz......
# 按照文件类型找find 路径 -type (f d l等)-typef 普通文件d 目录l 链接b 块设备文件 就那些磁盘 很少c 字符设备文件s 安全套接字文件p 管道文件等等如:find / -type ffind /etc -type f-a 和 并且-o 或者!取反(非)[root@localhost ~]# find / -type d -name 'conf' 查找根下d类型,名字conf的文件/proc/sys/net/ipv4/conf/proc/sys/net/ipv6/conf[root@localhost ~]# find /etc/ -name "*conf*" -a -name "*config*" /etc下 名字有这两种的/etc/chkconfig.d/etc/systemd/system/multi-user.target.wants/rhel-configure.service/etc/pki/nss-legacy/nss-rhel7.config/etc/pm/config.d......[root@localhost ~]# find /etc/ -name "*conf*" -o -name "*config*" 比上面出来多得多/etc/resolv.conf/etc/chkconfig.d/etc/libaudit.conf/etc/security/pwquality.conf/etc/security/access.conf/etc/security/chroot.conf......[root@localhost ~]# find /etc/ -type d ! -name "conf" /etc/下名字不带conf的目录 出来一大堆......[root@localhost ~]# find /etc -type f ! -name "*config*" /etc下所有不带"*config*"的文件
# 按文件大小找find 路径 -size ±/number 大于- 小于number 等于[root@localhost ~]# find /root -size 1k 查找/root下1k的文件/root/root/.bash_logout/root/.bash_proFile...#看大小[root@localhost ~]# du -sh /root/.bash_logout 由于1k占用1个block,出来的是4k。(计算机最小单位1个block是4k)4.0K/root/.bash_logout 搜11k的话 出来是12k 所以用 -多一些[root@localhost ~]# find /etc -size 5M 查找/etc下大于5M的文件/etc/udev/hwdb.bin[root@localhost ~]# ll -h /etc/udev/hwdb.bin 看一下大小-r--r--r--. 1 root root 7.6M Aug 17 15:33 /etc/udev/hwdb.bin
小练习
# 在/opt下建1000个文件 然后一次全部删掉 要求用find命令 [root@localhost opt]# touch {1..1000}find /opt -size -1k |xargs rm -frfind -name '{1..1000}' |xargs rm -fr {1..1000} 前面的其实没用 认的后面的 ~~~~~
# 按文件的用户查找find 路径 选项 xxx-user-group-nouser-nogroup[root@localhost ~]# find /home -user xxx/home/xxx/home/xxx/.bash_logout/home/xxx/.bash_profile/home/xxx/.bashrc/home/xxx/.bash_history/home/xxx/test1[root@localhost ~]# cd /home[root@localhost home]# lltotal 0drwx------. 2 xxx xxx 96 Aug 25 12:14 xxxdrwx------. 2 zls students 62 Aug 18 11:34 zls[root@localhost home]# find /home -user xxx -group xxx/home/xxx/home/xxx/.bash_logout/home/xxx/.bash_profile/home/xxx/.bashrc/home/xxx/.bash_history/home/xxx/test1[root@localhost home]# find -user xxx -group xxx./xxx./xxx/.bash_logout./xxx/.bash_profile./xxx/.bashrc./xxx/.bash_history./xxx/test1
# 按时间查找stat里面看下[root@localhost opt]# stat /opt/1000.txtFile: ‘/opt/1000.txt’Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 803h/2051dInode: 17159663 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:usr_t:s0Access: 2022-08-25 11:24:34.827131101 0800 # Access:接近、进入、访问Modify: 2022-08-25 11:24:34.827131101 0800Change: 2022-08-25 11:24:34.827131101 0800-atime 文件访问时间-mtime 文件内容创建、修改时间-ctime 文件属性修改时间±/=Num7 查找第7天的文件 7 查找7天以前的文件(不包含今天,不包含第7天)-7 查找最近7天的文件,不建议使用(包含当天的文件)如:# find /opt -mtime -1
# 按文件的权限查找find 路径 -perm (权限值)精确匹配find / -perm 022模糊匹配 包含-后面的对应权限find / -perm -022find . -perm 644 -ls
# 按照深度查找find 路径 -maxdepth 10000 显示全部//打印目录的时候,只打印1级目录(按深度查找) 例[root@db04 ~]# find /home/ -maxdepth 1 -type d -user zls
find处理动作
当查找到一个文件后, 需要对文件进行如何处理, 默认动作 -print动作 含义-print 打印查找到的内容(默认)-ls 以长格式显示找到东西的详细信息-delete 删除查找到的文件(仅能删除空目录)-ok 后面跟自定义shell命令(会提示是否操作)-exec 后面跟自定义shell命令(标准写法-exec \;)-exec { \ ;