Рейтинг:1

Является ли mv единственной командой, которую мы можем использовать для перемещения файлов/папок?

флаг de

Является мв единственная команда, которую мы можем использовать для перемещения файлов/папок в Ubuntu 20.04?

David avatar
флаг cn
Что вы пытаетесь сделать, что mv недостаточно хорош?
ByteManager avatar
флаг de
Я изучаю команды Ubuntu/Linux. Я составляю список команд в соответствии с их основными и второстепенными функциями. При листинге я обнаружил, что обе команды `touch` и `>` **могут** создавать новые файлы (я слышал, что есть разница между тем, как работают эти две команды). Поэтому я хочу знать весь набор команд, которые могут выполнять одну и ту же функцию при некоторых особых условиях.
David avatar
флаг cn
mv перемещает файлы, а не создает их, используйте команду man, за которой следует то, о чем вы хотите узнать, в окне терминала.
ByteManager avatar
флаг de
@David Спасибо за предложение команды ```man```.
waltinator avatar
флаг it
Разделение функций на «первичные и вторичные» — неправильный путь обучения. Программа делает то, что она делает, все ее «функции» являются «первичными» в зависимости от того, что требуется для текущей работы.
waltinator avatar
флаг it
Прочтите `man man` - узнайте о `man -k`
PonJar avatar
флаг in
Хорошо бы попытаться изучить этот материал, но, возможно, вы слишком высоко ставите перед собой цели. Я работаю в Linux уже более 10 лет и до сих пор узнаю что-то новое каждый месяц. Ключом к этому является знание того, где искать нужную команду. Простой поиск в Google с чем-то вроде шпаргалки по командам Linux предоставит множество списков, разбитых по различным категориям. Вы обнаружите, что используете некоторые команды чаще. Это те, которые вам нужно изучить, особенно когда есть множество параметров, которые изменяют эффект команды.
Рейтинг:0
флаг sa

Путь мв инструмент запрограммирован для перемещения файла, чтобы оставить файл без изменений (если только файл не перемещается в другую файловую систему) и сохранить его владельца и разрешения. Другие инструменты предоставляют другие возможности. ср команда, в отличие от мв, создает новый объект данных в вашей файловой системе с новым расположением inode.

Вы можете имитировать движение без мв с помощью встроенного ср и г.м. команды:

cp пример /foo .
ls -l -G -g --inode
7476869 -rwxrwxr-х. 29545 2 авг 11:58 фу
пример рм/foo

Источник: Пересмотрено с Перемещение файлов в Linux без mv

Рейтинг:0
флаг in

мв в файловых системах

  • скопируйте файл и удалите исходный файл.

Для файлов:

cp источник цель && источник rm

Для каталогов:

cp -r источник цель && rm -rf источник

мв в ту же файловую систему:

  • создайте новую ссылку на свой индекс и удалите исходную ссылку.

Таким образом, вы можете имитировать перемещение в той же файловой системе с помощью п && г.м.:

ln источник цель && источник rm

Однако это работает только для файлов.
Чтобы рекурсивно перемещать каталог, вы можете создать небольшой скрипт/функцию:

#!/бин/баш
ЛМВ()(

  установить -eu

  с = "$1"
  т = "$2"

  если [-f "$s"]; тогда
    printf '%s -> %s\n' "$s" "$t"
    лн "$с" "$т"
    гм "$s"
  Элиф [-d "$s"]; тогда
    printf '%s -> %s\n' "$s" "$t"
    мкдир "$t"
    shopt -s многоточие
    для е в "$s"/*; делать
      lmv "$e" "$t/${e##*/}"
    сделано
    rmdir "$s"
  еще
    >&2 printf 'Нет файла или каталога: %s\n' "$s"
    выход 1
  фи
)

Применение:

исходная цель lmv

(Примечание: этот сценарий является просто проверкой концепции, и в нем отсутствуют некоторые элементы, например, несколько источников или сохранение владельца и разрешений и т. д.)

mook765 avatar
флаг cn
Можно ли использовать функцию в ее определении (строка 19, похоже, вы хотите использовать `mv` вместо `lmv` здесь)?
pLumo avatar
флаг in
Нет, я хочу использовать `lmv`, и да, здесь вполне возможно и необходимо сделать его рекурсивным.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.