Trên các liên kết unix là các con trỏ tới một tệp khác. Không chỉ các tập tin mà còn các liên kết tượng trưng có một ctime, mtime,…. Tôi biết thời gian liên kết tượng trưng có thể được truy cập, như ls
hiển thị nó. Nếu tôi sử dụng một trong số ruby File#ctime
, File#mtime
,…, tôi luôn nhận được thuộc tính của tệp mà liên kết tượng trưng trỏ tới, không phải của liên kết tượng trưng. Làm thế nào tôi có thể đọc các giá trị này trong ruby? Nếu điều này là không thể trong ruby, cho tôi biết làm thế nào để làm điều đó trong C. Tôi sẽ viết phần mở rộng c của riêng tôi trong trường hợp đó.Làm thế nào để acess ctime, mtime, ... của một liên kết tượng trưng?
6
A
Trả lời
10
Sử dụng File#lstat()
. Ví dụ:
# This is a dummy symlink; there's no file named "foo".
ln -s foo bar
# Run irb.
irb(main):001:0> File.lstat("bar")
=> #<File::Stat dev=0x801, ino=90113, mode=0120777, nlink=1, uid=1000, gid=1000, rdev=0x0, size=3, blksize=4096, blocks=0, atime=2010-01-05 17:59:06 -0500, mtime=2010-01-05 17:59:05 -0500, ctime=2010-01-05 17:59:05 -0500>
# Get the mtime of the link.
irb(main):002:0> File.lstat("bar").mtime
=> 2010-01-05 17:59:05 -0500
1
lstat()
có thể làm điều đó trong C; không chắc chắn nếu có một Ruby tương đương.
1
Không chỉ các thuộc tính của liên kết tượng trưng và thuộc tính của mục tiêu cuối cùng, mà còn, nếu liên kết tượng trưng là một liên kết tượng trưng khác, một hoặc nhiều bước trung gian; để có được tất cả các thuộc tính, bạn cần phải làm lstats trong một vòng lặp readlink.
Các vấn đề liên quan
- 1. Làm thế nào tôi có thể nhận được mtime cao res cho một liên kết tượng trưng trong Perl?
- 2. Luôn ctime <= mtime?
- 3. Làm cách nào để xóa liên kết tượng trưng?
- 4. Làm thế nào để tạo ra một liên kết tượng trưng với SCons?
- 5. Làm cách nào để có được mục tiêu của một liên kết tượng trưng?
- 6. Kiểm tra liên kết tượng trưng
- 7. Liên kết tượng trưng trong windows XP
- 8. .htaccess hoặc liên kết tượng trưng (symlink)
- 9. File.Copy() và Liên kết tượng trưng
- 10. Emacs và các liên kết tượng trưng
- 11. Liên kết cứng và liên kết tượng trưng trong Unix
- 12. android: xác định liên kết tượng trưng
- 13. Tạo liên kết tượng trưng với Java
- 14. Thay thế liên kết tượng trưng quan trọng ‘an toàn’
- 15. Làm thế nào để có được đường dẫn ban đầu của một liên kết tượng trưng trong PHP?
- 16. Trong .NET, Làm thế nào để có được đích của một liên kết tượng trưng (hoặc Điểm tái tạo)?
- 17. Phát hiện một liên kết tượng trưng trong Java
- 18. Làm thế nào để sao chép chỉ các liên kết tượng trưng thông qua rsync
- 19. Làm thế nào để xem đường dẫn đầy đủ liên kết tượng trưng
- 20. Có gì đằng sau một liên kết tượng trưng?
- 21. Sửa đổi một liên kết tượng trưng trong python
- 22. Liên kết tượng trưng đến một cái móc trong git
- 23. chuyển đổi các liên kết tượng trưng tương đối thành các liên kết tượng trưng tuyệt đối
- 24. Trong Perforce trên Unix, làm thế nào để bạn thêm một thư mục là một liên kết tượng trưng?
- 25. Có phiên bản nào của os.getcwd() không liên quan đến các liên kết tượng trưng không?
- 26. Làm thế nào tôi có thể bãi bỏ các liên kết tượng trưng trong bash?
- 27. có cách nào để xem nội dung thực tế của liên kết tượng trưng không?
- 28. Làm thế nào để kiểm tra và xóa một liên kết tượng trưng nếu nó tồn tại, sử dụng Perl?
- 29. Làm cách nào để biểu diễn các liên kết tượng trưng của hệ thống tệp trong một mã băm Perl?
- 30. Làm cách nào để Dropbox xử lý liên kết tượng trưng AS IT IS?
Dường như có một 'File.lstat' trong ruby, cũng giống như vậy. – johannes