日期:2014-05-16  浏览次数:20690 次

我使用过的Linux命令之cd - 更改当前工作目录

我使用过的Linux命令之cd - 更改当前工作目录

本文链接:http://codingstandards.iteye.com/blog/790088 ?? (转载请注明出处)

?

用途说明

cd命令是最常用的命令,另外几个是ls、pwd。它用来更改当前目录(Change the current directory)。当我们登录后,默认的目录是主目录,可以用cd来改变工作目录。文件或目录的路径有两种表达方式,一种是绝对路径,从/开始,另一种是相对路径,从当前目录开始,.表示当前目录,..表示上级目录。pwd命令用来查看当前所在的目录。

?

常用方式

环境变量OLDPWD表示前一次的当前目录。刚登录系统之后,这个变量是没有设置的。

环境变量PWD表示当前目录。

环境变量CDPATH用来指定cd命令的搜索路径,类似于PATH,它也是用:分隔的一些目录组成。

cd dir 更改当前目录为dir。如果dir不以/开头,那么先从CDPATH指定的目录中查找dir,如果找到就更改,否则从当前目录开始查找dir。

cd 不跟任何参数则更改当前目录为主目录。

cd ~ 也可以更改当前目录为主目录。

cd ~user 更改当前目录到用户user的主目录。

cd - 更改目录到前一次的当前目录。

cd .. 更改目录到上级目录。注意中间加空格,cd..是不行的。

?

使用示例

示例一 到根目录

Last login: Thu Oct 21 07:47:52 2010 from 121.76.111.158
[root@jfht ~]# pwd
/root
[root@jfht ~]# cd /
[root@jfht /]# pwd
/
[root@jfht /]# ls
bin?? dev? etc?? imx_counter? lib???????? media? mnt? nss_counter? proc? sbin???? software? sys?????? tmp? var
boot? e:?? home? iss_counter? lost+found? misc?? net? opt????????? root? selinux? srv?????? tftpboot? usr
[root@jfht /]#

?

示例二 到主目录

[root@jfht /]# cd
[root@jfht ~]# pwd
/root
[root@jfht ~]# echo $OLDPWD
/
[root@jfht ~]# echo $PWD
/root
[root@jfht ~]#

?

示例三 使用CDPATH来指定cd的搜索路径

[root@jfht /]# CDPATH=/root/work191:/opt
[root@jfht /]# ls apache
ls: apache: 没有那个文件或目录
[root@jfht /]# cd apache
/opt/apache
[root@jfht apache]# pwd
/opt/apache

[root@jfht apache]# echo $OLDPWD
/
[root@jfht apache]# echo $PWD
/opt/apache

?

示例四 到某个用户的主目录

[root@jfht ~]# cd ~csd
-bash: cd: ~csd: 没有那个文件或目录
[root@jfht ~]# cd ~mike
[root@jfht mike]# pwd
/home/mike
[root@jfht mike]# echo $OLDPWD
/root
[root@jfht mike]# echo $PWD
/home/mike
[root@jfht mike]#

?

示例五 更改当前目录到//下

[root@jfht mike]# cd //
[root@jfht //]# pwd
//
[root@jfht //]# echo $OLDPWD
/home/mike
[root@jfht //]# echo $PWD
//
[root@jfht //]# command pwd
//
[root@jfht //]# type -a cd
cd is a shell builtin
[root@jfht //]# type -a pwd
pwd is a shell builtin
pwd is /bin/pwd
[root@jfht //]# /bin/pwd
/
[root@jfht //]# cd
[root@jfht ~]#

?

示例六 返回前一次的当前目录(2011.08.04)

有时候,输入cd之后不小心按了回车,回到了主目录,想返回刚才的当前目录,可以用 cd $OLDPWD

[root@node56 map20110801]# cd
[root@node56 ~]# cd $OLDPWD
[root@node56 map20110801]#

?

问题思考

1. 怎么使用CDPATH简化你的工作目录管理?

?

相关资料