У цьому випадку type
нічого спільного з bash вбудованим не має type
, але про це пізніше.
Трохи про "тип"
Вбудована type
команда BASH дає інформацію про команди. Таким чином:
$ type type
type is a shell builtin
Синтаксис:
type [-tap] [name ...]
-t
: тип друку тільки, якщо він знайдений
-a
: друкує всі вбудовані команди та вбудовані та інші.
-p
: роздрукувати файл диска, який би виконувався при виклику до команди, або нічого.
Якщо ми подивимося на time
, kill
і в cat
якості прикладу:
$ type time kill cat
time is a shell keyword
kill is a shell builtin
cat is /bin/cat
$ type -t time kill cat
keyword
builtin
file
$ type -a time kill cat
time is a shell keyword
time is /usr/bin/time
kill is a shell builtin
kill is /bin/kill
cat is /bin/cat
$ type -ta time kill cat
keyword
file
builtin
file
file
Тепер укажіть, що якщо ви знаходитесь в оболонці Bash і вводите time some_cmd
, використовується вбудований bash time
. Для використання системи time
ви можете це зробити /usr/bin/time some_cmd
.
Один із способів, який часто використовується для забезпечення використання системи, а не вбудованої команди, - це використання which
.
tt=$(which time)
а потім використовувати $tt
для виклику системи time
.
Команда, про яку йдеться
У цьому випадку команда -type
є опцією для команди find
. Параметр бере один аргумент, за допомогою якого вкажіть тип сутності. Приклад
find . -type f # File
find . -type d # Directory
Є більше, перевірте man find
на інше.
Для пошуку конкретного варіанту ви можете зробити (в той час як у людині):
/ ^ \ s * -типEnter
Потім використовуйте n
для наступного, поки не знайдете.
Трохи про команду оболонки
Це трохи особиста інтерпретація.
Деякі речі, які варто згадати, у цьому конкретному випадку - це команди, параметри, аргументи та підказки.
Це дещо вільно використовується, але в моєму словниковому слові ми маємо коротке слово:
- команда: програма або вбудований .
- параметр: сутність після командного слова.
- параметр: необов'язковий параметр.
- аргумент: необхідний параметр.
У специфікації команди квадратні дужки використовуються для вказівки параметрів і, необов'язково, менше / більше, ніж тоді, використовуються для вказівки аргументів. Таким чином:
foo [-abs] [-t <bar>] <file> ...
foo [-abs] [-t bar] file ...
Надає -a
-b
і -s
як необов'язкові параметри, і file
необхідний.
-t
необов'язково, але якщо зазначено, приймає необхідний аргумент bar
. Точки вказують, що це може приймати кілька файлів.
Це не є точною специфікацією, і часто man
або help
потрібно бути впевненою.
Позиціонування параметрів аргументів та введення часто можна змішувати, але, як правило, найкраще дотримуватися підходу, заснованого на позиції, оскільки деякі системи не обробляють змішане позиціонування аргументів. Як приклад:
chmod -R nick 722 foo
chmod nick 722 foo -R
Обидві працюють в одних системах, а в інших - в інших.
У вашій точній команді належать усі параметри find
- таким чином, якщо вам цікаво властивість man find
- це правильне місце для пошуку. У випадках, коли вам потрібно переглянути сторінки man для оболонки тощо, можливо, наприклад:
find . $(some command)
find . `some command`
find . $some_var
find . -type f -exec some_command {} \;
find . -type f | some_command
...
-exec
Є особливим , де -exec some_command {} \;
всі параметри , дані find
, але some_command {} \;
частина розширена, в межах find
до some_command string_of_found_entity
.
Далі
- цитуючи
- розширення
- підміна команд
- і багато іншого
Вам це може бути корисним .
type
Команда вбудований підсилювач не використовуєтьсяfind
.-type
Варіантfind
робить що - то ще. Побачтеhelp type
іman find
отримайте свої відповіді.