Bu durumda type, yerleşik bash ile ilgisi yoktur type, ancak daha sonra.
"Tip" hakkında biraz
Dahili BASH typekomutu size komutlar hakkında bilgi verir. Böylece:
$ type type
type is a shell builtin
Sözdizimi:
type [-tap] [name ...]
-t: bulunursa yalnızca türü yazın
-a: hem yerleşik hem de diğer komutların tüm örneklerini yazdırın.
-p: Komut çağrısı sırasında yürütülecek disk dosyasını yazdırın veya hiçbir şey yazdırmayın.
Biz bakarsak time, killve catörnek olarak:
$ 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
Şimdi, bu bir Bash kabuğunda ve türünde iseniz time some_cmd, bash yerleşiminin timekullanıldığını belirtir . Sistemi kullanmak için timeyapabilirsiniz /usr/bin/time some_cmd.
Sistemin yerleşik değil komutun kullanılmasını sağlamak için sık kullanılan bir yöntem kullanmaktır which.
tt=$(which time)
ve sonra $ttsistemi çağırmak için kullanın time.
Söz konusu komut
Bu durumda -type, komut için bir seçenektir find. Seçenek, varlık türünü belirten bir argüman alır. Misal
find . -type f # File
find . -type d # Directory
Dahası var man find, gerisini kontrol et .
Belirli bir seçeneği aramak için (erkekken) yapabilirsiniz:
/ ^ \ S * tipiEnter
Sonra kullanmak niçin bir sonraki bunu bulana kadar.
Kabuk komutu hakkında biraz
Bu biraz kişisel bir yorum.
Bahsetmeye değer bazı şeyler, bu özel durumda, komutlar, seçenekler, argümanlar ve kanallardır.
Bu biraz gevşek bir şekilde kullanılıyor, ancak kelime dağarcığımda kısaca var:
- komut: bir program veya yerleşik .
- parametresi: komut kelimesinden sonraki varlık.
- seçenek: isteğe bağlı bir parametre.
- argüman: gerekli bir parametre.
Komut spesifikasyonunda seçenekleri belirtmek için köşeli parantez kullanılır ve isteğe bağlı olarak argümanları belirtmek için daha az / daha büyük kullanılır. Böylece:
foo [-abs] [-t <bar>] <file> ...
foo [-abs] [-t bar] file ...
Verir -a -bve -sisteğe bağlı parametreleri ve filebir tane gerektiriyordu.
-tisteğe bağlıdır, ancak belirtilirse gerekli bağımsız değişkeni alır bar. Noktalar birkaç dosya alabileceğini gösterir.
Bu kesin bir spesifikasyon değildir ve genellikle manveya helpemin olmak için gereklidir.
Bağımsız değişken seçeneklerinin ve girdilerinin konumlandırılması genellikle karıştırılabilir, ancak bazı sistemler bağımsız değişkenlerin karışık konumlandırmasını işlemediğinden, konum tabanlı bir yaklaşımı korumak genellikle en iyisidir. Örnek olarak:
chmod -R nick 722 foo
chmod nick 722 foo -R
Her ikisi de bazı sistemlerde çalışır, ikincisi diğerinde çalışmaz.
Tam komutunuzda tüm parametreler aittir find- bu nedenle bir özelliği merak ediyorsanız man find, bakmak için doğru yerdir. Kabuk vb. İçin man sayfalarına bakmanız gereken durumlarda, örneğin:
find . $(some command)
find . `some command`
find . $some_var
find . -type f -exec some_command {} \;
find . -type f | some_command
...
-execÖzel bir tanesidir -exec some_command {} \;verilen tüm parametreler find, ancak some_command {} \;parçası içinde, genişletilir findiçin some_command string_of_found_entity.
Ötede
- alıntı yapmak
- genişleme
- komut ikamesi
- ve çok daha fazlası
Bunu faydalı bulabilirsiniz .
typeYerleşik komutu tarafından kullanılmazfind.-typeSeçeneğifindbaşka bir şey yapar. Cevaplarınızı görünhelp typeveman findalın.