Я cp руками уж лет 20 не дёргал, поэтому все “нюансы” из головы давно вылетели, но тут пришлось и я с удивлением обнаружил, что это чудо не копирует директории, пока его специально не попросить об этом.

Интересно, какая была для этого причина? Почему для копирования директорий я должен использовать дополнительные параметры?

  • moonmadness
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    Директория - это файл со списком файлов

    Тогда ты, конечно, покажешь нам, как прочитать содержимое директории, используя системный вызов read?

    • JamesHolden
      link
      fedilink
      arrow-up
      0
      ·
      4 years ago

      К чему такой странный вопрос? Тоже хочешь букварь почитать?

      Есть regular files и есть special files. Директория - это special file. Очевидно, что, именно поэтому, она не читается при помощи read. Хотя, в старых добрых настоящих юниксах, на старых файловых системах вроде читалась.

      Это никак не отменяет того факта что директория это файл.

      • moonmadness
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        Директория - это special file. Очевидно, что, именно поэтому, она не читается при помощи read.

        А почему это всякие разные special files, ну, например, /dev/null, /dev/fb*, /dev/input/event* и т.д, читаются при помощи read?

        Это никак не отменяет того факта что директория это файл.

        Читать нельзя, писать нельзя, очень полезный файл. А что такое файл, кстати?

        • JamesHolden
          link
          fedilink
          arrow-up
          0
          ·
          4 years ago

          А почему это всякие разные

          Потому что они разные.

          Читать нельзя, писать нельзя

          Как это?? Ты не можешь зайти в директорию? Не можешь файлы создавать в директориях? Что у тебя за ОС такая интересная?

          • moonmadness
            link
            fedilink
            arrow-up
            0
            ·
            4 years ago

            Ты не можешь зайти в директорию? Не можешь файлы создавать в директориях?

            Ну да, не могу использовать read/write, чтобы читать/изменять каталог.