ディレクトリ内のディレクトリの名前を変更しますか?

ディレクトリ内のディレクトリの名前を変更しますか?

このディレクトリ内でこのディレクトリの名前を変更するにはどうすればよいですか?

たとえば、

~/tmp $ rn tmp2
~/tmp2 $ 

次のコマンドを使用してこれを行うことができます。cd ..&&mv tmp tmp2&&cd tmp2、しかしそれをコマンドに変換する方法がわかりません。

答え1

これを.bashrc.zshrcファイルに追加すると、私が説明した動作を複製できます。

#in .{bash,zsh}rc file
rn () {
  local D="${PWD##*/}"
  cd .. && mv -- "$D" "$1" && cd -- "$1"
}

#in terminal
~/tmp $ rn tmp2
~/tmp2 $ 

[1]${PWD##*/}から抜粋この問題

答え2

$mv /tmp /tmp2 

しかし、引っ越すにtmp2はやるべきことがあります。

$cd ..

$cd tmp2

答え3

mv ../dir ../dir2

ただし、新しい名前でディレクトリを再入力しないと、ディレクトリが見つからないか、lsが機能しないなどのエラーが発生する可能性があります。

「一つの命令」から:

mv ../dir ../dir2 && cd ../dir2

関連情報