Tại sao lại có thêm một khoảng trống khi tôi gõ vào hệ thống máy tính để bàn?


27

Vì tò mò, tôi đã tự hỏi liệu có lý do cho không gian thừa khi tôi gõ lsvào thư mục Desktop. Đối chiếu...

~/Desktop$ ls
 file1 file2 file3

...đến...

~/Documents$ ls
file1 file2 file3

Lưu ý rằng khi tôi gõ lstrên Bàn làm việc, tôi sẽ có thêm một khoảng trống ở đầu dòng (không phải là một phần của tên tệp). Tôi không thể tìm thấy bất kỳ vị trí ví dụ nào khác nơi tôi có thêm không gian này ở đầu dòng. Có ai khác nhận được điều này? Có một lý do?

Lưu ý: Tôi đang sử dụng bản phát hành Ubuntu Bionic Beaver LTS và thiết bị đầu cuối mặc định đi kèm với nó.


Tôi không có cái này. Nếu tôi tạo một tệp chỉ có một touch " "khoảng trắng là tên ( ) tôi có hai khoảng trắng ở phía trước.
pLumo

6
Chạy ls -lathay thế hoặc find -type f -printf "file: -%P-\n"và cung cấp đầu ra. Có khả năng có một tệp có ký tự không in được. Việc tô màu các tập tin cũng có khả năng ảnh hưởng đến nó, vì vậy hãy thử \lshoặc ra dirlệnh
Sergiy Kolodyazhnyy

Tôi không thể thấy bất kỳ tệp nào có ký tự không in được, khi tôi thử 2 đề xuất đầu tiên của bạn. Tôi vẫn còn một khoảng trống khi tôi thử \ ls nhưng không phải khi tôi sử dụng thư mục ...
Bart

35
Trình bày sản lượng thực tế của bạn .
Cuộc đua nhẹ nhàng với Monica

Câu trả lời:


85

Không gian thêm xuất hiện khi bạn có tên tệp trong thư mục của bạn cần 'xung quanh chúng (ví dụ: tên tệp có khoảng trắng hoặc các ký tự đặc biệt khác).

~/mytmp$ ls
 a           'file(abc)'         proyecto3.csv   test         Test.sh
 b           'file(ab,c?).mp4'   rootfile        Test1.txt    Test.zip
 F26         'file(abc?).mp4'    scr             Test2.test   vowels
 Feb          guess              script          Test2.txt
'Feb 26 xx'   hw                 something       test.rar

Sau khi xóa các tệp 'lạ' tôi nhận được:

~/mytmp$ ls
a    guess  proyecto3.csv  script     test        Test2.txt   Test.sh
b    hw     rootfile       something  Test1.txt   test.rar    Test.zip
F26  loop   scr            speak      Test2.test  testscript  vowels

Cảm ơn bạn đã giải thích - điều này nghe có vẻ đúng với tôi. Điều đã ném tôi là không gian thừa ở đầu dòng không nhất thiết phải ở phía trước tập tin có các ký tự đặc biệt. Nhưng tôi đoán rằng điều này được thực hiện để làm cho bản trình bày rõ ràng hơn trong thiết bị đầu cuối. Cảm ơn một lần nữa
Bart

53

Tôi khá chắc chắn file1 file2 file3không phải là những gì hiển thị chính xác trên màn hình của bạn. Bạn đã bỏ qua thông tin quý giá (tên tệp thực tế) có thể dễ dàng liên quan.

Giả định của tôi là bạn có một tên tệp chứa khoảng trắng hoặc ký tự đặc biệt khác.

Phiên bản mới hơn của lstrích dẫn tên lõi như vậy, thường là trong dấu ngoặc đơn. Ngoài ra, nếu có ít nhất một tệp yêu cầu trích dẫn như vậy, thì nó sẽ thêm một khoảng trắng ở phía trước tất cả các tên tệp khác để chúng căn chỉnh "độc đáo" nếu chúng nằm bên dưới nhau, đó là dấu ngoặc kép đơn (dấu nháy đơn) là bỏ qua cho liên kết.

Xem --quoting-style-Ntrong trang hướng dẫnls để biết thêm chi tiết và phần "Định dạng tên tệp" trong trang thông tin của nó để biết thêm chi tiết. Bạn có thể ví dụ xem xét răng cưa lsđể ls -N.

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.