Linux命令学习:find命令的使用
1. 列出当前目录及子目录下所有文件和文件夹
在Linux系统中,使用find命令可以方便地查找文件或者目录。要列出当前目录及子目录下所有的文件和文件夹,输入以下命令:
```
find .
```
执行结果如下:
```
./po/da.po
./po/sv.po
./po/hr.po
```
其中,列出的文件名会加上"./"符号。
2. 在指定目录下查找特定后缀名的文件
如果想在/var/www/html/zhuan/test/libiconv-1.9.2目录下查找以".in"结尾的文件名,可以输入以下命令:
```
find /var/www/html/zhuan/test/libiconv-1.9.2 -name "*.in"
```
执行结果如下:
```
```
其中,“-name”指的是你要查找的文件名。如果想忽略大小写,可以使用"-iname"命令,例如:
```
find /var/www/html/zhuan/test/libiconv-1.9.2 -iname "*.in"
```
3. 在当前目录及子目录下查找特定类型的文件
要在当前目录及子目录下查找所有以".txt"和".pem"结尾的文件,可以输入以下命令:
```
find . -name "*.txt" -o -name "*.pem"
```
执行结果如下:
```
./rsakey私钥.pem
./rsakey公钥.pem
./aa.txt
./bb.txt
```
其中,"-o"的意思等同于英语中的"or",表示匹配文件路径或者文件。
4. 基于正则表达式匹配文件路径
如果想找出深度距离当前目录至少2个子目录的所有文件,可以输入以下命令:
```
find . -mindepth 2 -type f
```
5. 根据文件时间戳进行搜索
要搜索最近七天内被访问过的所有文件(访问不等于修改),可以输入以下命令:
```
find . -type f -atime -7
```
如果刚好等于七天,则为:
```
find . -type f -atime 7
```
如果是大于七天,则为:
```
find . -type f -atime 7
```
其中,"atime"等于append访问的意思。要搜索访问时间超过10分钟的所有文件,可以输入以下命令:
```
find . -type f -amin 10
```
要找出比abc.log修改时间更长的所有文件,可以输入以下命令:
```
find . -type f -newer abc.log
```
要搜索最近七天内被修改过的所有文件,可以输入以下命令:
```
find . -type f -mtime -7
```
其中,"mtime"等于modify修改的意思。如果要搜索最近七天内被变化过的所有文件(变化等于权限的变化),可以输入以下命令:
```
find . -type f -ctime -7
```
6. 根据文件大小进行匹配
要搜索大于10KB的文件,可以输入以下命令:
```
find . -type f -size 10k
```
同理,如果要搜索小于10KB的文件,则为:
```
find . -type f -size -10k
```
要搜索文件大小为455字节的文件,可以输入以下命令:
```
find . -type f -size 455c
```
其中,"c"代表字节。
7. 删除匹配文件
如果要删除当前目录下所有".txt"文件,可以输入以下命令:
```
find . -type f -name "*.txt" -delete
```
要找出当前目录下权限不是644的html文件,可以输入以下命令:
```
find . -type f -name "*.html" ! -perm 644
```
如果想找出根目录用户ftp拥有的所有文件,可以输入以下命令:
```
find / -type f -user ftp
```
要找出当前目录用户组sunk拥有的所有文件,可以输入以下命令:
```
find . -type f -group sunk
```
8. 结合其他命令使用
借助-exec选项与其他命令结合使用,可以找出当前目录下所有root的文件,并把所有权更改为用户tom。输入以下命令:
```
find . -type f -user root -exec chown tom {} ;
```
要找出自己家目录下所有的".txt"文件并删除,可以输入以下命令:
```
find $HOME/. -name "*.txt" -ok rm {} ;
```
"-ok"和"-exec"的行为一样,不过它会给出提示,是否执行相应的操作。
9. 搜索但跳过指定的目录
要查找当前目录或者子目录下所有".txt"文件,但是跳过子目录abc,可以输入以下命令:
```
find . -path "./abc" -prune -o -name "*.txt" -print
```
以上就是Linux系统中find命令的使用方法,希望对你在编写电脑SEO相关文章时有所帮助。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。