Так, ви можете запустити команду find без оболонки - хоч вам потрібна якась програма, щоб запустити її, і вам потрібна якась програма, щоб відобразити її вихід. Ви багато разів використовуєте функції оболонки, і цій команді знадобиться оболонка для інтерпретації намірів.
наприклад, трубопровід, перенаправлення та глобулювання є особливістю оболонки, і для інтерпретації знадобиться оболонка. "find. -name myfile" не використовує жодної функції оболонки, і може працювати без оболонки. "find. -name myfile | sort> output" використовує як конфігурування, так і перенаправлення, і вам потрібна оболонка для інтерпретації цього.
Що стосується втечі з xy *, то різниці мало, якщо це вхід для пошуку або вихід виводу, оболонка розширить його в будь-якому випадку.
Якщо в поточному каталозі є файл з назвою xyz
знайти. -name xy * насправді буде працювати як find. -ім'я xyz, яке, мабуть, не те, що ви хочете.
Якщо ви все-таки знайдете. -name xy * і в поточному каталозі немає файлу, що відповідає xy *, він буде працювати як find. -ім'я xy *.
Аналогічно, якщо у поточному каталозі немає файлу, що відповідає xy *, ls> xy * створить файл під назвою xy *. Якщо один файл відповідає - скажімо, xyz, це означатиме ls> xyz. Якщо декілька файлів відповідають xy *, то ls> xy * не вдасться.
Детальніше читайте на http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html