Làm cách nào tôi có thể tìm đường dẫn đến một tệp thực thi trong OSX


46

Có một lệnh tôi có thể sử dụng để dễ dàng tìm thấy đường dẫn đến một tệp thực thi không? Tôi đang tìm kiếm nhận dạng trên máy cục bộ của mình - một cái gì đó như pwd?

pwd identify
=> /usr/local/bin/identify

Câu trả lời:


60

which sẽ tìm kiếm đường dẫn của bạn cho các đối số bạn cung cấp, nó được tìm thấy trên bất kỳ BSD hoặc SysV UNIX nào

moriarty:~ dave$ which bash true false
/bin/bash
/usr/bin/true
/usr/bin/false

1
Các whichlệnh mặc dù ý chí làm việc nói chung không phải là công cụ thích hợp để sử dụng làm loại công việc này. Xem phần Hỏi & Đáp này của U & L: unix.stackexchange.com/questions/85249/NH
slm

6
Trên OSX, whichkhông đưa ra bất kỳ kết quả nào cho tập lệnh tùy chỉnh (đó là trong $PATH). typelàm.
wvducky

17

Nếu bạn sử dụng nội dung bash type, nó sẽ hiển thị cho bạn tất cả các vị trí (trong đường dẫn) cho một lệnh:

$ type -a ls
ls is aliased to `ls --color=always'
ls is /bin/ls

$ type -a printf
printf is a shell builtin
printf is /usr/bin/printf

$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch

Nếu lệnh là một hàm, nó sẽ liệt kê định nghĩa hàm:

$ type -a somefunc
somefunc is a function
somefunc ()
{
    echo "hello, world"
}

Các ví dụ này là từ một hệ thống Ubuntu, nhưng kết quả sẽ tương tự với OS X.


4
Trên OSX, whichkhông hiển thị đường dẫn cho tập lệnh tùy chỉnh (có trong $PATH). typelàm.
wvducky

3

thử 'xác định vị trí'


5
Điều này hoạt động khi "cái đó" sẽ không thể thực thi được trong PATH hiện tại của bạn, nhưng cũng có xu hướng phun ra nhiều thứ bạn không muốn. Bộ lọc đường dẫn đầu tiên: "xác định vị trí lệnh | grep bin". Sử dụng "cái nào" trước.
dmckee

0

Nó phụ thuộc vào những gì bạn đang tìm kiếm. Hầu hết các tiện ích phụ thuộc vào biến đường dẫn. Tuy nhiên, nếu những gì bạn đang tìm kiếm nằm trong đường dẫn của bạn thì có lẽ bạn không thực sự cần biết nó ở đâu trừ khi có nhiều bản sao của cùng một tệp thực thi.

Điều này không áp dụng cho hầu hết mọi thứ chạy trong OSX bởi vì chúng không chạy khá giống các nhị phân linux / unix thông thường. Dưới đây là một số phương pháp để tìm những thứ không có trong tuyên bố đường dẫn của bạn.

tìm thấy:

sudo find / -name <FILE>

Điều này sẽ tìm thấy bất cứ điều gì tồn tại trên hệ thống tệp bạn đưa ra làm đối số đầu tiên. Nó cần phải chạy như root để tìm kiếm thư mục riêng. Nó cũng hỗ trợ ký tự đại diện nếu bạn không hoàn toàn chắc chắn về tên.

Thiết bị đầu cuối:

Nếu bạn có tệp trong công cụ tìm, bạn có thể mở một cửa sổ đầu cuối và thả tệp vào đó. Terminal với sau đó hiển thị đường dẫn đầy đủ đến tập tin.

Đốm sáng:

Khá tự giải thích. Bạn đang quyên tặng các chu kỳ bộ xử lý để cho phép nó giữ một chỉ số của fi của bạn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.