Dalam hal type
ini tidak ada hubungannya dengan bash built-in type
, tetapi lebih pada nanti.
Sedikit tentang "ketik"
Perintah BASH bawaan type
memberi Anda informasi tentang perintah. Jadi:
$ type type
type is a shell builtin
Sintaksnya adalah:
type [-tap] [name ...]
-t
: ketik hanya cetak, jika ditemukan
-a
: cetak semua kemunculan perintah, baik yang terpasang maupun yang lain.
-p
: cetak file disk yang akan dieksekusi saat dipanggil ke perintah, atau tidak sama sekali.
Jika kita melihat time
, kill
dan cat
sebagai contoh:
$ 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
Sekarang, ini menentukan bahwa jika Anda berada dalam Bash shell dan ketik time some_cmd
, bash builtin time
digunakan. Untuk menggunakan sistem time
bisa Anda lakukan /usr/bin/time some_cmd
.
Salah satu cara yang sering digunakan untuk memastikan bahwa sistem, dan bukan built-in, perintah yang digunakan adalah dengan menggunakan which
.
tt=$(which time)
dan kemudian gunakan $tt
untuk memanggil sistem time
.
Perintah yang dimaksud
Dalam hal ini -type
adalah opsi untuk perintah find
. Opsi ini mengambil satu argumen yang menentukan jenis entitas. Contoh
find . -type f # File
find . -type d # Directory
Masih ada lagi, periksa man find
sisanya.
Untuk mencari opsi tertentu yang dapat Anda lakukan (sementara di tangan):
/ ^ \ s * -typeEnter
Kemudian gunakan n
untuk selanjutnya sampai Anda menemukannya.
Sedikit tentang perintah shell
Ini sedikit interpretasi pribadi.
Beberapa hal yang layak disebutkan, dalam kasus khusus ini, adalah perintah, opsi, argumen dan pipa.
Ini agak longgar digunakan, tetapi dalam kosakata saya singkatnya:
- perintah: program atau bawaan .
- parameter: entitas setelah kata perintah.
- opsi: parameter opsional .
- argumen: parameter yang diperlukan.
Dalam spesifikasi perintah kurung kotak digunakan untuk menentukan opsi dan, secara opsional kurang / lebih besar dari itu, digunakan untuk menentukan argumen. Jadi:
foo [-abs] [-t <bar>] <file> ...
foo [-abs] [-t bar] file ...
Memberikan -a
-b
dan -s
sebagai parameter opsional, dan file
yang diperlukan.
-t
adalah opsional, tetapi jika ditentukan membutuhkan argumen yang diperlukan bar
. Dots menyatakan bahwa ia dapat mengambil beberapa file.
Ini bukan spesifikasi yang pasti, dan sering man
atau help
diharuskan untuk dipastikan.
Posisi opsi argumen dan input sering dapat digabungkan, tetapi umumnya terbaik untuk tetap menggunakan pendekatan berbasis posisi karena beberapa sistem tidak menangani posisi campuran argumen. Sebagai contoh:
chmod -R nick 722 foo
chmod nick 722 foo -R
Keduanya bekerja pada beberapa sistem, sedangkan yang kedua tidak pada yang lain.
Dalam perintah persis Anda semua parameter milik find
- jadi jika Anda bertanya-tanya tentang properti man find
adalah tempat yang tepat untuk mencari. Dalam kasus di mana Anda perlu melihat halaman manual untuk shell, dll. Bisa di misalnya:
find . $(some command)
find . `some command`
find . $some_var
find . -type f -exec some_command {} \;
find . -type f | some_command
...
Ini -exec
adalah yang spesial di mana -exec some_command {} \;
semua parameter diberikan find
, tetapi some_command {} \;
bagian diperluas, find
ke dalam some_command string_of_found_entity
.
Selanjutnya
- mengutip
- ekspansi
- substitusi komando
- dan masih banyak lagi
Anda mungkin menemukan ini berguna .
type
perintah builtin tidak digunakan olehfind
. The-type
pilihan untukfind
melakukan sesuatu yang lain. Lihathelp type
danman find
dapatkan jawaban Anda.