Một tập tin kỳ lạ của người Viking là gì?


38

Một ứng dụng tôi đang sử dụng sẽ không bắt đầu với thông báo người dùng này: [Errno 13] Permission denied: '/home/sleblanc/.config/app/.config

Khi tôi sử dụng ls, tập tin hiển thị như vậy:

?--------- 1 root root     0 Dec 31  1969 .config

Chạy stat trên tập tin cho tôi điều này:

% stat .config
  File: .config
  Size: 0           Blocks: 0          IO Block: 4096   weird file
Device: 2dh/45d Inode: 9799944     Links: 1
Access: (0666/?rw-rw-rw-)  Uid: ( 1000/     sleblanc)   Gid: ( 1000/         sleblanc)
Access: 1969-12-31 19:00:00.000000000 -0500
Modify: 1969-12-31 19:00:00.000000000 -0500
Change: 2018-04-07 23:40:22.549653691 -0400

Đáng ngạc nhiên nhất là đề cập đến một "tập tin kỳ lạ".

Một tập tin kỳ lạ là gì?


Không stat -c '%f' .configin gì? (Bạn sẽ nhận được một số thập lục phân bốn chữ số.) Ngoài ra, stat -f .configin gì? (Điều này báo cáo thông tin về hệ thống tập tin có chứa .config.)
zwol

4
Tệp có chủ sở hữu / nhóm gốc, đó là ID không. Điều này hỗ trợ cho giả định của @ peterh rằng một số siêu dữ liệu đã bị xóa.
CSM

Bạn đang sử dụng eCryptfs?
kasperd

Câu trả lời:


39

(Giả sử GNU ...) Nếu statkhông thể cho biết đó là loại gì (thư mục, (trống) tệp thông thường, liên kết, ổ cắm, ...), nó nói weird file. Tôi đoán hệ thống tập tin tham nhũng và đề nghị fsck.


Trong năm 2014 , các loại tệp được công nhận bổ sung đã được thêm vào lõi GNU. Vì vậy, nếu phiên bản của bạn cũ hơn, đó có thể là một tệp hợp lý cho một số trường hợp đặc biệt, nhưng một ứng dụng có khả năng cao lưu trữ cấu hình của nó trong một tệp thông thường.


Tuy nhiên, một số phần mềm có thể sử dụng ổ cắm hoặc liên kết của một số loại kỳ lạ có tên .config ...
rackandboneman

1
@rackandboneman stattừ GNU coreutils trên hệ thống của tôi vui vẻ báo cáo một ổ cắm là a socket. Symlinks được báo cáo là symbolic link. Các liên kết cứng không thể phân biệt được với các tệp "thông thường" và được báo cáo là regular file(rốt cuộc đó là gì), ngoại trừ số lượng liên kết là> 1.
một CVn

"của một số loại lẻ" - Tôi đã đề cập đến hàng tá loại sockety hoặc linky khác được tìm thấy trong phần siêu dài của mã C (chắc chắn có một lý do chính đáng cho việc không lập chỉ mục một chuỗi các chuỗi với số loại tệp. .. Tôi đoán ...) :)
rackandboneman

@rackandboneman Base POSIX không cung cấp bất kỳ cách nào để trích xuất "số loại tệp" từ cấu trúc chỉ số, chỉ các macro S_ISxxx (). Một số Unix cung cấp một bộ các phần mở rộng "XSI" bao gồm một cách để làm điều đó, nhưng coreutils cố gắng không phụ thuộc vào XSI, hoặc lần cuối cùng tôi đã nhìn.
zwol

Ahhh, được. Tôi đã giả định rằng các coreutils giả định là trung tâm GNU / linux hơn nghĩa của nó :)
rackandboneman
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.