Você poderia escrever uma função (tem que ser uma função, já que você quer mudar o estado do próprio shell, ou seja, o diretório de trabalho; um comando externo afetaria apenas seu próprio processo).
Aqui está uma função que vai subir um número de níveis passados como argumento (padrão 1) na estrutura de diretórios física (assim, como cd -P ..
, n vezes ):
up() {
# default parameter to 1 if non provided
declare -i d=${@:-1}
# ensure given parameter is non-negative. Print error and return if it is
(( $d < 0 )) && (>&2 echo "up: Error: negative value provided") && return 1;
# remove last d directories from pwd, append "/" in case result is empty
cd "$(pwd | sed -E 's;(/[^/]*){0,'$d'}$;;')/";
}
Use assim:
up 4 # equivalent to "cd -P ../../../.."