Linux 常用命令——cd 详解

打印 上一主题 下一主题

主题 1797|帖子 1797|积分 5391

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
cd(Change Directory)是 Linux 系统中最基本的命令之一,用于在命令行环境中切换当前工作目录。把握 cd 命令的各种用法,可以大大提高在文件系统中的导航服从。

一、基本语法

  1. cd [目录路径]
复制代码


  • 目录路径:目标目录的绝对路径或相对路径。可以省略目录路径,默认切换到用户的主目录。

二、常用用法与示例

1. 切换到指定目录

  1. cd /home/user/Documents
复制代码


  • 说明:切换到绝对路径 /home/user/Documents 目录。

2. 返回上一级目录

  1. cd ..
复制代码


  • 说明:切换到当前目录的父目录。
示例
  1. $ pwd
  2. /home/user/Documents
  3. $ cd ..
  4. $ pwd
  5. /home/user
复制代码

3. 返回用户主目录

  1. cd ~
复制代码

  1. cd
复制代码


  • 说明:两种方式都可以快速切换到当前用户的主目录。
示例
  1. $ pwd
  2. /var/www/html
  3. $ cd ~
  4. $ pwd
  5. /home/user
复制代码

4. 切换到上一次地点的目录

  1. cd -
复制代码


  • 说明:在两个目录之间往返切换。
示例
  1. $ pwd
  2. /home/user
  3. $ cd /var/www/html
  4. $ pwd
  5. /var/www/html
  6. $ cd -
  7. $ pwd
  8. /home/user
  9. $ cd -
  10. $ pwd
  11. /var/www/html
复制代码

5. 使用相对路径切换目录

  1. cd ./subdir
复制代码

  1. cd subdir
复制代码


  • 说明:./ 表现当前目录,subdir 是当前目录下的子目录。

6. 切换到上级多级目录

  1. cd ../../another_dir
复制代码


  • 说明:连续使用多个 .. 可以快速返回多级父目录。
示例
  1. $ pwd
  2. /home/user/project/src/module
  3. $ cd ../../../../docs
  4. $ pwd
  5. /home/user/docs
复制代码

7. 使用环境变量切换目录

  1. cd $HOME/Documents
复制代码


  • 说明:使用环境变量 $HOME 表现用户的主目录。

8. 切换到根目录

  1. cd /
复制代码


  • 说明:切换到文件系统的根目录。

三、高级用法与技巧

1. 自动补全目录名



  • 使用 Tab 键:在输入目录路径时,按 Tab 键可以自动补全目录名,减少输入错误。
示例
  1. cd Doc<Tab>  # 如果当前目录下有 "Documents",会自动补全为 "cd Documents/"
复制代码

2. 使用通配符切换目录

  1. cd /var/www/*/html
复制代码


  • 说明:* 通配符匹配任意字符,适用于快速进入符合条件的目录。
示例
  1. $ ls /var/www/
  2. site1  site2  site3
  3. $ cd /var/www/*/html
  4. $ pwd
  5. /var/www/site1/html
复制代码

3. 切换到目录并显示路径

  1. cd /path/to/dir && pwd
复制代码


  • 说明:切换到目标目录后,立即显示当前路径。

4. 使用脚本或函数简化 cd 操纵

可以在 ~/.bashrc 或 ~/.zshrc 中定义函数,简化常用的目录切换。
示例
  1. # 在 ~/.bashrc 或 ~/.zshrc 中添加
  2. cdd() {
  3.     cd "$@" && ls -la
  4. }
  5. # 保存后执行 source ~/.bashrc 使函数生效
  6. # 使用方式
  7. cdd /path/to/dir
复制代码


  • 功能:切换到指定目录后,自动列出目录内容。

5. 快速返回之前的工作目录

除了 cd -,还可以使用环境变量记载之前的目录。
示例
  1. # 在 ~/.bashrc 或 ~/.zshrc 中添加
  2. alias back='cd "$OLDPWD"'
  3. # 使用方式
  4. cd /path/to/dir1
  5. cd /path/to/dir2
  6. back   # 返回 /path/to/dir1
复制代码

四、常见问题与办理方法

1. cd: no such file or directory 错误



  • 原因:目标目录不存在或路径错误。
  • 办理方法

    • 检查路径是否准确。
    • 使用 ls 命令确认目标目录是否存在。

示例
  1. $ cd /path/to/nonexistent_dir
  2. cd: no such file or directory: /path/to/nonexistent_dir
  3. $ ls /path/to/
  4. # 确认目录是否存在
复制代码

2. Permission denied 错误



  • 原因:没有权限访问目标目录。
  • 办理方法

    • 使用 sudo 提拔权限(谨慎使用)。
    • 检查目录权限,须要时接洽管理员。

示例
  1. $ cd /root
  2. bash: cd: /root: Permission denied
  3. # 解决方法(需要管理员权限)
  4. sudo cd /root  # 不推荐,cd 是 shell 内置命令,无法直接用 sudo
  5. # 正确做法:联系管理员或切换到有权限的用户
复制代码

3. 切换目录后命令未生效



  • 原因:可能使用了错误的路径或拼写错误。
  • 办理方法

    • 使用 pwd 确认当前目录。
    • 检查路径是否准确,尤其是相对路径和绝对路径的使用。

示例
  1. $ cd /home/user/Documets  # 注意拼写错误
  2. bash: cd: /home/user/Documets: No such file or directory
  3. $ cd /home/user/Documents   # 正确路径
复制代码

五、cd 命令与其他命令的组合使用

1. 切换目录并列出文件

  1. cd /path/to/dir && ls -lh
复制代码


  • 说明:切换到目标目录后,列出详细文件信息。

2. 切换目录并执行脚本

  1. cd /path/to/script_dir && ./run.sh
复制代码


  • 说明:进入脚本地点目录后,执行脚本文件。

3. 使用 pushd 和 popd 管理目录栈

pushd 和 popd 命令可以更方便地在多个目录之间切换。
示例
  1. $ pushd /path/to/dir1
  2. $ pwd
  3. /path/to/dir1
  4. $ pushd /path/to/dir2
  5. $ pwd
  6. /path/to/dir2
  7. $ popd
  8. $ pwd
  9. /path/to/dir1
复制代码


  • 功能:pushd 将当前目录压入栈并切换到目标目录,popd 切换回上一个目录。

六、总结

功能命令示例切换到指定绝对路径cd /home/user/Documents返回上一级目录cd ..返回用户主目录cd ~ 或 cd切换到上一次地点的目录cd -使用相对路径切换目录cd ./subdir返回多级父目录cd ../../another_dir切换目录并列出文件cd /path/to/dir && ls -lh使用环境变量切换目录cd $HOME/Documents快速返回之前的工作目录cd "$OLDPWD" 或自定义别名
实用技巧



  • 设置别名:在 ~/.bashrc 或 ~/.zshrc 中添加常用目录的别名,快速切换。
    1. alias proj='cd /path/to/project'
    复制代码
    使用
    1. proj
    复制代码
  • 自动补全:利用 Tab 键自动补全目录路径,减少输入错误。

把握 cd 命令的各种用法,可以资助你更高效地在 Linux 文件系统中导航和管理文件。建议结合实际需求,机动运用 cd 及其相关命令,提拔工作服从!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表