Bu durumda type
, yerleşik bash ile ilgisi yoktur type
, ancak daha sonra.
"Tip" hakkında biraz
Dahili BASH type
komutu 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
, kill
ve 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 time
kullanıldığını belirtir . Sistemi kullanmak için time
yapabilirsiniz /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 $tt
sistemi ç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 n
iç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
-b
ve -s
isteğe bağlı parametreleri ve file
bir tane gerektiriyordu.
-t
isteğ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 man
veya help
emin 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 find
için some_command string_of_found_entity
.
Ötede
- alıntı yapmak
- genişleme
- komut ikamesi
- ve çok daha fazlası
Bunu faydalı bulabilirsiniz .
type
Yerleşik komutu tarafından kullanılmazfind
.-type
Seçeneğifind
başka bir şey yapar. Cevaplarınızı görünhelp type
veman find
alın.