夏期休暇中に,Windows Subsystem for Linux (WSL/WSL2)やLinuxサーバで使用しているシェル・Zsh用の設定ファイルを更新しました.
ファイル名は.zshrc,と言いたいところですが細分化しています.
WSL2用には,cd $C
でCドライブに,cd $T
でデスクトップに移動できるようにするための環境変数の記述箇所を近くに移動させ,長年使用していないaliasやfunctionを除去しました.
1つのaliasに,目が留まりました.
alias cpa='cp -a'
cp nanka_file dokkano_dir
というコマンドを実行したとき,nanka_fileがdokkano_dirにコピーされますが,コピー先のファイルのパーミッションは,コピー元のnanka_fileと同一であるとは限りません.同一にするには,cp -a nanka_file dokkano_dir
というコマンドになる*1のですが,上のaliasにより,cpa nanka_file dokkano_dir
でよいというわけです.
逆に,パーミッションをコピーしないことを明示するオプションはないのか…ありました.--no-preserve
です.
JM Projectのcpにも,このオプションの記載があることを把握し,あれこれ動作確認をしてから,.zshrcに以下の行を追加しました.
alias cpnp='cp --no-preserve=all'