Я случайно запустил команду mv
в папке, чтобы переименовать файлы. Но я забыл указать абсолютный путь (я просто сделал mv old_name new_name
). Теперь файлы исчезли. Есть идеи, где эти файлы?
Спасибо за любую помощь.
Они будут в одном и том же каталоге, если вы не указали какое-либо обозначение каталога, например .. или ../..
Таким образом, mv oldFile newFile
остается в том же каталоге (в основном переименовывая его),
Примечание . Если newFile уже существует, вы просто перезаписали его - mv не будет спрашивать перед этим, если вы не укажете -i
в качестве аргумента.
mv oldFile ../newFile
перемещает его в родительский каталог,
mv oldFile ./existingSubDirectory/newFile
перемещает его в каталог существующиеSubDirectory с именем newFile,
mv oldFile -p ./newSubDirectory/newFile
создает новый подкаталог с именем «newSubDirectory» и помещает в него новый файл.
Вы можете объединиться, чтобы сделать какой-то очень странный (и вообще бессмысленный) обход каталога, такой как mv oldFile ././././../../dev/null
если вы действительно хотели, но это очень мало смысла.
Если вы не указали полный путь, они находятся в позиции относительно пути, над которым вы работали.
Если вы находитесь в своем каталоге пользователей (/home/user
) и запускаете mv myfile newfile
, находясь в этом каталоге, файл переименовывается в newfile
. Если он существует, он перезаписывается. Если вы указали часть пути (mv myfile something/newfile
) и папка не существует, вы получите ошибку. Если бы вы указали -p
папку, something
что- то было бы создано.
Если вы знаете имя, вы можете использовать find
или другую утилиту для поиска файла (в Debian вы можете использовать locate
).