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