Tim Sattarov -> [email protected] @ Fri, 22 Jan 2016 17:10:39 -0500:
>> А еще можно ls ./*.pdf TS> а если в названии файла есть пробелы ? TS> что то вроде "Отчет -за-период.pdf" TS> или еще хуже TS> "Malicious File; rm -rf *.pdf" TS> хотя тут что то не так, Тут как раз всё так. В смысле, компьютер работает правильно, а вот у тебя представление не вполне адекватное. Команда ls, как и все другие команды, кроме тех, у которых интерпретация строк в аргументах явно прописана в документации, не интерпретируют ничего в своих аргументах, кроме похожих на ключ (т.е. начинающихся с -). А шелл, раскрыв шаблон имени файла в список имен файлов, передает этот список команде (в данном случае ls) наиболее естественным образом - каждое имя файла отдельным аргументом. В результате проблеме просто взяться неоткуда. В винде не так. TS> мои тесты показывают, что по крайней мере у cat и ls проблем с этим TS> не возникает... TS> ``` TS> 17:08 $ ls -l TS> total 4 TS> -rw-r--r-- 1 tumyp tumyp 0 Jan 22 17:05 -A ;rm * TS> -rw-r--r-- 1 tumyp tumyp 5 Jan 22 17:00 malfile; ls -l .pdf TS> ``` TS> ``` TS> 17:09 $ /bin/ls -l ./* TS> -rw-r--r-- 1 tumyp tumyp 0 Jan 22 17:05 ./-A ;rm * TS> -rw-r--r-- 1 tumyp tumyp 5 Jan 22 17:00 ./malfile; ls -l .pdf TS> ```

