Isso deve funcionar:
mv long/path/to/a/folder{,.old}
Referência: procure por Expansão de Brace no bash página de manual .
Isso pode ser trivial, mas aqui vai.
No terminal, tenho a tendência de me mover / renomear / copiar arquivos que não estão no meu diretório de trabalho atual, em vez de cd
-ing para o diretório desses arquivos primeiro. Por exemplo, eu me vejo fazendo:
mv long/path/to/a/folder long/path/to/a/folder.old
Às vezes, isso pode ser um "long/path with spaces/to/a/folder"
.
Minha pergunta é: existe uma maneira / atalho para o <target path>
ser relativo ao <source path>
? Por exemplo, existe algo assim:
mv long/path/to/a/folder ''/folder.old
Onde ''
significa "o mesmo caminho ou o mesmo caminho pai do arquivo / pasta que estou tentando mover", então no meu exemplo ''
representaria long/path/to/a/
.
Eu sei que poderia, é claro, cd long/path/to/a/
e, em seguida, mv folder folder.old
, mas isso envolve um comando extra e terminarei em outro diretório de trabalho.
Isso deve funcionar:
mv long/path/to/a/folder{,.old}
Referência: procure por Expansão de Brace no bash página de manual .
Tags command-line bash paths