Khi chạy một lệnh từ terminal, làm thế nào tôi có thể biết đường dẫn đầy đủ của lệnh?


2

Giả sử tôi đang viết trong Terminal: 'ctags', làm thế nào tôi có thể biết đường dẫn đầy đủ của lệnh 'ctags?

Câu trả lời:


5
$ type ctags
ctags is /usr/bin/ctags
$ type -p ctags
/usr/bin/ctags

Hình thức thứ hai rất hữu ích để làm những việc như

$ file $(type -p ctags)
$ ls -l $(type -p ctags) 

và thường được đặt bí danh là which.


Nếu bạn không muốn dựa vào bash chức năng và thích một lệnh bên ngoài, /usr/bin/whereis phục vụ một mục đích tương tự:

Tiện ích whereis kiểm tra các thư mục nhị phân tiêu chuẩn cho các chương trình đã chỉ định, in ra các đường dẫn của bất kỳ nó tìm thấy.

Bởi vì whereis không sử dụng $PATH mà là kết quả của sysctl user.cs_path nó có thể dẫn đến kết quả khác nhau.


Bạn có chắc là nó có bí danh which? Ngoài ra, bạn có biết whereis? Thật thú vị vì trong trường hợp của tôi whereis ctags mang lại kết quả khác nhau từ which ctags.
Anonymous

Hmm, phải, bí danh không được đặt theo mặc định. type là một lệnh bash nội bộ, /usr/bin/whereis là một lệnh bên ngoài. Nhưng tôi sẽ mong họ cho kết quả tương tự.
nohillside

2

Nhập lệnh làm tham số, ví dụ: để tìm vị trí của tar

ls -l $(which tar)

mà trong trường hợp của tôi trở lại

lrwxr-xr-x  1 root  wheel  6 Jul 26  2012 /usr/bin/tar -> bsdtar
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.