Trong trường hợp type
này không có gì để làm với bash tích hợp type
, nhưng nhiều hơn về điều đó sau này.
Một chút về "loại"
Lệnh tích hợp BASH type
cung cấp cho bạn thông tin về các lệnh. Như vậy:
$ type type
type is a shell builtin
Cú pháp là:
type [-tap] [name ...]
-t
: chỉ in loại, nếu tìm thấy
-a
: in tất cả các lần xuất hiện của lệnh, cả tích hợp và khác.
-p
: in tệp đĩa sẽ được thực thi theo lệnh gọi hoặc không có gì.
Nếu chúng ta nhìn vào time
, kill
và cat
như một ví dụ:
$ 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
Bây giờ, điều này xác định rằng nếu bạn đang ở trong vỏ và kiểu Bash time some_cmd
, thì hàm bash time
được sử dụng. Để sử dụng hệ thống, time
bạn có thể làm /usr/bin/time some_cmd
.
Một cách thường được sử dụng để đảm bảo rằng hệ thống, và không tích hợp, lệnh được sử dụng là sử dụng which
.
tt=$(which time)
và sau đó sử dụng $tt
để gọi hệ thống time
.
Lệnh trong câu hỏi
Trong trường hợp này, đây -type
là một tùy chọn cho lệnh find
. Tùy chọn này lấy một đối số theo đó chỉ định loại thực thể. Thí dụ
find . -type f # File
find . -type d # Directory
Có nhiều hơn, kiểm tra man find
phần còn lại.
Để tìm kiếm tùy chọn cụ thể bạn có thể làm (trong khi ở người đàn ông):
/ ^ \ s * -typeEnter
Sau đó sử dụng n
cho tiếp theo cho đến khi bạn tìm thấy nó.
Một chút về lệnh shell
Đây là một chút giải thích cá nhân.
Một số điều đáng nói, trong trường hợp cụ thể này, là các lệnh, tùy chọn, đối số và đường ống.
Điều này được sử dụng một cách lỏng lẻo, nhưng trong từ vựng của tôi, chúng tôi có tóm tắt:
- lệnh: một chương trình hoặc tích hợp .
- tham số: một thực thể sau từ lệnh.
- tùy chọn: một tham số tùy chọn .
- đối số: một tham số bắt buộc.
Trong một đặc tả lệnh, dấu ngoặc vuông được sử dụng để chỉ định các tùy chọn và sau đó, tùy chọn ít hơn / lớn hơn, được sử dụng để chỉ định các đối số. Như vậy:
foo [-abs] [-t <bar>] <file> ...
foo [-abs] [-t bar] file ...
Cung cấp -a
-b
và -s
như các tham số tùy chọn, và file
một tham số bắt buộc.
-t
là tùy chọn, nhưng nếu được chỉ định sẽ lấy đối số được yêu cầu bar
. Dấu chấm đại diện rằng nó có thể mất một số tập tin.
Đây không phải là đặc điểm kỹ thuật chính xác, và thường man
hoặc help
được yêu cầu phải chắc chắn.
Định vị các tùy chọn đối số và đầu vào thường có thể bị lẫn lộn, nhưng nói chung, tốt nhất là giữ theo cách tiếp cận dựa trên vị trí vì một số hệ thống không xử lý định vị hỗn hợp của đối số. Ví dụ:
chmod -R nick 722 foo
chmod nick 722 foo -R
Cả hai đều hoạt động trên một số hệ thống, trong khi cái sau không hoạt động trên hệ thống khác.
Trong lệnh chính xác của bạn, tất cả các tham số thuộc về find
- do đó nếu bạn tự hỏi về một thuộc tính man find
là nơi chính xác để tìm. Trong trường hợp bạn cần xem các trang man cho shell, v.v. có thể là: vd:
find . $(some command)
find . `some command`
find . $some_var
find . -type f -exec some_command {} \;
find . -type f | some_command
...
Các -exec
là một người đặc biệt mà -exec some_command {} \;
là tất cả các thông số cho find
, nhưng some_command {} \;
một phần được mở rộng, trong phạm vi find
đến some_command string_of_found_entity
.
Hơn nữa về
- trích dẫn
- sự bành trướng
- thay thế lệnh
- và nhiều hơn nữa
Bạn có thể thấy điều này hữu ích .
type
dựng sẵn không được sử dụng bởifind
. Các-type
tùy chọn đểfind
làm điều gì đó khác. Xemhelp type
vàman find
để có được câu trả lời của bạn.