Tại sao không tìm thấy lệnh tìm thư mục khi chạy từ ~?


9

Có một thư mục /tmpvới tên test_copy.

$ ls /tmp/test_copy/
a.sh b.sh  

$ cd /tmp  
/tmp$ find . -name test_copy  
./test_copy

Nhưng nếu tôi chạy findlệnh sau thì nó không trả về gì cả.

~/scripts$ find /tmp -name test_copy  
~/scripts$  

Tại sao không thể findtìm thấy thư mục trong trường hợp cuối cùng?


3
Kết quả của là ls -ld /tmpgì?
xhienne

2
@xhienne: Bạn nói đúng! Đó là một liên kết đến một thư mục khác. Bạn có thể gửi nó như là một câu trả lời?
Jim

Câu trả lời:


15

Nếu /tmplà một liên kết tượng trưng, findsẽ không vào thư mục và sẽ dừng lại, không tìm thấy gì.

Mặt khác, bất kỳ lệnh nào sau đây sẽ hoạt động:

find -H /tmp -name test_copy
find /tmp/ -name test_copy

(kết thúc /hội nghị kết nối symlink)


1
Điều này có thể là trường hợp cụ thể trên macOS. Trên macOS, / tmp là một liên kết tượng trưng đến / private / tmp hoặc một số như vậy.
kojiro
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.