Trình tìm kiếm xử lý các liên kết tượng trưng khác với thiết bị đầu cuối MacBook Pro Retina OS X 10.9.4


2

Tôi đã tạo liên kết tượng trưng jboss7 cho liên kết cứng jboss-as-7.1.1.Final-download và nó hoạt động tốt trong Finder. Sau đó, tôi đã sao lưu trước khi sửa đổi JBoss ...

ln -s jboss-as-7.1.1.Final-downloaded jboss7
cp jboss-as-7.1.1.Final-downloaded jboss-as-7.1.1.Final-downloaded-orig

Sau đó, tôi đổi tên liên kết cứng thành jboss-as-7.1.1.Final-download-Sửa đổi và thay thế nó bằng sao lưu.

mv jboss-as-7.1.1.Final-downloaded jboss-as-7.1.1.Final-downloaded-modified
mv jboss-as-7.1.1.Final-downloaded-orig jboss-as-7.1.1.Final-downloaded

Liên kết tượng trưng trỏ chính xác vào bản sao lưu có cùng tên tệp (kết thúc bằng -tải xuống), nhưng Finder hiển thị và xử lý liên kết tượng trưng không chính xác, nói rằng đó là bí danh cho thư mục kết thúc bằng (đã tải xuống được sửa đổi).

Là Finder có nghĩa vụ phải điều trị các liên kết tượng trưng theo cách này? Làm cách nào để cập nhật Finder để nhận ra liên kết tượng trưng là điểm đến liên kết cứng hiện tại?

Điểm phụ: các lệnh tôi đã viết bằng thiết bị đầu cuối tcsh hoặc Finder (không nhớ và lịch sử thiết bị đầu cuối không đủ xa để trả lời điều này).

Liên quan: OS X sẽ không tạo bất kỳ liên kết tượng trưng nào, thay vào đó tạo các bí danh

Câu trả lời:


1

Tôi cũng có thể tái tạo điều này (trên OS X 10.9.4). Một trường hợp đơn giản hơn như sau:

touch file.txt
ln -s file.txt link.txt
mv file.txt moved.txt
touch file.txt

Nếu Finder đã được mở vào thư mục làm việc trong khi mv đã được thực thi, sau đó nó sẽ (không chính xác) làm theo link.txt đến moved.txt cho đến khi nó được khởi động lại Thật thú vị, bạn thậm chí không cần Terminal để tạo lại lỗi này, vì nó cũng áp dụng cho các bí danh:

  1. Tạo nên file.txt.
  2. Tạo một bí danh file.txt.
  3. Đổi tên file.txt đến moved.txt.
  4. Tạo một tập tin mới cũng được gọi là file.txt.

Các hành vi mong muốn cho bí danh là trỏ đến tệp đã di chuyển ( moved.txt ) trừ khi một tệp mới đã được tạo ở vị trí ban đầu ( file.txt, được tạo ở Bước 4). Nhưng hành vi thực tế giống như trong ví dụ của bạn: Finder tiếp tục theo bí danh đến vị trí được di chuyển cho đến khi nó được khởi động lại.

Đây là một lỗi trong Finder. Cách giải quyết là khởi chạy lại Finder nếu cửa sổ mở hiển thị symlink / bí danh trong khi bạn di chuyển hoặc đổi tên tệp đích.


Tôi cũng thấy điều này trong 10.9.5.
Steve Moser

0

Thật kỳ lạ. Tôi có thể sao chép nó, nhưng chỉ khi tôi thực sự kiểm tra symlink trong cửa sổ Nhận thông tin trong Finder trước khi tôi di chuyển bản sao lưu. Nếu bạn thực hiện tất cả các bước mà không mở cửa sổ đó và kiểm tra, nó dường như không làm điều đó, nhưng di chuyển tệp gốc trong Finder sẽ làm cho liên kết đi theo tệp, nhưng chỉ trong Finder. Ngoài ra, sau khi khởi chạy lại Finder, nó hiển thị đường dẫn chính xác, miễn là tệp gốc vẫn còn đó. Trong tất cả những điều này, symlink không thay đổi, nó luôn luôn chỉ đến cùng một vị trí. Nó phải là một số lỗi với cách Finder giải quyết các liên kết tượng trưng. Nó dường như coi chúng là bí danh, nhưng thực tế không cập nhật chúng nếu bạn di chuyển tệp gốc để nó đặt lại nếu bạn khởi chạy lại Finder.

Tôi không chắc chính xác ý nghĩa của nó là gì. Nếu bạn cần thay thế tệp gốc, hầu như không thực tế để khởi chạy lại Finder mỗi lần, nhưng tôi đoán nó chỉ nên tác động đến các trường hợp bạn đang mở symlink trong Finder hoặc có lẽ các chương trình sử dụng tiện ích chọn trình chọn tệp OS. (Tôi đã không kiểm tra nếu chúng được đối xử giống như Finder)

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.