Разница между 'cd' и 'cd ~'

Мне интересно, если только cd отправляет меня в мою домашнюю папку, а cd ~ делает то же самое, почему это было добавлено в первую очередь?

Это что-то конкретное для BASH или они будут вести себя по-другому в другой Shell?

~ Можно использовать не только для этого. Любая команда может получить выгоду от наличия ярлыка для домашней папки. Таким образом, это не обязательно, если вы хотите использовать cd в своем доме, но как насчет ~/.config ?

 $ cd ~/.config 

В противном случае вам придется записать домашний путь, использовать $HOME var или сделать два cd s. Также для копирования или перемещения файлов:

 $ cp ~/downloads/some-file some/path/ 

Поскольку большинство ваших файлов находятся дома, всегда хорошо иметь ярлык.

Независимо от того, есть ли у вас несколько уровней папок выше или ниже $HOME , команды cd и cd ~ делают то же самое и не отличаются друг от друга – он вернет вас в ваш домашний каталог.

ОДНАКО: Когда у вас есть 1 или более уровней папок над HOME, и вы хотите перейти прямо в подкаталог 1 или более уровней папок ниже $HOME , тильда ( ~ ) пригодится, сохраняя нажатие клавиш при использовании для замены текста необходимо называть $HOME при вводе команды cd . Например;

 /$ cd # (or cd ~) ~$ pwd /home/foo ~$ dir bar bar2 bar3 ~$ cd .. /$ cd .. /$ pwd / /$ cd /bar3 bash: cd: /bar3: no such file or directory /$ cd ~/bar3 # (instead of "cd /home/foo/bar3") ~/bar3$ pwd /home/foo/bar3