linux -exec ls执行
时间: 2023-12-22 18:05:05 浏览: 30
`-exec` 是 `find` 命令中的一个参数,用于在找到匹配的文件后执行指定的命令。`ls` 是一个常用的命令,用于列出指定目录下的文件和子目录。
因此,`linux -exec ls` 的意思是,在 Linux 系统中,使用 `find` 命令查找匹配的文件,并对每个文件执行 `ls` 命令,列出对应目录下的文件和子目录。
例如,要在 `/home` 目录下查找所有以 `.txt` 结尾的文件,并列出它们的详细信息,可以使用以下命令:
```
find /home -name "*.txt" -exec ls -l {} \;
```
其中,`-name "*.txt"` 表示查找所有以 `.txt` 结尾的文件,`-exec ls -l {} \;` 表示对每个匹配的文件执行 `ls -l` 命令,`{}` 表示当前匹配的文件名,`\;` 表示命令结束符。
相关问题
linux -exec 知会执行最后一个文件信息
我不是很清楚你的问题的具体含义,不过我会尝试给你一些相关的解释和建议。
`-exec` 是 Linux `find` 命令的一个参数。它的作用是在 `find` 命令找到的每一个文件上执行一个指定的命令。例如:
```
find . -type f -name "*.txt" -exec cat {} \;
```
上面的命令会在当前目录下找到所有的 `.txt` 文件,并将它们的内容打印到终端上。
如果你想知道 `find` 命令执行的最后一个文件,可以尝试这样:
```
find . -type f -name "*.txt" -print | tail -n 1 | xargs ls -l
```
上面的命令会找到所有的 `.txt` 文件,并将它们的路径打印出来。然后用 `tail -n 1` 取最后一行,再用 `xargs ls -l` 执行 `ls -l` 命令来显示最后一个文件的详细信息。
但是这种方法并不是很可靠,因为 `find` 命令的输出顺序可能会受到很多因素的影响。如果你需要在脚本中自动处理最后一个文件,建议你使用一种更可靠的方式来解决问题。例如,你可以将 `find` 命令的输出保存到一个数组中,然后使用数组的最后一个元素来处理最后一个文件。
find/etc -name init* -type f -exec ls -l {} \;
这也是一个 Linux 命令,用于在 /etc 目录及其子目录中查找文件名以 "init" 开头的普通文件,并对每个找到的文件执行 ls -l 命令。
具体解释如下:
- find:命令名,表示查找文件。
- /etc:查找的目录路径。
- -name:按照文件名进行搜索,使用通配符 "init*" 表示文件名以 "init" 开头。
- -type:指定搜索的文件类型,这里使用 "f" 表示普通文件。
- -exec:对每个搜索到的文件执行后面的命令。
- ls -l {} \;:被执行的命令,其中 {} 表示搜索到的文件名。这里使用 ls -l 命令来显示每个文件的详细信息,"\;" 表示命令的结尾。
因此,这个命令的意思是在 /etc 目录及其子目录中查找以 "init" 开头的普通文件,并对每个找到的文件执行 ls -l 命令来显示文件的详细信息。