find /-type d -perm -744 ! -perm 744
时间: 2024-05-10 10:18:30 浏览: 9
这个命令的意思是查找根目录下的所有权限为744的目录,并排除权限为744的目录。但是这个命令有一个问题,因为根目录的权限为755,所以根目录下的所有目录都满足条件,也就是说这个命令会返回所有目录。
如果你想查找其他目录,请修改命令中的路径。
正确的命令应该是:
```
find /path/to/search -type d ! -perm 744 -perm -u=rwx,g=rx,o=rx
```
这个命令会查找路径为 /path/to/search 的目录中,权限不为744,但用户、用户组和其他用户都具有读、写、执行权限的目录。
相关问题
find / -type f -perm -4000 的每个参数都是什么意思?find指令都有哪些参数,如何使用?
好的,我明白了您的问题。首先,让我解释一下命令`find / -type f -perm -4000`的每个参数的含义:
- `find`:这是一个用于在文件系统中查找文件和目录的命令。
- `/`:这是要搜索的起始目录。在此示例中,它是根目录。
- `-type f`:这个参数告诉`find`命令只搜索普通文件,而不是目录、链接、设备文件等。
- `-perm -4000`:这个参数告诉`find`命令只搜索那些设置了“setuid”位的文件。setuid是一个文件权限位,它允许用户以文件所有者的权限执行文件。
下面是一些常用的`find`命令选项:
- `-name`:按名称搜索文件。
- `-type`:按文件类型搜索文件。
- `-mtime`:按文件修改时间搜索文件。
- `-size`:按文件大小搜索文件。
- `-exec`:在匹配的文件上执行命令。
例如,要在当前目录下查找所有以`.txt`结尾的文件,可以使用以下命令:
```
find . -type f -name "*.txt"
```
这将在当前目录(`.`)及其子目录中搜索所有类型为普通文件(`-type f`)且名称以`.txt`结尾的文件。
解释以下命令的功能。 sh demo.sh (注:如果命令运行出来的文件夹为空,则直接运行./demo.sh,若报权限不够,则直接使用chmod 777给文件添加权限) ls -ilr ./tstdir find ./tstdir -maxdepth 2 -name "*.txt" find ./tstdir -links 2 find ./tstdir -gid $UID find ./tstdir -type l find ./tstdir -size 1k find ./tstdir -name "t*" -perm -644 find ./tstdir -type f -o -type l find ./tstdir -type f -o -type l -exec ls -l {} \; find ./tstdir ! -name "*.txt"
这些命令的功能分别是:
- sh demo.sh:运行名为 demo.sh 的脚本文件。
- ls -ilr ./tstdir:列出目录 tstdir 中的所有文件和子目录,并显示它们的 inode 号、权限、所有者、大小、日期和名称等信息,以逆序排列。
- find ./tstdir -maxdepth 2 -name "*.txt":在目录 tstdir 中查找所有深度为 2 的子目录和文件,匹配名字为 *.txt 的文件,并列出它们的路径。
- find ./tstdir -links 2:在目录 tstdir 中查找所有硬链接数为 2 的文件或目录,并列出它们的路径。
- find ./tstdir -gid $UID:在目录 tstdir 中查找所有属于当前用户组的文件或目录,并列出它们的路径。
- find ./tstdir -type l:在目录 tstdir 中查找所有符号链接文件,并列出它们的路径。
- find ./tstdir -size 1k:在目录 tstdir 中查找所有大小为 1KB 的文件,并列出它们的路径。
- find ./tstdir -name "t*" -perm -644:在目录 tstdir 中查找所有文件名以 t 开头且权限为 644 的文件,并列出它们的路径。
- find ./tstdir -type f -o -type l:在目录 tstdir 中查找所有普通文件和符号链接文件,并列出它们的路径。
- find ./tstdir -type f -o -type l -exec ls -l {} \;:在目录 tstdir 中查找所有普通文件和符号链接文件,并执行 ls -l 命令以列出它们的详细信息。
- find ./tstdir ! -name "*.txt":在目录 tstdir 中查找所有不以 .txt 结尾的文件或目录,并列出它们的路径。