Linux fing cd 查找文件/文件夹并进入目录命令
查找文件|文件夹并进入目录命令:cd $()
[root@localhost /]# cd $(dirname "`find / -name 'ifcfg-ens33'`") //查找ifcfg-ens33文件并进入该文件所在目录
[root@localhost network-scripts]#
[root@localhost /]# mkdir -p /etc/sysconfig/network-scripts/kings-dev
[root@localhost ~]# cd $(dirname "`find / -name 'kings-dev'`") //查找kings-dev文件夹并进入该文件夹上层目录
[root@localhost network-scripts]#
[root@localhost ~]# cd $(find / -name 'kings-dev') //查找kings-dev文件夹并进入该文件夹目录
[root@localhost kings-dev]#
[root@localhost src]# du -alh
1.9M ./redis-5.0.5.tar.gz
1.9M .
[root@localhost src]# cd $(dirname `tar -zxvf redis-5.0.5.tar.gz`) //解压redis-5.0.5.tar.gz进入解压目录
[root@localhost redis-5.0.5]#
总结
cd $(dirname "`find / -name '*file or dirname'`") //查找xxxx文件并进入该文件所在目录或文件夹并进入该文件夹上层目录
cd $(find / -name 'dirname') //查找xxxx文件夹并进入该文件夹目录
cd $(dirname "`tar -zxvf xxxx.tar.gz`") //方式1:解压源文件进入解压目录通用
cd $(dirname `tar -zxvf xxxx.tar.gz`) //方式2:解压源文件进入解压目录通用
cd $(dirname "$(tar -zxvf xxxx.tar.gz)") //方式1-2:解压源文件进入解压目录通用
cd $(dirname $(tar -zxvf xxxxtar.gz)) //方式2-2:解压源文件进入解压目录通用
[root@localhost src]# cd $(dirname "`tar -zxvf apache-tomcat-8.5.46.tar.gz`")
[root@localhost conf]# pwd
/usr/local/src/apache-tomcat-8.5.46/conf
[root@localhost src]# cd $(dirname `tar -zxvf apache-tomcat-8.5.46.tar.gz`)
[root@localhost apache-tomcat-8.5.46]# pwd
/usr/local/src/apache-tomcat-8.5.46
[root@localhost src]# cd $(dirname "`tar -zxvf redis-5.0.5.tar.gz`")
[root@localhost redis-5.0.5]# pwd
/usr/local/src/redis-5.0.5
[root@localhost src]# cd $(dirname "`tar -zxvf nginx-1.17.3.tar.gz`")
[root@localhost nginx-1.17.3]# pwd
/usr/local/src/nginx-1.17.3
[root@localhost src]# cd $(dirname "`tar -zxvf libzip-1.5.2.tar.gz`")
[root@localhost libzip-1.5.2]# pwd
/usr/local/src/libzip-1.5.2
[root@localhost src]# tar -zxvf nginx-1.17.3.tar.gz ;cd `basename -s .tar.gz nginx-1.17.3.tar.gz`
[root@localhost nginx-1.17.3]# pwd
/usr/local/src/nginx-1.17.3
[root@localhost src]# cd $(dirname "$(tar -zxvf apache-tomcat-8.5.46.tar.gz)")
[root@localhost conf]# pwd
/usr/local/src/apache-tomcat-8.5.46/conf
[root@localhost src]# cd $(dirname "$(tar -zxvf redis-5.0.5.tar.gz)")
[root@localhost redis-5.0.5]# pwd
/usr/local/src/redis-5.0.5
[root@localhost src]# cd $(dirname $(tar -zxvf apache-tomcat-8.5.46.tar.gz))
[root@localhost apache-tomcat-8.5.46]# pwd
/usr/local/src/apache-tomcat-8.5.46
排除Download.sh和Download_LNMP.sh文件进行统计当前目录文件数:ls -lh;find ./*|grep -v .'file1\|file2\|file3\|...\|...\|'|wc -l [root@localhost src]# ls -lh;find ./*|grep -v 'Down*'|wc -l total 120M -rw-r--r-- 1 root root 7.5M Oct 8 04:14 boost_1_71_0.tar.gz -rw-r--r-- 1 root root 8.9M Oct 2 10:45 cmake-3.15.4.tar.gz -rw-r--r-- 1 root root 1.1K Oct 8 03:57 Download_LNMP.txt -rw-r--r-- 1 root root 1.2K Oct 8 03:56 Download.sh -rw-r--r-- 1 root root 3.3M Mar 15 2019 freetype-2.10.0.tar.gz -rw-r--r-- 1 root root 1005K Mar 27 2018 jpegsrc.v9c.tar.gz -rw-r--r-- 1 root root 3.2M Aug 30 2017 libgd-2.2.5.tar.gz -rw-r--r-- 1 root root 1.3M Feb 19 2007 libmcrypt-2.5.8.tar.gz -rw-r--r-- 1 root root 1.5M Oct 8 03:58 libpng-1.6.37.tar.gz -rw-r--r-- 1 root root 47M Oct 8 04:37 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -rw-r--r-- 1 root root 1009K Aug 13 13:01 nginx-1.16.1.tar.gz -rw-r--r-- 1 root root 7.0M Oct 8 04:25 openssl-1.1.1d.tar.gz -rw-r--r-- 1 root root 2.0M Oct 8 03:57 pcre-8.43.tar.gz -rw-r--r-- 1 root root 11M Oct 8 04:04 php-7.3.10.tar.gz -rw-r--r-- 1 root root 1.8M Oct 8 03:58 t1lib-5.1.2.tar.gz -rw-r--r-- 1 root root 2.3M Nov 10 2018 tiff-4.0.10.tar.gz -rw-r--r-- 1 root root 2.8M Oct 8 03:59 v1.8.1 -rw-r--r-- 1 root root 1.5M Aug 11 2014 yasm-1.3.0.tar.gz -rw-r--r-- 1 root root 594K Jan 15 2017 zlib-1.2.11.tar.gz 17 [root@localhost src]# ls -lh;find ./*|grep -v 'D*.sh\|D*.txt'|wc -l total 120M -rw-r--r-- 1 root root 7.5M Oct 8 04:14 boost_1_71_0.tar.gz -rw-r--r-- 1 root root 8.9M Oct 2 10:45 cmake-3.15.4.tar.gz -rw-r--r-- 1 root root 1.1K Oct 8 03:57 Download_LNMP.txt -rw-r--r-- 1 root root 1.2K Oct 8 03:56 Download.sh -rw-r--r-- 1 root root 3.3M Mar 15 2019 freetype-2.10.0.tar.gz -rw-r--r-- 1 root root 1005K Mar 27 2018 jpegsrc.v9c.tar.gz -rw-r--r-- 1 root root 3.2M Aug 30 2017 libgd-2.2.5.tar.gz -rw-r--r-- 1 root root 1.3M Feb 19 2007 libmcrypt-2.5.8.tar.gz -rw-r--r-- 1 root root 1.5M Oct 8 03:58 libpng-1.6.37.tar.gz -rw-r--r-- 1 root root 47M Oct 8 04:37 mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -rw-r--r-- 1 root root 1009K Aug 13 13:01 nginx-1.16.1.tar.gz -rw-r--r-- 1 root root 7.0M Oct 8 04:25 openssl-1.1.1d.tar.gz -rw-r--r-- 1 root root 2.0M Oct 8 03:57 pcre-8.43.tar.gz -rw-r--r-- 1 root root 11M Oct 8 04:04 php-7.3.10.tar.gz -rw-r--r-- 1 root root 1.8M Oct 8 03:58 t1lib-5.1.2.tar.gz -rw-r--r-- 1 root root 2.3M Nov 10 2018 tiff-4.0.10.tar.gz -rw-r--r-- 1 root root 2.8M Oct 8 03:59 v1.8.1 -rw-r--r-- 1 root root 1.5M Aug 11 2014 yasm-1.3.0.tar.gz -rw-r--r-- 1 root root 594K Jan 15 2017 zlib-1.2.11.tar.gz 17
-exec CMD:正在搜索的文件符合以上条件,并且返回0作为成功执行命令的退出状态。 -ok CMD:它与-exec相同,除了首先提示用户。 -inum N:搜索索引号为“ N”的文件。 -links N:搜索带有“ N”个链接的文件。 -name demo:搜索“ demo”指定的文件。 -newer file:搜索在“文件”之后修改/创建的文件。 -perm octal:如果权限为“八进制”,则搜索文件。 -print:显示使用其余条件找到的文件的路径名。 -empty:搜索空文件和目录。 -size + N / -N:搜索“ N”个块的文件;“ N”后跟“ c”可用于测量字符大小;'+ N'表示大小>'N'个块,'-N'表示大小<'N'个块。 -用户名:搜索由用户名或ID“名称”拥有的文件。 \(expr \):如果'expr'为true,则为true; 用于与OR或AND组合的分组条件。 !expr:如果'expr'为假,则为true。 Find是Unix(或Linux)的功能强大的实用程序之一,用于在目录层次结构中搜索文件。find命令的语法是 查找 [路径名] [条件] 1.如何运行最后执行的find命令? !find 这将执行最后一个find命令。它还在终端上显示最后执行的find命令以及结果。 2.如何使用名称查找文件? find -name "sum.java" ./bkp/sum.java ./sum.java 这将在当前目录和子目录中找到所有名称为“ sum.java”的文件。 3.如何使用名称和忽略大小写查找文件? find -iname "sum.java" ./SUM.java ./bkp/sum.java ./sum.java 这将查找名称为“ sum.java”的所有文件,而忽略当前目录和子目录中的大小写。 4.如何仅在当前目录中查找文件? find -maxdepth 1 -name "sum.java" ./sum.java 这将仅在当前目录中找到文件“ sum.java” 5.如何查找名称中包含特定单词的文件? find -name "*java*" ./SUM.java ./bkp/sum.java ./sum.java ./multiply.java 它显示了文件名 6.中所有带有单词“ java”的文件。如何在特定目录中查找文件? find /etc -name "*java*" 这将在/ etc目录中的文件名中查找带有“ java”的文件。 7.如何查找名称不是“ sum.java”的文件? find -not -name "sum.java" . ./SUM.java ./bkp ./multiply.java 这就像反转比赛一样。它将打印除给定文件“ sum.java”以外的所有文件。 8.如何将文件搜索限制为特定目录? find -name "sum.java" ./tmp/sum.java ./bkp/var/tmp/files/sum.java ./bkp/var/tmp/sum.java ./bkp/var/sum.java ./bkp/sum.java ./sum.java 您可以在这里看到find命令在当前目录和子目录中显示了所有名称为“ sum.java”的文件。 a.如何打印当前目录中的文件并向下一级打印到当前目录? find -maxdepth 2 -name "sum.java" ./tmp/sum.java ./bkp/sum.java ./sum.java b.如何打印当前目录中的文件以及向下两级打印到当前目录? find -maxdepth 3 -name "sum.java" ./tmp/sum.java ./bkp/var/sum.java ./bkp/sum.java ./sum.java c.如何在1级和4级之间的子目录中打印文件? find -mindepth 2 -maxdepth 5 -name "sum.java" ./tmp/sum.java ./bkp/var/tmp/files/sum.java ./bkp/var/tmp/sum.java ./bkp/var/sum.java ./bkp/sum.java 9.如何在目录中查找空文件? find . -maxdepth 1 -empty ./empty_file 10.如何在当前目录和子目录中查找最大的文件 find . -type f -exec ls -s {} \; | sort -n -r | head -1 查找命令“查找。-type f -exec ls -s {} \;” 将列出所有文件以及文件的大小。然后,sort命令将根据大小对文件进行排序。head命令将仅从sort输出中选择第一行。 11.如何在当前目录和子目录中查找最小的文件 find . -type f -exec ls -s {} \; | sort -n -r | tail -1 使用find的另一种方法是 find . -type f -exec ls -s {} \; | sort -n | head -1 12.如何根据文件类型查找文件? a.查找套接字文件 find . -type s b.查找目录 find . -type d C.查找隐藏目录 find -type d -name ".*" d.查找常规文件 find . -type f e.查找隐藏文件 find . -type f -name ".*" 13.如何根据大小查找文件? a.查找大小恰好为10M的文件 find . -size 10M B.查找大于10M的文件 find . -size +10M C.查找小于10M的文件 find . -size -10M 14.如何查找在给定文件修改后被修改的文件。 find -newer "sum.java" 15.这将显示在文件“ sum.java”之后修改的所有文件。15 find -anewer "sum.java" 16.显示修改给定文件后更改的文件。 find -cnewer "sum.java" 17.如何根据文件权限查找文件? find . -perm 777 这将显示具有读取,写入和执行权限的文件。要了解文件和目录的权限,请使用命令“ ls -l”。 18.查找在30分钟内修改的文件。 find . -mmin -30 19.查找在1天内修改的文件。 find . -mtime -1 20. 30分钟后如何找到被修改的文件 find . -not -mmin -30 21.如何找到1天后修改的文件。 find . -not -mtime -1 22.打印在1小时内访问的文件。 find . -amin -60 23.打印在1天内访问的文件。 find . -atime -1 24.显示在2小时内更改的文件。 find . -cmin -120 25.显示2天内更改的文件。 find . -ctime -2 26.如何查找在两个文件之间创建的文件。 find . -cnewer f1 -and ! -cnewer f2 到目前为止,我们仅找到文件并显示在终端上。现在,我们将看到如何对文件执行一些操作。 1.如何查找包含名称“ java”的文件的权限? find -name "*java*"|xargs ls -l 替代方法是 find -name "*java*" -exec ls -l {} \; 2.查找其中名称为“ java”的文件,然后仅显示其中包含“类”字的文件? find -name "*java*" -exec grep -H class {} \; 3.如何删除包含名称“ java”的文件。 find -name "*java*" -exec rm -r {} \; 参考连接: https://www.folkstalk.com/2011/12/101-examples-of-using-find-command-in.html