Cần ẩn một liên kết tượng trưng mà không ẩn thư mục mà nó liên kết đến


9

Tôi đã tạo một liên kết tượng trưng (cụ thể là liên kết tượng trưng chứ không phải bí danh Finder mà bash không thể theo dõi) đến một thư mục trong thư mục nhà của tôi bằng cách sử dụng ln -s link $HOME/directory& bây giờ tôi muốn ẩn liên kết trong Finder để tôi không phải xem nó Thông thường tôi sẽ sử dụng chflags hidden linkđể thực hiện điều này, nhưng tất nhiên điều đó sẽ ảnh hưởng đến thư mục chứ không phải liên kết. Tôi không thể sử dụng dấu chấm hàng đầu tiêu chuẩn vì chính tên của liên kết rất quan trọng đối với các ứng dụng tìm kiếm nó & dấu chấm hàng đầu thay đổi tên.

Vì vậy, câu hỏi của tôi là, làm thế nào để tôi ẩn liên kết tượng trưng mà không ẩn thư mục mà nó liên kết đến hoặc thay đổi tên của nó?

EDIT: Tôi cố tình giữ câu hỏi của mình mơ hồ vì đó là một thử nghiệm nhỏ với Finder, nhưng đây là một số chi tiết để làm rõ chính xác những gì tôi đang cố gắng làm.

Trình tìm kiếm sử dụng thư mục $ HOME / Máy tính để bàn cho chính máy tính để bàn, không thành vấn đề nếu đó là một liên kết, bí danh hoặc một thư mục hoàn toàn khác có tên là Máy tính để bàn (như chính thư mục nhà) miễn là trong thư mục $ HOME .

Tôi đã tạo một liên kết tượng trưng đến thư mục nhà của mình có tên là Máy tính để bàn để đặt nội dung của máy tính để bàn với nội dung của thư mục nhà của tôi (nếu bạn thử điều này, nó sẽ không có hiệu lực cho đến khi bạn đăng nhập lại, điều này cũng được thực hiện ngày 10.6). Điều đó cũng đặt chính liên kết tượng trưng trên máy tính để bàn của tôi, điều mà tôi không muốn thấy trong cửa sổ Finder hoặc trên chính máy tính để bàn. Nếu tôi đổi tên nó thành tên .Desktop, để ẩn nó, nó sẽ ẩn đi, nhưng liên kết giữa thư mục nhà của tôi và máy tính để bàn của tôi cũng sẽ bị hỏng.


trông giống như bạn bị mắc kẹt giữa một tảng đá và một nơi khó khăn:-)
nik

Câu trả lời:


18
Tên tệp SetFile -P -a V

Cờ '-P' sẽ làm cho nó hoạt động trên symlink chứ không phải những gì nó trỏ đến. Phần '-a V' sẽ bật thuộc tính vô hình để ẩn nó trong Finder.


Tuyệt vời, điều này làm việc hoàn hảo cho tôi. Cảm ơn bạn.
AL

3

Bạn cũng có thể sử dụng chflags -hđể không theo liên kết tượng trưng:

chflags -h hidden /path/to/symlink

Có thể đáng nói đến đó -Hlà một lá cờ phổ biến cho các liên kết tượng trưng cho quy tắc được đưa ra trên dòng lệnh, nhưng không phải là các liên kết gặp phải trong cây traversal (hành vi ở giữa -L(theo tất cả các liên kết tượng trưng) và -P(không theo liên kết tượng trưng)). Đó có thể là nguồn gốc của một số nhầm lẫn.
Blacklight Shining


0

Như drvdijk đã nói , bạn có thể đổi tên symlink thành .link. Các mục có tên bắt đầu bằng dấu chấm thường được ẩn khỏi trình duyệt tệp GUI (như Finder) và hầu hết các chương trình dòng lệnh. Ví dụ: lssẽ không hiển thị nó trừ khi bạn vượt qua -a(hiển thị --alltệp) hoặc -A(hiển thị --almost-alltệp).

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.