Có nghĩa là gì.


34

Khi tôi sử dụng ls -ađể xem các tập tin ẩn trong thư mục, có 2 tập tin ẩn được tạo theo mặc định, tầm quan trọng của hai tập tin này là gì ...?

ls -a

Sản xuất

.  ..

Tôi sử dụng chúng rất nhiều khi tôi làm ls -lavì nó sẽ cho tôi thấy các quyền và quyền sở hữu trên thư mục tôi đang ở và thư mục phía trên thư mục tôi đang ở.
Marco Ceppi

Tôi không có đủ đại diện ở đây để bỏ phiếu để đóng, nhưng tôi đã đặt cờ cho câu hỏi này vì đây là câu hỏi có thể được trả lời trong 3 giây bằng cách tìm kiếm trên google (và vì có một cuộc thảo luận gần đây về các câu hỏi là quá dễ dàng trên blog SO).
zzzzBov

1
^ zzzzBov Cảm ơn bạn bằng tiếng Tây Ban Nha vì sự hào phóng của bạn.
mr_eclair

Câu trả lời:


40

. là thư mục hiện tại.

.. là thư mục phía trên thư mục hiện tại - thư mục chứa thư mục hiện tại.

Đôi khi bạn sẽ thấy dấu chấm đơn đó được sử dụng khi ai đó muốn chạy tập lệnh từ thư mục chính của họ. Ví dụ: ./install-app.sh. Điều đó có nghĩa là tệp "install-app.sh" nằm trong thư mục hiện tại. Sẽ là hợp lệ khi làm /home/username/directory/install-app.sh. Tương tự, bạn cũng có thể làm ../install.app nếu tệp nằm trong thư mục mẹ. Lý do tại sao nó là như vậy, không chỉ để điều hướng, mà còn không thể vô tình ẩn các ứng dụng hệ thống chỉ bằng cách đặt tên sai một tệp trong thư mục chính của bạn.


Đúng 100%. Hãy nghĩ về chúng như các hook, có trong mỗi thư mục. Chúng được sử dụng hoàn toàn để điều hướng. Bạn sẽ thấy rằng đây không chỉ là một tiêu chuẩn linux, mà còn trên các cửa sổ. Có lẽ giống nhau trên unix và mac, nhưng tôi chưa bao giờ chơi xung quanh trong một trong những dấu nhắc lệnh của họ.
Ctuchik

1
cd / ; cd ..: P
htorque

1
Nó cũng giống như vậy trên FreeBSD, vì vậy tôi tưởng tượng nó cũng giống như vậy trên mac, vì mac dựa trên Darwin BSD.
Azendale

htorque: bạn có phải là người tôn giáo không? :)
Jo-Erlend Schinstad

Nó trên Mac OS X (hoạt động giống như mọi Unix khác, mặc dù GUI ẩn một số phần mềm). Mac OS Classic không có chúng; ::đã được sử dụng cho thư mục trước. Đường dẫn không có :trong chúng là thư mục hiện tại. Mặt khác, một đường dẫn đầy đủ (bắt đầu bằng tên đĩa) đã được mong đợi, với các thành phần được phân tách bằng :. Vd:Macintosh HD:System Folder:Finder
derobert

4

Đó là các liên kết cứng đến thư mục tự (.) Và cha mẹ (..). Chúng được tạo khi bạn gửi một thư mục. Chúng không bao giờ có thể bị xóa (mà không xóa thư mục được chỉ bởi chúng).

Nếu bạn tạo một thư mục:

mkdir /tmp/foo

bạn có thể thấy rằng thực sự có 2 liên kết cứng đến / tmp / foo:

drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
           ^---- two hardlinks

đầu tiên là từ thư mục / tmp / trỏ đến / tmp / foo và thứ hai là '.' với in / tmp / foo / tự trỏ đến nó.


2

Ngoài ra, lưu ý rằng bạn có thể sử dụng ls -A(thay vì ls -a) để liệt kê tất cả các tệp bao gồm các tệp ẩn, nhưng loại trừ các thư mục ....


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.