Btrfs
刪除名稱中包含特殊字元的 btrfs 快照
在使用 BTRFS 進行一些測試時,我使用名稱的時間戳(即包括特殊字元)創建了一些只讀快照。現在我無法刪除它們。
$ sudo btrfs subvolume list /test ... ID 387 gen 289 top level 5 path snapshots/2022-08-22 20:41:00 ID 388 gen 293 top level 5 path snapshots/2022-08-23 07:55:00 ...
試圖刪除一個:
$ btrfs subvolume snapshot delete /test/snapshots/'2022-08-23 07:55:00' ERROR: Could not statfs: No such file or directory
請注意,我可以獲得此文件的統計資訊,並且快照功能齊全:
$ stat /test/snapshots/'2022-08-23 07:55:00' File: /test/snapshots/2022-08-23 07:55:00 Size: 50 Blocks: 0 IO Block: 4096 directory Device: 51h/81d Inode: 256 Links: 1 Access: (0755/drwxr-xr-x) Uid: ( 1000/ que) Gid: ( 1000/ que) Access: 2022-08-23 00:00:04.349592125 -0500 Modify: 2022-08-23 00:00:02.257592094 -0500 Change: 2022-08-23 00:00:02.257592094 -0500 Birth: 2022-08-16 12:14:14.154459488 -0500
我嘗試了各種組合來轉義文件名,但似乎沒有任何效果。我看到有一個
ID
列表,但似乎我無法通過 id 刪除快照。關於如何刪除快照名稱中帶有特殊字元的快照的任何想法?
這個問題與字元(特殊與否)無關。這是失敗的命令:
btrfs subvolume snapshot delete /test/snapshots/'2022-08-23 07:55:00'
btrfs subvolume snapshot …
創建快照。子命令是snapshot
.delete
這裡不是子命令,它是snapshot
.您的命令嘗試從
delete
. 遺憾No such file or directory
的是在這種情況下含糊不清。如果這個錯誤很詳細並告訴你它的意思是“文件或目錄”,那就更好了delete
。這會給你一個delete
被解釋為路徑名的提示,而不是子命令。那好吧。刪除您要刪除的內容的正確語法是:
btrfs subvolume delete /test/snapshots/'2022-08-23 07:55:00'
where
delete
放在你有的地方snapshot
。delete
現在是一個子命令。