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

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

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

    Чтоб случайно не начать копировать целую директорию, во времена, когда компьютеры были большими, а объём хранилища маленьким.

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

      Но ведь это было лет 40 назад. Уже больше 30 лет компьютеры маленькие, а объемы хранилища – большие.

      • l-xoid
        link
        fedilink
        arrow-up
        0
        ·
        4 years ago

        Напиши современный аналог на Rust

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

        Уже больше 30 лет компьютеры маленькие, а объемы хранилища – большие.

        И что? Ты слышал хоть раз такое словосочетание, как “обратная совместимость”?

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

          Иди ищи в своём мопеде отсек для сена, обратно совместимый ты наш. “больше 30 лет”, тьфу.

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

            Да, в юниксе всё настолько инертно. Они хотят, чтобы скрипты, написанные 30 лет назад работали и сегодня.

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

              Тема не про Юникс. Кровавый энтерпрайз может продолжать пихать сено, мне нет до этого дела. Я про Линукс говорю.

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

                Внезапно линукс пилится тем же самым кровавым энтерпрайзом (в основном).

                А вообще, есть куча альтернатив coreutils, в некоторых из них наверняка есть утилита, которая имеет такое поведение как ты хочешь.

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

                  Внезапно линукс пилится тем же самым кровавым энтерпрайзом (в основном).

                  Ну и что?

                  есть куча альтернатив coreutils, в некоторых из них наверняка есть утилита, которая

                  Ну и что?!

                  подозрительно

                  Сходи Тазхейту пожалуйся.

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

                    Ну и что?!

                    Хуй через плечо.

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

    Я cp руками уж лет 20 не дёргал

    Ты 20 лет на необитаемом острове что ль жил? Или же с виндой грешил?

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

    Принцип KISS: по умолчанию самое простое поведение

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

      Ты 20 лет на необитаемом острове что ль жил?

      Не, я жил в современном человеческом обществе, а не в хранилище музея компов и тостеров. Нахрена сейчас кому может понадобиться копировать что-то с помощью cp? Мне пронадобилось раз в 20 лет из-за небольшого ЧП. А обычно у меня всё нормально работает.

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

        Нахрена сейчас кому может понадобиться копировать что-то с помощью cp?

        Офигеть. Тогда тебя ждет еще более удивительное открытие. Есть такая вещь - скрипты!

        И прикинь, они иногда тоже копируют! Как де они это делают? Наверное, запускают total commander и эмулируют щелчки по нему мышью, не иначе.

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

          На скрипты мне насрать: там может твориться любая дичь. Всем пофиг. Написал и забыл.

          Я говорю по вызов cp пользователем.

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

            То есть у пользователя должен быть свой какой-то отдельный cp? И вызываешь вручную ты его через какой-то другой баш, не тот, который исполняет скрипты?

            Вот это чудеса…

            Ну почитай основы юникс систем для начала.

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

              То есть у пользователя должен быть свой какой-то отдельный cp?

              Ок, начнём сначала. Зачем нужен отдельный -r параметр?

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

                Зачем нужен отдельный -r параметр?

                Читай выше.

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

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

            Директория - это файл со списком файлов, входящих в эту директорию. Очевидно, что просто скопировав этот файл командой cp, ты скопируешь только список (содержимое не скопируется). Это вообще лишено смысла, поэтому так делать запретили.

            Чтобы скопировать содержимое директории, утилита cp должна пройти во всем файлам из списка, рекурсивно (потому что среди них тоже могут быть директории) и скопировать каждый.

            Очевидно, что действие “скопировать один файл” и действие “скопировать кучу файлов по списку из вот этого файла-директории” это две большие разницы.

            Именно поэтому там нужен ключ.

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

            • 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

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

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

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

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

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

      Принцип KISS: по умолчанию самое простое поведение

      Самое просто поведение это когда программа копирует что дали. Дали файл – копирует файл, дали директорию – копирует директорию. Куда уж проще?

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

    А ещё есть гнутый и бзданутый cp. У них, емнип, поведение отличается. Один требует слеш на конце, а другой нет.

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

      Ох, почти уверен что требует у БСДшников.

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

        я здесь. можешь спрашивать.

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

      да, отличается и это прям проблема при переходе. так что я ставлю гнутые утилиты и далаю альясы. и усрусь-юзеру то же самое советую. сделать alias cp=‘cp -r’, если ему так рвет шаблон.

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

        Я говорю о маразме, капусте и королях, а не о костылях. Мне не сложно добвлять параметр при копировании директорий, просто злит нелепость его существования. Поэтому я и спросил нахрена он нужен, возможно он не такой нелепый, как кажется на первый взгляд.

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

          Лепость и нелепость - это субъективные категории, твое отношение к вещам. Возможно, у тебя неклеится в жизни что-то другое и ты выражаешь раздражение в своем отношении к утилитам. Психологи называют это явление перенос. В любом случае утилиты это только повод. Я большую часть дел за компьютером делаю из консоли, для меня все лепо.

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

            Бла-бла-бла. Я спросил “зачем нужен такой параметр” а ты мне про субъективность восприятия и мои потенциальные психологические проблемы.

            У тебя самого-то всё в порядке?

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

              ты спросил, цитирую:

              возможно он не такой нелепый, как кажется на первый взгляд.

              ваш КО.

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

                И? Ты знаешь что такое вопрос “нахрена он нужен”? Что значит слово “кажется”? “Возможно”?

                Ладно, хрен с тобой.

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

                  «нахрена он нужен»?

                  ты ведь и так знаешь, что для рекурсивного копирования. но дело в том, что

                  просто злит нелепость его существования

                  а все остальное - блаблабла. это чисто психологический вопрос, добро пожаловать в спецраздел: https://linuxtalks.co/club/tox/3977

  • Александр
    link
    fedilink
    arrow-up
    0
    ·
    4 years ago

    В DOS так же. А зачем в консоли что-то копировать, вирус что ли подхватил, и total commander запустить не можешь?

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

    Ващет скорее всего тупо потому, что никому не пришло в голову объявить этот ключ deprecated и вообще предки подметали плац ломами и мы будем. Но тред топовый, подписался

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

      Лол, сэйлфиш идентифицируется как анонимус. Всегда знал, что это топовая операционка.

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

    cp, задница

    Вне контекста эти теги выглядят очень подозрительно.

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

    пассатижами палец прикусил, молотком по пальцу ударил, отвёртка соскочила и руку поранила? Ну это точно инструмент говно, а не руки кривые!

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

      Ты когда-то сталкивался с современным инструментом? Лобзики всякие и прочие шуруповёрты? Я сталкивался. И пользоваться ими было куда приятней чем ржавой ножовкой и кривой отверткой.

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

        так зачем ты заведомо берёшь ржавую отвёртку и кривую ножовку?

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

          Так это дефолтные инструменты. “Обратная совместимость”, бла-бла-бла. И в результате cp без спец.пинка не может даже директорию скопировать.

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

            Дефолтные инструменты у тебя это мышевозный “проводник” (dolphin/nautilus/thunar/…) copy в командной строке шиндошс тоже не скопирует, там функциональность не отличается от DOS 6.22

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

              copy в командной строке шиндошс тоже не скопирует

              Я про Линукс говорю. Мне нет дела до Юникса, мне нет дела до Винды, мне нет дела до CP/M.

              Я уж не говорю что унылая ситуация где-то там не является оправдание для беды здесь.

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

                Какую-то проблему из пальца высасываешь. По мне так если с файлами надо работать - запускаешь файловый менеджер, в консолечке - mc. С ним в любом случае удобнее, чем команды набирать, даже если есть автодополнение.

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

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

                  Это раз. Во-вторых, это не я высасываю, а это пол-треда традиционалистов-консерваторов сосут и причмокивают, рассказывая об неимоверно важной обратной совместимости с давно несуществующими нюансами.

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

                    «Но тут пришлось столкнуться со старьём» Двухпанельники так то в досе были. Дефолтная программа, которая запускалась через autoexec.bat это волков или нортон командер (по крайней мере на скажем так СНГ пространстве)

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

                  пациент, похоже, туп. Берёт неподходящий инструмент и бесится.