用法:cd [-L|[-P [-e]] [-@]] [dir]
功能:改变工作目录。改变工作目录到dir,如果没有提供dir,就切换到当前用户的家目录(root用户就是/root或~,其他用户是/home/{username})
# 没有参数默认家目录
# cd
# pwd
/root
# 有参数就切到参数指定的文件目录
# cd /opt/
# pwd
/opt
可以定义一个系统变量CDPATH,定义之后在执行cd命令时,相当于cd $CDPATH/*。
例如:
cd 等价于 cd $CDPATH
cd {filename} 等价于 cd $CDPATH/{filename}
# export CDPATH=/root
# echo $CDPATH
/root
# cd /home
# cd shell_learning
/root/shell_learning
可以同时定义多个值,用冒号分隔:
# export CDPATH=/root:/home
# echo $CDPATH
/root:/home
cd -L: 相当于cd, 有软链接时走软链接
cd -P: 不走软链接,直接切到真实目录
# ll | grep dir
drwxr-xr-x 2 root root 4096 11月 24 11:29 dir
lrwxrwxrwx 1 root root 3 11月 24 11:15 dir_link -> dir
# cd -L dir_link
# pwd
/root/dir_link
# cd ../
# cd -P dir_link/
# pwd
/root/dir
还有一个在使用-P参数的情况下可以添加的参数-e,功能是当前位置如果不能正确指定,就返回非0返回值。-@是个比较少见的参数,有些系统不支持,在支持的系统中,这个参数的作用是将具有扩展属性的文件显示为包含文件属性的目录。