😸

【Linux】意外なcdコマンドの使い方3つ

2023/08/04に公開

はじめに

個人的に「こんなことできるの!?」と思ったcdコマンドの使い方を3つ紹介します。
①は知っていたのですが、②と③ははじめて知りました。

環境

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"

$ bash --version
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)

①前のディレクトリに戻る

cd -でひとつ前にいたディレクトリに戻れます。

/tmp$ cd /
/$ cd -
/tmp
/tmp$

②ユーザのホームディレクトリに移動する

cd ~<ユーザ名>とすることでユーザのホームディレクトリに移動します。

$ cat /etc/passwd | grep cduser
cduser:x:1003:1003::/home/cduser:/bin/bash

$ cd ~cduser
/home/cduser$ 

③シンボリックリンクで実際のパスへ移動する or しない

こういったシンボリックリンクがあります。

$ ls -l
total 0
lrwxrwxrwx 1 test test 18  84 23:38 symlink -> /tmp/symlink_saki/

移動する(cd -P)

cd -Pとすることでシンボリックリンクの実際のパスへ移動します。

~/tmp/cd_test$ cd -P symlink
/tmp/symlink_saki$

移動しない(cd -L)

cd -Lとすることでシンボリックリンクを解決せずにそのままのパスとして処理します

~/tmp/cd_test$ cd -L symlink
~/tmp/cd_test/symlink$ 

おわりに

「こんなことできるの!?」となって楽しかったです。
特に①は便利なのでぜひ使ってみて下さい。

あとpushdコマンドとcdの合わせ技も気になっているので、確かめてみたいところ
https://qiita.com/noraworld/items/81c12253d22b7575151a

参考

https://wp-p.info/tpl_rep.php?cat=unix_linux-biginner&fl=r9

Discussion