debugfs не использует имя файла с пробелами

Я использую debugfs стат файл с пробелами. Файл существует, но я получаю это сообщение (то же сообщение, если я \ или напишите имя файла между простыми кавычками):

$ sudo debugfs -R "stat /home/user/This is a test.txt" /dev/mapper/VolGroup00-lv_root
debugfs 1.44.5 (15-Dec-2018)
stat: Usage: stat <file>

Если я использую этот формат, я получаю эту ошибку:

$ sudo debugfs -R "stat $'/home/user/This\x20is\x20a\x20test.txt'" /dev/mapper/VolGroup00-lv_root 
debugfs 1.44.5 (15-Dec-2018)
$'/home/user/This\x20is\x20a\x20test.txt': File not found by ext2_lookup 

Если я использую этот формат, я получаю эту ошибку:

$ sudo debugfs -R "stat $'/home/user/This\024is\024a\024test.txt'" /dev/mapper/VolGroup00-lv_root 
debugfs 1.44.5 (15-Dec-2018)
$'/home/user/This\024is\024a\024test.txt': File not found by ext2_lookup 

Можно ли указать имя файла с пробелами с debugfs?

1 ответ

Решение

stat в debugfs ожидает ровно один аргумент (поэтому Usage: stat <file>). Предоставленная вами строка

/home/user/This is a test.txt

рассматривается как множество аргументов, разделенных пробелами. Инструмент поддерживает цитирование с двойными кавычками. Это будет работать:

sudo debugfs -R 'stat "/home/user/This is a test.txt"' /dev/mapper/VolGroup00-lv_root
Другие вопросы по тегам