2026/4/18 8:52:59
网站建设
项目流程
宁夏建设工程交易中心网站,vue如何网站开发,网站建设公司服,上海浦东注册公司1. 基本概念1.1 命令作用当我们使用Linux系统时#xff0c;会在不同目录之间进行切换#xff0c;为此#xff0c;我们必须使用cd命令。 cd是“更改目录”的缩写#xff0c;表示“更改目录”。当目录切换成功时#xff0c;cd命令返回0;而目录切换失败时#xff0c;cd命令返…1. 基本概念1.1 命令作用当我们使用Linux系统时会在不同目录之间进行切换为此我们必须使用cd命令。 cd是“更改目录”的缩写表示“更改目录”。当目录切换成功时cd命令返回0;而目录切换失败时cd命令返回非0值。要切换的目录不存在或者权限不够都是cd命令执行失败的常见原因。1.2 命令语法cd命令的语法形式如下所示cd [option] [dir]其中选项(option)主要是以下内容-L 使用逻辑目录;-P使用物理目录;当省略option时默认为-L 选项。这两个选项的具体作用我们会在第2小节中进行详细说明。而dir参数则指明要切换到的目录cd命令最多只能有一个dir参数。dir参数可以省略此时它的作用相当于cd ~即切换到当前用户的主目录(又称家目录即HOME变量定义的路径)。1.3 目录的表示方法cd命令其实很简单而它的使用技巧主要体现在目标目录(即dir参数)的表示上。dir参数有如下这些表示方法绝对路径即从根目录(/)开始到一个目录的完整路径。比如cd /var/spool则是切换到根目录下的var目录中的spool目录。相对路径不是从根目录开始也不是下面的特殊符号代表的路径就是相对路径它是相对于当前目录而言的。比如cd photo/travel如果当前目录是/var/media那么就相当于切换到/var/media/photo/travel。如果当前目录是/User/Mike那么切换目标就是/User/Mike/photo/travel。提示在路径表示中可以使用.(一个英文句点)或..(两个英文句点)。其中.表示一个目录自身比如/var/spool/./at其实就等于/var/spool/at。而..代表一个目录的父目录比如/var/spool/../log等于/var/log;根目录的父目录是它自身。~(波浪符号)这代表用户的主目录。比如我的主目录是/home/purehiking那么执行cd ~就相当于执行cd /home/purehiking。当省略dir参数时也等同于执行cd ~。cd ~/xx则是切换到用户主目录下的其它目录。-(英文连字符)这代表上一个工作目录。当你切换到一个新的目录并执行完了任务后想要回到上一个目录时就可以将dir参数指定为 - 而不用输入上一个目录的绝对或相对路径。2. 选项的作用-P和-L这两个选项的作用到底是什么呢?其实它们都和符号链接有关。当路径中的某个目录是另一个目录的符号链接的时候-P就使用物理目录结构而-L则使用逻辑目录结构。假设/tmp/A这个目录是/var/spool这个目录的符号链接那么对/tmp/A中的文件进行处理其实就是对/var/spool中的文件进行处理。当用户处于/tmp/A这个目录中时/tmp/A就是逻辑目录而/var/spool就是物理目录。cd -P /tmp/A/.. 的结果是切换到/var目录这是因为解析到/tmp/A的时候发现它是一个符号链接而我们又指定了-P选项这时就使用物理目录。相当于把/tmp/A替换为/var/spool再解析这个目录的父目录就得到/var目录。cd -L /tmp/A/.. 的结果是切换到/tmp目录这是因为虽然解析到/tmp/A是一个符号链接但是-L选项则指明就是使用逻辑目录。此时的目录还是/tmp/A而该目录的父目录就是/tmp。3. CDPATH变量3.1 作用我们前面说相对路径都是相对于当前目录的这其实是在没有设置CDPATH变量时的情况当然设置了CDPATH变量后也可以让相对路径相对于当前目录。CDPATH变量的作用就是指定一个或多个搜索目录当cd命令的dir参数是相对路径时就依次在CDPATH指定的这些目录中搜索该相对路径代表的目标目录(其实就是让该相对路径相对于该搜索目录而不是相对于当前目录)。搜索到第一个存在的目标目录时就停止搜索并切换到该目标目录。如果所有搜索目录下都没有该相对路径对应的目标目录则cd命令执行失败。如果dir参数是绝对路径则不使用CDPATH变量。CDPATH变量指定的搜索目录既可以是绝对路径也可以是相对路径。如果是绝对路径就直接将该搜索目录应用于dir参数代表的相对路径。如果是相对路径那么先让该搜索目录相对于当前目录以确定它的完整路径再将该完整路径应用于dir参数指明的相对路径。当CDPATH指定多个搜索目录时每个目录之间都用英文冒号(:)分隔。如果某个搜索目录为空那么该目录相当于指定当前目录。此外要指定当前目录也可以将某个搜索目录指明为.(一个英文句点)。3.2 示例我们通过一个例子来查看CDPATH变量的作用一看就会。假设我们当前所处的目录为/tmp并设置CDPATH变量的值为/var/lib:media/video::/etc:/boot:/run。再假设整个系统上只有/etc目录下有httpd/vhosts这个目录。那么此时cd httpd/vhosts的执行过程如下所示首先判断出dir参数是一个相对路径且CDPATH变量已设置那么就要在该变量指定的搜索目录中搜索该相对路径。取出第一个搜索目录它是/var/lib。因为该搜索目录是绝对路径那么就直接在它之中进行搜索其实就是查看/var/lib/httpd/vhosts这个目录是否存在。我们的假设中这个目录不存在因此就在后续的搜索目录中继续搜索。取出第二个搜索目录media/video它是一个相对路径。因此我们先让它相对于当前目录以确定该搜索目录的完整路径得到的结果是/tmp/media/video(当前目录为/tmp)。再在该搜索目录中搜索目标目录即查看/tmp/media/video/httpd/vhosts这个目录是否存在然而它依旧不存在。取出第三个搜索目录它是一个空目录其实也是一个相对路径。让它相对于当前目录得到搜索目录的完整路径就是当前目录/tmp。然后查看/tmp/httpd/vhosts是否存在结果是它不存在。取出第四个搜索目录它是/etc。搜索目标目录就是查看/etc/httpd/vhosts是否存在因为该目录存在那么搜索成功。此时将工作目录切换到/etc/httpd/vhosts后cd命令返回0以表示执行成功。虽然后面还有几个搜索目录但此时不需要再在它们中进行搜索了。