LinuxForum.Fans
Тема

Дефицит наглядных руководств по операционным системам на ядре Linux?

Автор: chelovekot 62 сообщений 3512 просмотров 🔒 закрыта
05.10.2014 14:43 · отредактировано #395083

Я тут как-то читал в инете интервью с Р.Столлмэном, по-моему (могу ошибиться). Подметил такой интересный ответ на свой вопрос: что, якобы, не хватает хороших, доступных для понимания даже человеку, не особо сведущему в IT, руководств по использованию пакетов, возможностей приложений, утилит. Мне, правда, тогда этот ответ показался несколько абсурдным, т.к. в гугле, когда что-то ищешь, куча ссылок на man-страницы, руководства разной степени давности, многочисленные википедии различных дистрибутивов и т.д. Но прошло время и я убедился, что ответ не абсурден, а меток. В этом плане, есть значительные успехи у Ubuntu-сообщества: много руководств по тем или иным задачам, написанных доступным, даже для начинающих пользователей, языком, исповедуя старый дедовский принцип "даже дураку должно быть понятно". Мне, лично, нравится, когда пишут именно таким образом, без различного рода умничаний и недосказанностей. Чтобы не быть голословным, приведу небольшой пример: например, мне нужно узнать, что же можно полезного сделать командой ls? Я иду в поисковик и вбиваю ls в строку поиска — сразу выходит множество ссылок. В большинстве случае, выходят те же самые man'ы, в той или иной интерпретации. Конечно, около 60-70 % информации там написано вполне доступно, но отсутствуют примеры применения программ. Давайте для примера возьмём ту же Википедию. Что мы там видим по поводу ls? В разделе "Ключи POSIX" написано, что ключ -С печатает список файлов в колонках с вертикальной сортировкой. Однако не указано, сколько будет колонок, как это будет выглядеть и т.д. Это самое безобидное. Остановимся ещё на паре примеров. Идём дальше, ключ -R включает рекурсивную выдачу списка каталогов. Честно признаюсь, этой опцией я, по-моему, ни разу не пользовался, так что всё будет честно и наглядно. Я не буду никуда подглядывать и скажу, как я понял эту фразу сам. Ну, понятное дело, что никакой наглядной картинки (скриншота) не приложено и к этому ключу, поэтому я эмпирическим путём должен себе представить то, что имелось в виду. Я это понял так, что я этим ключом включаю (кстати, а как выключить?) некий режим, который будет постоянно со мной (ибо, включив свет, он не выключится до тех пор, пока вы его не выключите, извиняюсь за клинчкизм), и который рекурсивно выдаст список каталогов, т.е. выдаст мне список в котором будет указан текущий каталог и все другие каталоги, которые содержатся в нём, и которые содержатся в них (других каталогах, помимо текущего). Окей, давайте я посмотрю, правильно я понял, что имелось в виду. Запустил терминал, ввёл ls -R и....вывелась огромная простыня со списком — внимание! — не только каталогов, но и всех файлов *WALL* .... не хочу писать длинного поста, закончу на этом примере. Вы понимаете, что если пройдёмся дальше, то... Таким образом, я соглашаюсь с точкой зрения Столлмэна по поводу того, что ощущается некий дефицит по-настоящему доступных, аргументированных, иллюстрированных (я разовью его мысль) руководств с наглядными примерами того, что получит пользователь на выходе при применении той или иной программы, с тем или иным ключом. Я уж молчу про некие комментарии, сноски в духе "эта опция/ключ будет полезна для того-то или того-то" и т.п. В итоге, пользователю порой проще зайти на форум и спросить у сообщества как делается примитивное действие или как решается довольно тривиальная задача, что в итоге засоряет форумы повторяющимися из месяца в месяц темами — и масса эта растёт и растёт. Я считаю, что лучше сделать понятное и доступное даже дураку наглядное руководство, чем сотни раз отсылать пользователей читать man'ы, которые понятны зачастую только тем, у кого есть значительный опыт в их применении. Может кто-то знает адрес википедии, которая разжёвывает man'ы в том духе, о котором я писал выше? Поделитесь ссылкой. Перейду к вопросу, наконец....

Вопросы: действительно ли не хватает руководств, которые понятны даже домохозяйкам (если наберутся терпения прочитать) для Linux-систем? Какие ресурсы с доступными для понимания даже для новичка руководствами вы знаете (ссылки приветствую!)?

Кажется, ничего не забыл... *CRAZY* *HELP*

05.10.2014 15:02 · отредактировано #395085
"chelovekot" написал:
Я это понял так, что я этим ключом включаю (кстати, а как выключить?) некий режим, который будет постоянно со мной (ибо, включив свет, он не выключится до тех пор, пока вы его не выключите, извиняюсь за клинчкизм), и который рекурсивно выдаст список каталогов, т.е. выдаст мне список в котором будет указан текущий каталог и все другие каталоги, которые содержатся в нём, и которые содержатся в них (других каталогах, помимо текущего).

Открываем man и читаем расшифровку имени команды:
[console]
NAME
ls - list directory contents

SYNOPSIS
ls [OPTION]... [FILE]...

DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
[/console]
Отсюда вывод: ls - выводит информацию по файлам в текущей директории по умолчанию. Вопрос закрыт. Теперь по поводу ключа '-R', он модифицирует поведение команды ls, если вы вызываете команду без этого ключа, то поведение стандартное, т.е. выводится информация о файлах только в текущей директории, если ключ активирован - в поддиректориях тоже.

Это стандартное поведение всех команд в Linux, ключ работает только если указан, об этом нет смысла повторять. Есть ещё нюанс в виду alias, т.е. если вы к примеру создадите alias

text

alias ls='ls -R'

то ключ -R будет всегда активирован, ибо при наборе в командной оболочке 'ls' всегда будет подразумеваться, что вы вызываете 'ls -R', убрать это можно только удалив alias или вызвав ls по полному пути, т.е. /bin/ls .

Теперь по поводу доступности документации, все дистрибутивы linux поставляются вместе с man страницами,

text

man ls

в них содержится краткое описание программы, особенностей её работы и ключей, модифицирующих её поведение. Помимо этого есть ещё info страницы,

text

info ls

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

Ну и никто вам не запрещает вызвать команду с теми ключами, которые вас интересуют и проверить как она работает.

Прежде чем что-то представлять почитайте man и info страницы по интересующей вас программе. Это официальная документация и в Linux её много, только читай и разбирайся, ну а по поводу кем-то написанных руководств, так там зачастую содержится больше ошибок, чем полезной информации.

05.10.2014 15:26 · отредактировано #395086

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

05.10.2014 15:33 · отредактировано #395088
"kostik87" написал:
Отсюда вывод: ls - выводит информацию по файлам в текущей директории по умолчанию. Вопрос закрыт.

Ну, хорошо, я вижу, что вы не поняли суть моего вопроса. Давайте начну с другой стороны. Вот, к примеру, что вызовет ключ -d (--directory)? Я вам кратко опишу, как я это понял, что подразумевается в man'e в описании. Я так понял, что это ключ, который показывает папки, вместо содержимого. То есть, если его употребить, тогда ls вызовет только папки (без файлов). Да? Или нет?

05.10.2014 16:12 · отредактировано #395090
"chelovekot" написал:
Да? Или нет?

Ни нет и не да. Этот ключ нужен для совместного использования с другими ключами для обработки только текущей директории, сравните:

text

ls -d -ls /etc
ls -ls /etc

Ну и ключевой момент во всём вашем высказывании это " Я так понял," и "Как понял Я", вы не задумывались, что здесь дело в вас? Вообще, если вам нужно получить вывод, к примеру только директорий или только файлов, или директорий рекурсивно, то для этого есть утилита find:
- вывод только директорий первого уровня в указанной директории;

text

find /usr -maxdepth 1 -type d

- вывод только файлов рекурсивно;

text

find /usr -type f

- вывод директорий рекурсивно;

text

find /usr -type d

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

05.10.2014 16:50 · отредактировано #395095
"chelovekot" написал:
Вопросы:
действительно ли не хватает руководств, которые понятны даже домохозяйкам (если наберутся терпения прочитать) для Linux-систем?
Какие ресурсы с доступными для понимания даже для новичка руководствами вы знаете (ссылки приветствую!)?

chelovekot, во-первых - руководств действительно катострофически не хватает, это я Вам говорю как чайник(без году недяля в линуксе - 1 год и 6 мес), ведь для обучения нужны элементарные знания и мелкие секретики линукса, а их очень трудно найти в инете для каждого конкретного дистра;
во-вторых - самый эффективный ресурс, это форум, потому как быстро и с поправкой на действительность. Ещё можно добавить ВИКИ, конкретного дистра, там тоже есть наработки форума, но для новичков и там очень мало. Я уже писал, что по этой причине на форуме MRC Mageia взялся вести рубрику ЧАВО (FAQ) для новичков. Так как мне как новичку более известно, что требуется новичкам, но с поправкой, по мере возникновения проНблемы. Нет проблемы - нет и понятия, что надо, такова планида всех самоучек.
Но писать статью не каждый возьмётся - это отнимает много времени, а потом не каждому хочется элементарщину опять по N-ному разу объяснять. На Linux Forum'е вообще нет такой рубрики(может я не нашёл?), зато заносчивого флуда и грызни МОРЕ(тоже уже писал), такое ощущение, что некотырые это делают от своей собственной скуки, а не спора и истины ради
PS: очень многие дают дельные и толковые ответы, даже на туповатые вопросы новичков.

05.10.2014 17:04 #395096
"algri14" написал:
зато заносчивого флуда и грызни МОРЕ

На самом деле здесь довольно спокойно, вы сходите на http://linux.org.ru и посмотрите как там.

По поводу проблем новичков я с вами отчасти согласен, но ТС либо неправильно для примера выбрал утилиту, если даже он обобщал, в любом случае слишком это всё "мелко", мне всё же кажется он не старается понять. Если говорить о проблемах новичков более детально, то все они "разжёваны" на форумах выбранных ими дистрибутивов, а все основные моменты расписаны в документации по установки дистрибутива или на wiki страницах дистрибутива и что бы не столкнуться с проблемой достаточно точно следовать рекомендациям в этой документации, но как правило не просто бездумно копировать и выполнять команды, а стараться понять почему именно так. Любая такая инструкция это уже готовый пример, в ней команды вызываются с множеством ключей, сама команда пояснена, если смысл ключей не ясен уже из пояснения, так почитай 'man команда' и всё станет ясно. Прочие проблемы новичков, с которыми они сталкиваются легко решаются простым поиском в поисковой системе.

Так же, что бы новичок перестал быть новичком, без разницы сколько он уже использует Linux, он должен обзавестись некоторыми навыками:
- уметь анализировать свои действия и описанные команды;
- уметь работать с документацией, справочными материалами;
- уметь правильно составить запрос в поисковую систему и вопрос на форуме;

Как только новичок обзаведётся этими навыками он сможет решить любую возникшую у него задачу даже без использования кем-то написанного руководства.

Ну а так можно привести ссылки на wiki страницы дистрибутивов:
http://wiki.gentoo.org/wiki/Main_Page
https://wiki.archlinux.org/
https://wiki.debian.org/

05.10.2014 17:30 #395099
"kostik87" написал:
На самом деле здесь довольно спокойно, вы сходите на http://linux.org.ru и посмотрите как там.

Не будем всех под одну гребёнку, я ведь сказал - некоторые.
А вообще, мой предыдущий пост о том, что для новичков, где-то самим новичкам надо писать образовательные статьи для популяризации линукса и помощи начинающим, дабы новички могли найти элементарную информацию и не захломлять вопросами форум темами раскрытыми в ВИКИ.

05.10.2014 18:18 · отредактировано #395106
kostik87 написал:
Показать
[quote="chelovekot"]Да? Или нет?

Ни нет и не да. Этот ключ нужен для совместного использования с другими ключами для обработки только текущей директории, сравните:

text

ls -d -ls /etc
ls -ls /etc

Ну и ключевой момент во всём вашем высказывании это " Я так понял," и "Как понял Я", вы не задумывались, что здесь дело в вас? Вообще, если вам нужно получить вывод, к примеру только директорий или только файлов, или директорий рекурсивно, то для этого есть утилита find:
- вывод только директорий первого уровня в указанной директории;

text

find /usr -maxdepth 1 -type d

- вывод только файлов рекурсивно;

text

find /usr -type f

- вывод директорий рекурсивно;

text

find /usr -type d

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

[/quote]

Между прочим, команду ls -d -ls /etc можно записать проще - ls -dls /etc.
Открываем man ls. Там написано:
...-d, --directory
list directory entries instead of contents, and do not dereference symbolic links...

Давайте попробуем перевести?
list directory entries instead of contents = список записей каталога вместо содержимого (т.е., вместо записей содержимого будет возвращён список неких загадочных записей каталога)
and do not dereference symbolic links = и не разыменовывать символические ссылки (да-да, вот тут-то у новичка начнётся перезагруз мозга :D )
В итоге, что мы имеем? Мы имеем новичка, который имеет примерно такой вид %) *CRAZY* *WASSUP* , несмотря на то, что прилежно прочитал man.
Более того, даже метод научного тыка ему не помог, ибо понять, что выдаёт ему команда ls -d — новичок просто не в состоянии, т.к. она не выдаёт ровным образом ничего, кроме загадочной точки
[console][pushistiq@pushistiq ~]$ ls -d
.
[pushistiq@pushistiq ~]$
[/console]

05.10.2014 19:51 #395111

algri14,

"algri14" написал:
На Linux Forum'е вообще нет такой рубрики(может я не нашёл?)

Рассматривайте данный форум во всех смыслах, как форум для новичков и не только. Не надо искать никаких дополнительных рубрик.

А вики это очень хорошая вещь, на статьи из которой можно сослаться в темах, так как обычно вики никтоновички не читают.

05.10.2014 20:59 · отредактировано #395117

Ладно, не буду больше ждать ответа. Но у меня хорошие новости, парни — правда, только для тех, кто знает английский язык (хотя бы на уровне "читаю со словарём"). Сейчас я подскажу, в каком русле двигаться. У нас возникли непонятки с загадочным ключом -d для команды ls. Что ж, обратимся к старому доброму Google, ибо англоязычный (и не только) поисковик с правильными алгоритмом поиска, в отличие от ангажированного Яндекса. Я ввёл следующий запрос "about ls command in unix" и — о чудо! — второй результат нашёл долгожданный ответ, как же всё-таки правильно использовать этот ключ (о чём, кстати, ни в man, ни в info, ни слова!)

ls -d */

Display a list of directories in the current directory.

Всего лишь надо было написать одно маленькое предложеньице и маленький примерчик, чтобы пользователь понял и синтаксис и предназначение данного ключа. Почему данной, существенной, информации нет ни в man, ни в info? (риторический вопрос)
Я честно скажу, я не придумывал этот пример неделями или месяцами, я почти наугад взял команду ls и ключ -d. Представляете, даже если такое непредвзятый пример был показательным, что будет, если действительно всерьёз взяться за данный вопрос — ляп будет на ляпе... я на 100% согласен со Столлмэном, что существует дефицит хорошей документации по Linux.

P.S. Забираю камень, кинутый в огород Яндекса, обратно, т.к. у него выдача на данный запрос почти идентичная, и вторая ссылка ведёт к искомому ответу. *DRINK* *WRITE*

05.10.2014 21:21 #395123
"chelovekot" написал:
Между прочим, команду ls -d -ls /etc можно записать проще - ls -dls /etc.

Я в курсе, '-d' выделил отдельно специально для вас, вы же говорите, что новичок в Linux.

"chelovekot" написал:
...-d, --directory
              list directory entries instead of contents, and do not dereference symbolic links...

А вот выдержка из info ls:

text

`-d'
`--directory'
     List just the names of directories, as with other types of files,
     rather than listing their contents.  Do not follow symbolic links
     listed on the command line unless the `--dereference-command-line'
     (`-H'), `--dereference' (`-L'), or
     `--dereference-command-line-symlink-to-dir' options are specified.

`-H' `--dereference-command-line' If a command line argument specifies a symbolic link, show information for the file the link references rather than for the link itself.

И переводится это как:

text

`-d'
`--directory'
      Выведет только имена директорий, по аналогии с выводом информации по другим типам файлов
      , а не отобразит содержимое директорий. Не следует по символьным ссылкам 
      перечисленным в командной строке, если только не указан ключ  `--dereference-command-line'
      (`-H '),` --dereference' ('-L'), или `--dereference-command-line-symlink-to-dir'

`-H ' `--dereference-command-line' Указывает вывести информацию по файлу, на который указывает символьная ссылка, а не информацию по ссылке.

Вот смотрите:

Показать
text

$ ls -d /usr/src/linux
/usr/src/linux

Выведено только имя директории.

Если не указывать ключ '-d' то будет выдано содержимое директории:

text

$ ls /usr/src/linux
arch   COPYING  crypto  Documentation  firmware  include  ipc     Kconfig  lib          Makefile  modules.builtin  Module.symvers  README          samples  security  System.map  usr   vmlinux   block  CREDITS  distro  drivers        fs        init     Kbuild  kernel   MAINTAINERS  mm        modules.order    net             REPORTING-BUGS  scripts  sound     tools       virt  vmlinux.o 
text

ls -d -ls /usr/src/linux
0 lrwxrwxrwx 1 root root 23 июн 25 04:43 /usr/src/linux -> linux-3.12.21-gentoo-r1

Если указать так же ключ '-H' то будет выведена информация по директории на которую ссылается ссылка /usr/src/linux а не по ссылке:

text

$ ls -dH -ls /usr/src/linux
1 drwxr-xr-x 25 root root 1456 сен 14 13:30 /usr/src/linux

$ ls -d -ls /usr/src/linux 0 lrwxrwxrwx 1 root root 23 июн 25 04:43 /usr/src/linux -> linux-3.12.21-gentoo-r1

# ls -d -ls /usr/src/linux-3.12.21-gentoo-r1 1 drwxr-xr-x 25 root root 1456 сен 14 13:30 /usr/src/linux-3.12.21-gentoo-r1

И в то же время если убрать ключ d, то будет показано содержимое директории и содержимое директории на которую указывает ссылка:

text

$ ls -ls /usr/src/linux-3.12.21-gentoo-r1
итого 25557
    1 drwxr-xr-x  33 root root      864 июн 25 04:48 arch
    3 drwxr-xr-x   3 root root     2760 июн 25 04:48 block
   20 -rw-r--r--   1 root root    18693 ноя  4  2013 COPYING
   96 -rw-r--r--   1 root root    95274 ноя  4  2013 CREDITS
   12 drwxr-xr-x   4 root root    12688 июн 25 04:54 crypto
    0 drwxr-xr-x   2 root root       72 июн 25 01:48 distro
    7 drwxr-xr-x 102 root root     7336 июн 25 01:47 Documentation
    3 drwxr-xr-x 112 root root     2944 июн 25 04:53 drivers
    2 drwxr-xr-x  36 root root     1600 июн 25 04:54 firmware
    8 drwxr-xr-x  73 root root     7904 июн 25 04:54 fs
    1 drwxr-xr-x  29 root root      752 июн 25 04:44 include
    1 drwxr-xr-x   2 root root     1232 июн 25 04:48 init
    1 drwxr-xr-x   2 root root     1392 июн 25 04:48 ipc
    4 -rw-r--r--   1 root root     2536 ноя  4  2013 Kbuild
    4 -rw-r--r--   1 root root      277 июн 25 01:45 Kconfig
    9 drwxr-xr-x  12 root root     9440 июн 25 04:48 kernel
   13 drwxr-xr-x  11 root root    13240 июн 25 04:54 lib
  260 -rw-r--r--   1 root root   264527 ноя  4  2013 MAINTAINERS
   48 -rw-r--r--   1 root root    48582 июн 25 01:45 Makefile
    6 drwxr-xr-x   2 root root     6088 июн 25 04:48 mm
    4 -rw-r--r--   1 root root     3505 июн 25 04:48 modules.builtin
   28 -rw-r--r--   1 root root    25282 июн 25 04:53 modules.order
  521 -rw-r--r--   1 root root   531509 июн 25 04:53 Module.symvers
    2 drwxr-xr-x  56 root root     1880 июн 25 04:52 net
   20 -rw-r--r--   1 root root    18736 ноя  4  2013 README
    8 -rw-r--r--   1 root root     7485 ноя  4  2013 REPORTING-BUGS
    0 drwxr-xr-x  12 root root      352 июн 25 01:48 samples
    3 drwxr-xr-x  13 root root     3096 июн 25 04:48 scripts
    1 drwxr-xr-x   9 root root      808 июн 25 04:48 security
    1 drwxr-xr-x  22 root root      960 июн 25 04:50 sound
 1870 -rw-r--r--   1 root root  1912579 июн 25 04:47 System.map
    0 drwxr-xr-x  17 root root      432 июн 25 01:48 tools
    1 drwxr-xr-x   2 root root      584 июн 25 04:48 usr
    0 drwxr-xr-x   3 root root       72 июн 25 01:48 virt
 8540 -rwxr-xr-x   1 root root 12922358 июн 25 04:47 vmlinux
14066 -rw-r--r--   1 root root 14388733 июн 25 04:47 vmlinux.o

$ ls /usr/src/linux arch COPYING crypto Documentation firmware include ipc Kconfig lib Makefile modules.builtin Module.symvers README samples security System.map usr vmlinux block CREDITS distro drivers fs init Kbuild kernel MAINTAINERS mm modules.order net REPORTING-BUGS scripts sound tools virt vmlinux.o

05.10.2014 21:26 · отредактировано #395126

Помимо этого, не поленился, взял книгу, давно забытую и зарытую в шкафу)) — "Введение в UNIX System V Release 4 2-е издание"(UNIX System V Release 4: An Introduction 2nd Edition) аж 1996 года! *CRAZY* — посмотрел там про ls и нашёл ещё один полезный момент, который не раскрыт ни в существующих man'ax, ни в info'x, ни даже в интернете. Оказывается, с помощью этого ключа и ключа l можно просмотреть аттрибуты одной единственной папки в текущем каталоге. Например, нужно мне узнать аттрибуты о каталоге в Videos в текущем каталоге, тогда:
[console][pushistiq@pushistiq ~]$ pwd
/home/pushistiq
[pushistiq@pushistiq ~]$ ls -dl Videos
drwxr-xr-x. 3 pushistiq pushistiq 4096 Sep 14 19:26 Videos
[pushistiq@pushistiq ~]$ [/console]

Всё-таки, UNIX — родоначальник, папа). Видимо, придётся обращаться к нему, если что-то непонятно в man'ax сына Linux :D

05.10.2014 21:31 · отредактировано #395127
"kostik87" написал:
`-d' `--directory' Выведет только имена директорий, по аналогии с выводом информации по другим типам файлов , а не отобразит содержимое директорий. Не следует по символьным ссылкам перечисленным в командной строке, если только не указан ключ `--dereference-command-line' (`-H '),` --dereference' ('-L'), или `--dereference-command-line-symlink-to-dir'

Чёрным по белому, или наоборот :D , написано "выведет...имена директорий..., а не отобразит содержимое директорий". Ок! Смотрите:
[console][pushistiq@pushistiq ~]$ pwd
/home/pushistiq
[pushistiq@pushistiq ~]$ ls
Audiobooks Documents i2p MyTask.tsk.delta Podcasts tor-browser_en-US Библиотека Calibre
dead.letter Downloads Music Notebooks Public Videos
Desktop dwhelper MyTask.tsk Pictures Templates workspace
[pushistiq@pushistiq ~]$ ls -d
.
[pushistiq@pushistiq ~]$ hehe...where are these names of directories?))) [/console]

05.10.2014 21:35 · отредактировано #395128
"kostik87" написал:
$ ls -d /usr/src/linux
/usr/src/linux

Выведено только имя директории.

Вы понимаете разницу между директориями и директорией? Множественное и единственное число. В оригинальном мане написано directorIES.
А вот ещё один прикольный финт ушами:
[console][pushistiq@pushistiq ~]$ ls -d *
Audiobooks Documents i2p MyTask.tsk.delta Podcasts tor-browser_en-US Библиотека Calibre
dead.letter Downloads Music Notebooks Public Videos
Desktop dwhelper MyTask.tsk Pictures Templates workspace
[pushistiq@pushistiq ~]$ ls -d */
Audiobooks/ Documents/ dwhelper/ Music/ Pictures/ Public/ tor-browser_en-US/ workspace/
Desktop/ Downloads/ i2p/ Notebooks/ Podcasts/ Templates/ Videos/ Библиотека Calibre/
[pushistiq@pushistiq ~]$ ls -d N*/
Notebooks/
[pushistiq@pushistiq ~]$ ls -d P*/
Pictures/ Podcasts/ Public/
[pushistiq@pushistiq ~]$ [/console]

05.10.2014 21:42 #395129
"chelovekot" написал:
Чёрным по белому, или наоборот  , написано "выведет...имена директорий..., а не отобразит содержимое директорий". Ок! Смотрите:

Т.е. вы не в курсе, что ".." - директория на уровень выше, а "." - текущая директория. Вы же не задали маску для ls вида "*/*/*/", что же он по вашему должен вывести?

05.10.2014 21:45 · отредактировано #395130
"kostik87" написал:
Т.е. вы не в курсе, что ".." - директория на уровень выше, а "." - текущая директория. Вы же не задали маску для ls вида "*/*/*/", что же он по вашему должен вывести?

По-моему, он должен вывести список имён каталогов в текущем каталоге, как и обещал в мане :D , а на деле получаем ответ "да, хозяин, я - текущий каталог, а список каталогов вы не получите" *ROFL* *WASSUP*

05.10.2014 21:49 #395131
"chelovekot" написал:
Вы понимаете разницу между директориями и директорией?

Вы понимаете разницу между [файл...] и [файл]?
Как думаете, сколько в вашем примере параметров получает ls -d *

05.10.2014 21:52 · отредактировано #395134
"bormant" написал:
Вы понимаете разницу между [файл...] и [файл]?

Честно говоря, не очень...было бы интересно узнать.

"bormant" написал:
Как думаете, сколько в вашем примере параметров получает ls -d *

Очевидно, что параметр всего лишь один, а именно -d (я про запрос "ls -d *")

05.10.2014 22:02 · отредактировано #395138
"chelovekot" написал:
Очевидно, что параметр всего лишь один

Отлично! Отлично от правильного.
В вашем примере "ls -d *" команда ls получит на вход:
- одну опцию (необязательный параметр) "-d"
- 19 параметров содержимого каталога, вот этих "echo *"
- ls параметра "*" не увидит, его раскроет в список подходящих элементов сам bash (globbing)

Если не указать "-d", то ls выведет также и содержимое 16 каталогов, полученных в командной строке.

[файл] -- имеется в виду 0 или один файл
[файл...] -- имеется в виду 0 или больше файлов

Войдите или зарегистрируйтесь, чтобы ответить.