Unix系统中目录的操作命令总结
<p>目录是一个文件,它的作用是存储文件的名称和相关的信息。所有的文件,无论是普通,特殊,或目录都包含在目录中。</p><p>UNIX 使用层次结构来组织文件和目录。这种结构通常被称为一个目录树。树上有一个根节点,斜杠字符 (/),所有其他目录包含在它之下。</p>
<p><strong>主目录<br /></strong>主目录是当您第一次登录时所在的目录。</p>
<p>您的大部分工作将在主目录及您自定义的子目录中完成。</p>
<p>在任意目录下执行以下命令可以随时切换到主目录:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode111"><br /> $cd ~<br /></div><br />在这里 ~ 表示主目录。如果您想要跳转至任何其他用户的主目录中,可以使用以下命令:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode112"><br /> $cd ~username<br /></div><br />跳转至您最近的目录中可以使用下列命令:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode113"><br /> $cd -<br /></div></p>
<p><br /><strong>绝对/相对路径名<br /></strong>目录采用分层方式组织,其顶部为根目录 (/)。层次结构内的任何文件的位置由其路径描述。</p>
<p>路径由 / 来分隔。路径名是绝对的如果它是描述与根的关系,所以绝对路径名的开头总是 /。</p>
<p>这些是绝对文件名的一些例子。<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode114"><br /> /etc/passwd<br /> /users/sjones/chem/notes<br /> /dev/rdsk/Os3<br /></div><br />路径也可以是相对于你当前的工作目录。相对路径永远不会以 / 开始。相对于用户 amrood 的主目录,一些路径可能看起来像这样:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode115"><br /> chem/notes<br /> personal/res<br /></div><br />在任何时候要确定你所在的文件系统层次结构时,请输入命令 pwd 打印当前工作目录:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode116"><br /> $pwd<br /> /user0/home/amrood<br /></div></p>
<p><br /><strong>目录列表<br /></strong>要列出目录中的文件可以使用下面的语法:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode117"><br /> $ls dirname<br /></div><br />以下是示例,列出 /usr/local 目录中包含的所有文件:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode118"><br /> $ls /usr/local<br /> X11 bingimp jikes sbin<br /> ace docincludelib share<br /> atalk etcinfo man ami<br /></div><br /></p>
<p><br /><strong>创建目录<br /></strong>通过下面的命令创建目录:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode119"><br /> $mkdir dirname<br /></div><br />在这里,dirname 是您想要创建的目录的绝对或相对路径名。例如,命令:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode120"><br /> $mkdir mydir<br /></div><br />在当前目录中创建目录 mydir。这里是另一个示例:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode121"><br /> $mkdir /tmp/test-dir<br /></div><br />此命令在 /tmp 目录中创建目录 test-dir。命令 mkdir 不产生任何输出如果它成功创建请求的目录。</p>
<p>如果你在命令行上给出多个目录,mkdir 创建每个目录。例如:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode122"><br /> $mkdir docs pub<br /></div><br />在当前目录下创建目录 docs 和 pub 。</p>
<p><strong>创建父目录<br /></strong>有时当你想要创建一个目录,其父目录可能不存在。在这种情况下,mkdir 发出一个错误消息,如下所示:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode123"><br /> $mkdir /tmp/amrood/test<br /> mkdir: Failed to make directory "/tmp/amrood/test"; <br /> No such file or directory<br /></div><br />在这种情况下,您可以指定 mkdir 命令的 -p 选项。它为您创建所有必要的目录。例如:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode124"><br /> $mkdir -p /tmp/amrood/test<br /></div><br />上面的命令创建所需的父目录。</p>
<p><strong>删除目录<br /></strong>可以按如下方式使用 rmdir 命令删除目录:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode125"><br /> $rmdir dirname<br /></div><br />注意: 删除目录时请确保它是空的,这意味着不应该在这个目录里有任何文件或子目录。</p>
<p>您可以一次创建多个目录如下:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode126"><br /> $rmdir dirname1 dirname2 dirname3<br /></div><br />上面的命令删除目录 dirname1、dirname2 和 dirname2,前提是它们是空的。如果成功删除,rmdir 命令不生成任何输出。</p>
<p><strong>更改目录<br /></strong>你可以使用 cd 命令来做比更改主目录更多的事:你可以使用它来跳转到任何目录,其参数为一个有效的绝对或相对路径。语法如下所示:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode127"><br /> $cd dirname<br /></div><br />在这里,dirname 是你想要跳转到的目录的名称。例如,命令:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode128"><br /> $cd /usr/local/bin<br /></div><br />更改目录 /usr/local/bin。从该目录,您可以使用下面的相对路径跳转到 /usr/home/amrood 目录:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode129"><br /> $cd ../../home/amrood<br /></div></p>
<p><br /><strong>重命名目录<br /></strong>mv ( move ) 命令也可以用于重命名目录。语法如下所示:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode130"><br /> $mv olddir newdir<br /></div><br />您可以重命名目录 mydir 为 yourdir,如下所示:<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode131"><br /> $mv mydir yourdir<br /></div><br />目录 . ( 点 ) 和 .. ( 点点 )<br />文件名 . ( 点 ) 表示当前的工作目录;和文件名 .. ( 点点 ) 代表当前工作目录的上一级,通常被称为父目录。</p>
<p>如果我们输入要显示的当前工作目录文件的列表,使用 -a 选项列出所有的文件与 -l 选项提供长列表,这是结果。<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode132"><br /> $ls -la<br /> drwxrwxr-x4teacher class 2048Jul 16 17.56 .<br /> drwxr-xr-x60 root1536Jul 13 14:18 ..<br /> ----------1teacher class 4210May 1 08:27 .profile<br /> -rwxr-xr-x1teacher class 1948May 12 13:42 memo<br /></div><br /></p>
<p><strong>列出目录和文件<br /></strong>在 UNIX 中的所有数据被都组织到文件。所有文件被都组织成目录。这些目录被组织成一个称为文件系统的树状结构。<br />您可以使用 ls 命令列出所有的文件或目录在目录中。以下是使用 ls 命令与 -l 选项的示例。<br /><br><div class="msgheader"><div class="right"><span style="CURSOR: pointer" class="copybut"><u>复制代码</u></span></div>代码如下:</div><div class="msgborder" id="phpcode133"><br /> $ ls -l<br /> total 19621<br /> drwxrwxr-x2 amrood amrood4096 Dec 25 09:59 uml<br /> -rw-rw-r--1 amrood amrood5341 Dec 25 08:38 uml.jpg<br /> drwxr-xr-x2 amrood amrood4096 Feb 152006 univ<br /> drwxr-xr-x2 root root4096 Dec92007 urlspedia<br /> -rw-r--r--1 root root276480 Dec92007 urlspedia.tar<br /> drwxr-xr-x8 root root4096 Nov 252007 usr<br /> -rwxr-xr-x1 root root3192 Nov 252007 webthumb.php<br /> -rw-rw-r--1 amrood amrood 20480 Nov 252007 webthumb.tar<br /> -rw-rw-r--1 amrood amrood5654 Aug92007 yourfile.mid<br /> -rw-rw-r--1 amrood amrood166255 Aug92007 yourfile.swf<br /></div><br />以 d...... 开头的在这里表示目录。例如 uml, univ 和 urlspedia 是目录,其余的为文件。</p>
頁:
[1]