Làm thế nào tôi có thể xóa một tập tin ở đó nhưng hệ thống nói là không có?
Làm thế nào tôi có thể xóa một tập tin ở đó nhưng hệ thống nói là không có?
Câu trả lời:
Tôi đã từng gặp vấn đề tương tự. Đó là một vấn đề trong các mục chỉ mục của phân vùng. Tôi đã giải quyết nó bằng cách khởi động Windows nếu hệ thống của bạn khởi động kép hoặc chèn CD trực tiếp của Windows XP hoặc Windows 7, sau đó thực hiện các bước sau:
cmd
nhấp chuột phải -> Chạy với tư cách quản trị viên. chkdsk /f/x D:
(trong đó D là ký tự ổ đĩa của bạn). Làm việc 100%
Cảnh báo: Những hướng dẫn này sẽ yêu cầu một để sử dụng
debugfs
. Chúng có thể gây mất dữ liệu.Chúng được điều chỉnh theo vấn đề ban đầu và có thể hoặc không thể chính xác cho bất kỳ khách truy cập nào trong tương lai trên trang này. Bất kỳ mất dữ liệu có thể không thể khắc phục hoặc thậm chí trầm trọng hơn
fsck
.
Nó có thể là một inode bị mất. Vui lòng chạy ls -li
để có được danh sách các số inode, sau đó bạn có thể thử kết xuất inode được tham chiếu. Ví dụ: nếu bạn ls -li
trông như sau:
rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li
total 58672
4980758 -rwxr-xr-x 2 rarkenin rarkenin 4096 Sep 23 18:45 panorama.jpg
---SNIP---
sau đó số inode là 4980758 như được hiển thị trong danh sách dưới dạng cột đầu tiên.
Sau đó bạn có thể thử đổ nút inode. Xin vui lòng đọc toàn bộ bài viết trước khi làm bất cứ điều gì .
Bắt đầu debugfs
với quyền root:
rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
[sudo] password for rarkenin:
debugfs 1.42 (29-Nov-2011)
debugfs:
và đưa ra lệnh open /dev/sda1
với thiết bị khối chính xác cho phân vùng của bạn.
Sau đó, đưa ra lệnh để kết xuất inode có số bạn đã nhận trước đó:
cat <4980758>
sử dụng <
và >
xung quanh số inode.
Nếu nó đọc một số văn bản ngẫu nhiên, đóng thiết bị đầu cuối và mở lại. Chạy debugfs
lại và ra open
lệnh một lần nữa.
Bây giờ, bạn có thể cố gắng để xóa các tập tin. Điều này có thể dẫn đến tham nhũng hệ thống tập tin nghiêm trọng.
debugfs: rm [filename]
debugfs: unlink [filename]
debugfs: kill_file [filename]
debugfs: kill_file <inode>
Lưu ý rằng điều này có thể được thực hiện ngay cả khi nó chỉ ra tệp không bao giờ có inode. Hãy thử từng lệnh một, theo thứ tự hiển thị ở trên. Thoát debugfs và kiểm tra nếu tập tin tồn tại. Nếu không, bắt đầu lại nhưng làm theo hướng dẫn tiếp theo.
debugfs
chỉ dành cho các loại hệ thống tập tin ext2, ext3 và ext4.
Tôi biết điều này đã cũ, nhưng tôi gặp vấn đề tương tự như của bạn, chỉ với một thư mục, không phải với một tập tin. Không có phương pháp nào được đề xuất ở đây làm việc.
Tôi quản lý để giải quyết vấn đề bằng cách tạo một thư mục ở cùng vị trí và có cùng tên với thư mục tôi không thể xóa. Thư mục đã được tạo chính xác và nó "thay thế" thư mục không tồn tại. Sau đó, tôi chỉ cần xóa thư mục mới và vấn đề đã biến mất. Đơn giản như vậy.
chỉ cho chúng tôi thiết bị đầu cuối .... làm một ll | grep panorama
và cho chúng tôi thấy rằng; thêm nó vào câu hỏi của bạn ...
Đề nghị của tôi là làm root rm -f panorama.jpg
.
Trong người đàn ông của rm tôi tìm thấy điều này:
-f, --force
ignore nonexistent files, never prompt
Đăng nhập lần đầu với quyền root sudo -s
Bạn có thể thử thực hiện rm -v <file>
và xem đầu ra dài dòng để xem những gì đang xảy ra trong khi nó đang cố gắng xóa tệp. Kiểm tra các tùy chọn cho lệnh dưới đây.
Nếu thất bại, bạn có thể sử dụng tùy chọn bắt buộc như mọi người khác đã nói. Bạn cũng có thể thử xóa toàn bộ thư mục bằng cách buộc loại bỏ đệ quy:rm -rfv **full directory address here**
TÓM TẮC
rm [OPTION]... FILE...
SỰ MIÊU TẢ
rm removes each file. By default, it does not remove directories.
If a file is unwritable, the standard input is a tty, and the -f or
--force option is not given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.
LỰA CHỌN
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files, never prompt
-i, --interactive
prompt before any removal
--no-preserve-root do not treat '/' specially (the default)
--preserve-root
fail to operate recursively on '/'
-r, -R, --recursive
remove directories and their contents recursively
-v, --verbose
explain what is being done
--help display this help and exit
--version
output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.
Nhìn vào ảnh chụp màn hình của bạn, tôi thấy bạn có nhóm được đặt thành root. Tôi sẽ thử sử dụng chown và xem nó có khắc phục được sự cố không.
sudo chown -hR [username]:[username] /home/[username]
Thay thế [tên người dùng] bằng tên người dùng của bạn.
Bạn sẽ nhận được một vài lỗi.
Các ký tự không in trong tên tệp có thể gây ra các vấn đề như vậy - như khoảng trắng. Hãy thử các tùy chọn tương tác của rm, và nói 'Y' để các tập tin bạn muốn xóa"
rm -i '* pan *' Lưu ý việc sử dụng * s để phù hợp với bất kỳ (kể cả phi printint) ký tự.
Có thể là các inode có đã bị xóa, nhưng không phải là mục nhập thư mục. Hãy thử ls -i để xem các nút. fsck hệ thống tệp để khắc phục loại sự cố này.
Hãy thử cách này:
cd dir-to-delete
find ./ -exec rm -rf {} \;
Tôi gặp vấn đề tương tự với tệp được tạo bởi cơ sở web tùy chỉnh EMR (hồ sơ y tế điện tử) dưới chrome. sudo touch /forcefsck
tiếp theo là khởi động lại làm việc cho tôi và xóa tệp thơm. Lấy mẫu trợ giúp
Linux Mint 18.3 Tệp không tồn tại của tôi là filename.pdf.crdoad¨ Nó xuất hiện trên máy tính để bàn của tôi dưới dạng gói, tức là tệp zip trong Windows speak. Tôi đã nhấp chuột phải, Properties, Open with, không hiển thị ứng dụng nào, vì vậy tôi đã đổi nó thành Open With ¨Archive Manager¨. Ngay lập tức tập tin biến mất khỏi máy tính để bàn của tôi. kb