Re: почему глючит ls

2016-01-22 Пенетрантность Oleksandr Gavenko
On 2016-01-22, Vasiliy P. Melnik wrote:

> > а так?
> > ls -- *.pdf
>
> Так все прекрасно работает, правда не совсем понятно почему, в мане не
> нашел такой опции. Спасибо огромное!

Как писали ране не нашли потому что:

  $ man 1 ls

  SEE ALSO
   Full documentation at: 
   or available locally via: info '(coreutils) ls invocation'

  $ info '(coreutils) Common options'

  ‘--’
 Delimit the option list.  Later arguments, if any, are treated as
 operands even if they begin with ‘-’.  For example, ‘sort -- -r’
 reads from the file named ‘-r’.

и у Вас ls/cp/mv/etc из GNU coreutils.

Далее POSIX.1-2008:

  Shell & Utilities

1.4 Utility Description Defaults

  Default Behavior: When this section is listed as "None.", it means that the
  implementation need not support any options. Standard utilities that do not
  accept options, but that do accept operands, shall recognize "--" as a first
  argument to be discarded.

  The requirement for recognizing "--" is because conforming applications need
  a way to shield their operands from any arbitrary options that the
  implementation may provide as an extension. For example, if the standard
  utility foo is listed as taking no options, and the application needed to
  give it a pathname with a leading , it could safely do it as:

  foo -- -myfile

Тут текст конечно с оговорками, без прямого указания как работать с "--", но
по собраной POSIX chm неудобно искать другие упоминания.

-- 
http://defun.work/



Re: аналог утилиты file

2016-01-22 Пенетрантность Sohin Vyacheslav


21.01.2016 20:32, Oleksandr Gavenko пишет:

> 
>   http://mark0.net/soft-trid-e.html
> TrID is an utility designed to identify file types from their binary
> signatures

вот эту утилиту я попробовал-не определила...
спасибо огромное за исчерпывающую инфу по сабжу!

-- 
BW,
Сохин Вячеслав



Re: почему глючит ls

2016-01-22 Пенетрантность Victor Wagner
On Fri, 22 Jan 2016 00:29:56 +0300
Mikhail A Antonov  wrote:

> >
> > 2. А так - не работает:
> >
> > me@machine:~/Загрузки/ > ls *.pdf 
> > ls: неверный ключ — «��
> > По команде «ls --help» можно получить дополнительную информацию.
> >
> > Что я делаю не так? Спасибо заранее.
> >  
> а так?
> ls -- *.pdf

А еще можно ls ./*.pdf

Это сработает даже для программ, которые не понимают --
 



Re: Настройка apt pinning

2016-01-22 Пенетрантность Oleksandr Gavenko
On 2016-01-22, Tim Sattarov wrote:

>> У меня вопрос - разве ранее было не так?
>>
>>
> на то оно News, чтобы рассказывать что *изменилось* с предыдущих версий
> логично предположить, что нет, так не было, это новое поведение

Я к тому что документация и ранее говорила что пин применяется к версиям в том
числе.

Попробуйте описать ситуацию когда пин применяется только к пакету - как же
тогда выделять версию для установки?

И в дифе на документации ничего соответствующего нету.

По итогу можно сказать что то поменялось, ченджлог *понятный только разрабу* и
если что то не соответствует документации - требуется баг-репорт.

Правда если Вы понимаете в чем суть изменений и что изменилось с прошлога раза
- можно привести демонстрационные примеры. Пока не увидишь своими глазами - не
поймешь.

-- 
http://defun.work/



Re: почему глючит ls

2016-01-22 Пенетрантность Oleksandr Gavenko
On 2016-01-22, Victor Wagner wrote:

>> а так?
>> ls -- *.pdf
>
> А еще можно ls ./*.pdf
>
> Это сработает даже для программ, которые не понимают --

Добавлю что проблемы бывают не только в именах файлов, но и в патернах и
подпрограммах:

  $ grep "-v" # плохо
  $ grep "[-]v"   # хорошо

Тут тот же трюк - изменить синтаксис (префикс), оставив семантику.

-- 
http://defun.work/



Re: почему глючит ls

2016-01-22 Пенетрантность Tim Sattarov
On 22/01/16 03:46 AM, Victor Wagner wrote:
> А еще можно ls ./*.pdf 

а если в названии файла есть пробелы ?
что то вроде "Отчет -за-период.pdf"
или еще хуже
"Malicious File; rm -rf *.pdf"

хотя тут что то не так, мои тесты показывают, что по крайней мере у cat
и ls проблем с этим не возникает...

```
17:08 $ ls -l
total 4
-rw-r--r-- 1 tumyp tumyp 0 Jan 22 17:05 -A ;rm *
-rw-r--r-- 1 tumyp tumyp 5 Jan 22 17:00 malfile; ls -l .pdf
```

```
17:09 $ /bin/ls -l  ./*
-rw-r--r-- 1 tumyp tumyp 0 Jan 22 17:05 ./-A ;rm *
-rw-r--r-- 1 tumyp tumyp 5 Jan 22 17:00 ./malfile; ls -l .pdf
```





Re: почему глючит ls

2016-01-22 Пенетрантность Victor Wagner
On Fri, 22 Jan 2016 12:14:40 +0200
Oleksandr Gavenko  wrote:

> On 2016-01-22, Victor Wagner wrote:
> 
> >> а так?
> >> ls -- *.pdf  
> >
> > А еще можно ls ./*.pdf
> >
> > Это сработает даже для программ, которые не понимают --  
> 
> Добавлю что проблемы бывают не только в именах файлов, но и в
> патернах и подпрограммах:
> 
>   $ grep "-v" # плохо
>   $ grep "[-]v"   # хорошо

Вот в случае grep я как раз предпочитаю использовать ключик -e, который
указывает что следующий аргумент является регулярным выражением, а не
флагом.

Правда, у grep-а есть еще одна часто встречающаяся проблема - когда
grep-аешь вывод команды ps, сама команда grep часто удовлетворяет
шаблону поиска. Вот тут трюк с квадратными скобками, который приводит к
тому, что указанный в параметрах grep шаблон не матчит сам себя,
спасает.



Re: почему глючит ls

2016-01-22 Пенетрантность Melleus
Victor Wagner  writes:

> А еще можно ls ./*.pdf

Утащил себе в блокнот, спасибо.



Re: почему глючит ls

2016-01-22 Пенетрантность Melleus

Всем - огромное человеческое спасибо. Действительно, название одного из
файлов начиналось с дефиса. Вроде бы - мелочь, а какой пласт информации
поднялся. Вот уж действительно, система, которая мягко и эффективно
понуждает своих пользователей к мозговой деятельности. Даже если что-то
и не получается. Да еще и варианты возможны. Еще раз спасибо всем!



Re: почему глючит ls

2016-01-22 Пенетрантность Artem Chuprina
Tim Sattarov -> debian-russian@lists.debian.org  @ 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> ```