行者的学习博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

http://blog.csdn.net/dulixin/archive/2008/04/21/2312743.aspx

在tcl中cd命令用来改变当前的工作目录,在需要对文件和目录进行操作时是一个必不可少的工具,除非你愿意把所有的文件都无序的放在当前用户目录下。(以下举例以windows系统下为例)

1、cd

名称

cd - 改变工作目录

语法

cd ?dirName?

描述

改变当前的工作目录到dirName中,或者进入主目录,如果没有给出dirName,就返回一个空字符串。注意当前的工作目录是一个进程资源,cd命令改变了解释器和线程的工作目录。

示例

改变路径到主目录下的fred用户目录:

cd ~fred

进入到当前目录的兄弟目录lib中:

cd ../lib

2、pwd

名称

pwd - 返回当前工作目录的绝对路径

语法

pwd

描述

返回当前工作目录的绝对路径。

示例

有的时候使用exec命令运行外部命令的时候需要修改工作目录,但是保持当前的工作路径是非常重要的,就需要保存当前的工作路径等外部命令运行完毕后再修改回来:

set tarFile [file normalize somefile.tar]
set savedDir [pwd]
cd /tmp
exec tar -xf $tarFile
cd $savedDir
当运行tclsh时,当前的目录可以使用pwd来观察目前用户目录,在windows下的目录结构:
    %  pwd
    C:/Documents and Settings/user321
    其中的user321就是当前用户。
   
    注意:在windows下的路径是用"\"隔开的,但是tcl返回的结果都是使用"/"隔开的,在使用的时候需要注意。如果在敲路径的时候使用"\",那么路径就需要这样写"\\",要么直接使用一个"/",下面的例子中"E:/tcltk"的效果和"E:\\tcltk"效果相同。
 
    可以使用cd命令来修改工作目录,以绝对路径方式进入到E盘下的tcltk目录下
    % cd E:/tcltk
 
    可以使用相对路径来修改工作目录,比如目前在E:/tcltk,此目录下有work和tools两个子目录,那么现在进入work目录的方法可以直接使用相对路径:
    % cd work
    或者
    % cd ./work
    "./"代表当前目录,在某些情况下可能需要使用,比如文件名以特殊符号"~"开头
 
    现在所在的路径为E:/tcltk/work,如果想进入work的子目录就如上面所说,那么现在如果想退回到E:/tcltk目录下的方法呢?使用"cd .."就是返回到上级目录。
    % cd ..
 
    目前所有的路径为E:/tcltk,我们使用命令"cd work"再次进入到E:/tcltk/work目录中,现在如果想进入到tools目录下,有三种方法,第一种是使用绝对路径直接进入,第二种先退回到tcltk目录下,然后再进入到tools中,下面介绍第三种方法,直接进入兄弟目录中的方法:
    % cd ../tools
 
    任何时间想直接进入到用户主目录下:
    % cd ~
    进入user111用户目录下
    % cd ~user111
    如果你的某一个文件以~开头,比如说~test,就需要
    % cd ./~test
   
    进入文件名带有空格的文件中,假设myPath是一个带有空格的路径名,因为tcl并不以空格符为分隔符,所以可以将路径名放入""中直接进入。
    % cd "$myPath"

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dulixin/archive/2008/04/21/2312743.aspx
posted on 2009-07-30 18:02  ylclass  阅读(5291)  评论(0编辑  收藏  举报