开发工具

Shell 目录操作命令

15 篇文章37 次收藏

在 Shell 中,目录操作是常见的任务之一,以下是一些常用的目录操作命令及其实例:

目录创建

命令功能描述实例
mkdir创建一个或多个新目录mkdir newdir 创建一个名为 newdir 的新目录
mkdir -p递归创建目录,如果父目录不存在则一并创建mkdir -p parent/child/grandchild 递归创建 parent/child/grandchild 目录结构


目录查看

命令功能描述实例
ls列出目录内容ls 列出当前目录的内容
ls -l以长格式列出目录内容,包括权限、所有者、大小和修改时间等信息ls -l 以长格式列出当前目录的内容
ls -a列出包括隐藏文件在内的所有文件ls -a 列出当前目录的所有文件,包括以 . 开头的隐藏文件
ls -R递归列出目录内容,包括子目录及其内容ls -R 递归列出当前目录及其所有子目录的内容


目录切换

命令功能描述实例
cd切换当前工作目录cd /path/to/directory 切换到指定目录
cd ..切换到父目录cd .. 切换到当前目录的上一级目录
cd ~切换到用户主目录cd ~ 切换到当前用户的主目录
cd -切换到上一个工作目录cd - 切换到最近访问过的上一个目录


目录删除

命令功能描述实例
rmdir删除空目录rmdir emptydir 删除名为 emptydir 的空目录
rm -r递归删除目录及其内容rm -r dir 递归删除名为 dir 的目录及其所有内容


实例演示

假设我们有一个项目目录结构如下:

/my/project
├── src
│   └── main.c
├── include
│   └── header.h
└── build


1、创建新目录:

mkdir /my/project/docs

这将在 /my/project 目录下创建一个名为 docs 的新目录。


2、查看目录内容:

ls -l /my/project

这将以长格式列出 /my/project 目录的内容,包括新创建的 docs 目录。


3、切换到指定目录:

cd /my/project/src

这将切换到 /my/project/src 目录。


4、删除空目录(假设 docs 目录现在是空的):

rmdir /my/project/docs

这将删除 /my/project 目录下的 docs 空目录。


5、递归删除目录及其内容(假设我们不再需要 build 目录及其内容):

rm -r /my/project/build

这将递归删除 /my/project 目录下的 build 目录及其所有内容。


请注意,在使用 rm -r 命令删除目录及其内容时,请务必小心,因为一旦删除,文件将无法恢复。