Иногда я вижу следующую команду:
find . -name * -exec ls -a {} \;
Меня попросили выполнить это.
Что {} \;значит здесь?
-name *это хуже, чем избыточно. Поскольку *кавычка не заключена в кавычки, оболочка расширяет ее до списка имен файлов в текущей папке, с пробелами, которые обрабатываются некорректно, что приводит к непредвиденным результатам или сообщению об ошибке. В качестве дополнительного пункта, findимеет много функций, одна из которых заключается в перечислении файлов; это позволяет избежать необходимости использовать -exec. Например, вы можете использовать find . -printили find . -ls. Наконец, есть два пути , чтобы избежать запятой: либо , как вы сделали с обратным косыми чертами, \;или процитировать: ';'. Используйте то, что вам удобнее.

-name *избыточно