cd是change directory的缩写,这是linux下及其常用的一条命令之一,其常规格式是:
cd [DirName]直接切换到DirName这个目录下。
cd有两个特殊的用法:
1. cd ~,波浪号会扩展成当前用户的home目录,所以这个命令直接跳转到home目录下,如下echo $HOME所示;
2. cd -,它会切换到上一次所在的那个目录,如echo $OLDPWD所示,上一次的路径会保存在$OLDPWD这个环境变量下。
sh-# echo $HOME
/
sh-# echo $OLDPWD
/
sh-# pwd
/mnt/usb
sh-# cd ~
sh-# cd /mnt/usb/
sh-#
sh-# pwd
/mnt/usb
sh-# cd
sh-# pwd
/
sh-# cd -
/mnt/usb
sh-# cd /mnt/usb/
sh-# cd
sh-# echo $OLDPWD
/mnt/usb
sh-# cd -
/mnt/usb
sh-#
待解决问题:
为什么echo $HOME的结果与/etc/passwd中预设的home目录会不一样,这是怎么回事?
/etc/passwd这个档案中只是为不同用户预设了home目录,这个是配置文件;
而系统启动后环境变量$HOME也可以被更改掉,$HOME反映的是系统运行时为当前用户设定的home目录。
这就像PATH、LD_LIBRARY_PATH等环境变量一样,可以针对不同用户做不同的设定。
所以/etc/passwd与$HOME显示的不一致是正常的。
理解Linux下cd命令的使用及特殊用法
1359

被折叠的 条评论
为什么被折叠?



