惊雷无声 发表于 2025-4-21 09:03:52

Linux 常用命令——cd 详解

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

cd [目录路径]

[*]​目录路径:目标目录的绝对路径或相对路径。可以省略目录路径,默认切换到用户的主目录。
​二、常用用法与示例

​1. 切换到指定目录

cd /home/user/Documents

[*]​说明:切换到绝对路径 /home/user/Documents 目录。
​2. 返回上一级目录

cd ..

[*]​说明:切换到当前目录的父目录。
示例:
$ pwd
/home/user/Documents
$ cd ..
$ pwd
/home/user ​3. 返回用户主目录

cd ~ 或
cd

[*]​说明:两种方式都可以快速切换到当前用户的主目录。
示例:
$ pwd
/var/www/html
$ cd ~
$ pwd
/home/user ​4. 切换到上一次地点的目录

cd -

[*]​说明:在两个目录之间往返切换。
示例:
$ pwd
/home/user
$ cd /var/www/html
$ pwd
/var/www/html
$ cd -
$ pwd
/home/user
$ cd -
$ pwd
/var/www/html ​5. 使用相对路径切换目录

cd ./subdir 或
cd subdir

[*]​说明:./ 表现当前目录,subdir 是当前目录下的子目录。
​6. 切换到上级多级目录

cd ../../another_dir

[*]​说明:连续使用多个 .. 可以快速返回多级父目录。
示例:
$ pwd
/home/user/project/src/module
$ cd ../../../../docs
$ pwd
/home/user/docs ​7. 使用环境变量切换目录

cd $HOME/Documents

[*]​说明:使用环境变量 $HOME 表现用户的主目录。
​8. 切换到根目录

cd /

[*]​说明:切换到文件系统的根目录。
​三、高级用法与技巧

​1. 自动补全目录名



[*]​使用 Tab 键:在输入目录路径时,按 Tab 键可以自动补全目录名,减少输入错误。
示例:
cd Doc<Tab># 如果当前目录下有 "Documents",会自动补全为 "cd Documents/" ​2. 使用通配符切换目录

cd /var/www/*/html

[*]​说明:* 通配符匹配任意字符,适用于快速进入符合条件的目录。
示例:
$ ls /var/www/
site1site2site3
$ cd /var/www/*/html
$ pwd
/var/www/site1/html ​3. 切换到目录并显示路径

cd /path/to/dir && pwd

[*]​说明:切换到目标目录后,立即显示当前路径。
​4. 使用脚本或函数简化 cd 操纵

可以在 ~/.bashrc 或 ~/.zshrc 中定义函数,简化常用的目录切换。
示例:
# 在 ~/.bashrc 或 ~/.zshrc 中添加
cdd() {
    cd "$@" && ls -la
}

# 保存后执行 source ~/.bashrc 使函数生效

# 使用方式
cdd /path/to/dir

[*]​功能:切换到指定目录后,自动列出目录内容。
​5. 快速返回之前的工作目录

除了 cd -,还可以使用环境变量记载之前的目录。
示例:
# 在 ~/.bashrc 或 ~/.zshrc 中添加
alias back='cd "$OLDPWD"'

# 使用方式
cd /path/to/dir1
cd /path/to/dir2
back   # 返回 /path/to/dir1 ​四、常见问题与办理方法

​1. cd: no such file or directory 错误



[*]​原因:目标目录不存在或路径错误。
[*]​办理方法:

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

示例:
$ cd /path/to/nonexistent_dir
cd: no such file or directory: /path/to/nonexistent_dir

$ ls /path/to/
# 确认目录是否存在 ​2. Permission denied 错误



[*]​原因:没有权限访问目标目录。
[*]​办理方法:

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

示例:
$ cd /root
bash: cd: /root: Permission denied

# 解决方法(需要管理员权限)
sudo cd /root# 不推荐,cd 是 shell 内置命令,无法直接用 sudo
# 正确做法:联系管理员或切换到有权限的用户 ​3. 切换目录后命令未生效



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

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

示例:
$ cd /home/user/Documets# 注意拼写错误
bash: cd: /home/user/Documets: No such file or directory

$ cd /home/user/Documents   # 正确路径 ​五、cd 命令与其他命令的组合使用

​1. 切换目录并列出文件

cd /path/to/dir && ls -lh

[*]​说明:切换到目标目录后,列出详细文件信息。
​2. 切换目录并执行脚本

cd /path/to/script_dir && ./run.sh

[*]​说明:进入脚本地点目录后,执行脚本文件。
​3. 使用 pushd 和 popd 管理目录栈

pushd 和 popd 命令可以更方便地在多个目录之间切换。
示例:
$ pushd /path/to/dir1
$ pwd
/path/to/dir1

$ pushd /path/to/dir2
$ pwd
/path/to/dir2

$ popd
$ pwd
/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 中添加常用目录的别名,快速切换。
alias proj='cd /path/to/project' ​使用:
proj
[*] ​自动补全:利用 Tab 键自动补全目录路径,减少输入错误。
把握 cd 命令的各种用法,可以资助你更高效地在 Linux 文件系统中导航和管理文件。建议结合实际需求,机动运用 cd 及其相关命令,提拔工作服从!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux 常用命令——cd 详解