Linux 目录操作命令详解:从浏览到管理的核心工具
目录操作是 Linux 命令行的基础,掌握 ls、cd、mkdir、rmdir 和 pwd 等命令能让你高效管理文件系统结构。本文将详细解析这些命令的用法、选项及实战技巧,帮助你熟练应对目录相关操作。
文件与目录列表:ls 命令
ls(list)命令用于列出目录中的文件和子目录,是最常用的 Linux 命令之一。通过不同选项,可灵活控制显示格式和内容。
基本用法
核心选项详解
| 选项 |
功能描述 |
示例 |
|
-l |
以长格式显示详细信息(权限、所有者、大小、修改时间等)。 |
ls -l /home 列出 /home 目录的详细内容 |
|
-a |
显示所有文件(包括隐藏文件,以 . 开头的文件),包含 .(当前目录)和 ..(父目录)。 |
ls -a 显示当前目录所有文件 |
|
-A |
显示所有文件(包括隐藏文件),但不包含 . 和 ..。 |
ls -A 更简洁地显示隐藏文件 |
|
-h |
以人性化单位显示文件大小(如 K、M、G),需配合 -l 使用。 |
ls -lh 显示文件大小(如 1.5K、2.3M) |
|
-t |
按修改时间排序(最新修改的文件在前)。 |
ls -lt 按修改时间降序列出文件 |
|
-r |
反向排序(与 -t 配合可实现按修改时间升序)。 |
ls -ltr 按修改时间升序列出文件 |
|
-S |
按文件大小排序(从大到小)。 |
ls -lS 按大小降序列出文件 |
|
-d |
仅显示目录本身的信息,而非目录内的内容。 |
ls -ld /etc 显示 /etc 目录的详细信息 |
|
-i |
显示文件的inode 编号(文件系统中唯一标识)。 |
ls -i 查看当前目录文件的 inode |
|
-R |
递归列出所有子目录中的内容(遍历整个目录树)。 |
ls -R /var 递归列出 /var 下所有文件 |
|
-F |
在文件名后添加符号标识类型(目录加 /,可执行文件加 *,链接加 @)。 |
ls -F 直观区分文件类型 |
|
-1 |
强制单列输出(数字 1),适合管道处理(如 `ls -1 |
grep “txt”`)。 |
ls -1 单列显示文件 |
过滤器:模式匹配
ls 支持通过通配符快速筛选文件,常用通配符:
*:匹配任意数量的任意字符(包括零个)。
?:匹配单个任意字符。
示例
1 2 3 4 5 6 7 8 9 10 11
| ls -l *.txt
ls -l file?
ls -l 2023*.log
ls -l *data*
|
切换目录:cd 命令
cd(change directory)命令用于切换当前工作目录,是导航文件系统的核心命令。
基本用法
常用场景
| 命令 |
功能描述 |
cd |
不带参数时,默认切换到当前用户的主目录(~ 等价)。 |
cd ~ |
切换到当前用户的主目录(同 cd)。 |
cd ~用户名 |
切换到指定用户的主目录(如 cd ~root 切换到 /root)。 |
cd . |
切换到当前目录(无实际意义,常用于脚本)。 |
cd .. |
切换到父目录(上一级目录)。 |
cd - |
切换到上一次所在的目录(类似 “返回” 功能)。 |
cd /path/to/dir |
通过绝对路径切换目录(从根目录 / 开始)。 |
cd ./path/to/dir |
通过相对路径切换目录(从当前目录开始)。 |
示例
1 2 3 4 5 6 7 8 9 10 11 12
| cd /usr/local
cd ./documents
cd ../../
cd ~ cd -
|
创建目录:mkdir 命令
mkdir(make directory)命令用于创建新目录,支持一次性创建多级目录。
基本用法
核心选项
| 选项 |
功能描述 |
示例 |
-p |
递归创建目录,若父目录不存在则自动创建(无需手动逐级创建)。 |
mkdir -p /a/b/c 创建多级目录 /a/b/c |
-m |
自定义目录权限(默认权限由 umask 决定,通常为 755)。 |
mkdir -m 777 shared 创建权限为 777 的目录 |
-v |
显示创建目录的详细过程(verbose)。 |
mkdir -v test 输出 “mkdir: 已创建目录 ‘test’” |
示例
1 2 3 4 5 6 7 8 9 10 11
| mkdir photos
mkdir docs music videos
mkdir -p project/src/main/java
mkdir -m 700 private
|
删除目录:rmdir 命令
rmdir(remove directory)命令用于删除空目录,若目录非空则无法删除(需先删除目录内文件)。
基本用法
核心选项
| 选项 |
功能描述 |
示例 |
-p |
递归删除空目录,若父目录变为空则一并删除(需从子目录开始)。 |
rmdir -p a/b/c 若 a/b/c、a/b、a 均为空,则全部删除 |
-v |
显示删除过程的详细信息。 |
rmdir -v old_dir 输出 “rmdir: 已删除目录 ‘old_dir’” |
示例
1 2 3 4 5
| rmdir temp
rmdir -p a/b/c
|
注意:rmdir 仅能删除空目录。若要删除非空目录,需使用 rm -r 命令(如 rm -r non_empty_dir),但需谨慎操作避免误删数据。
显示当前目录:pwd 命令
pwd(print working directory)命令用于显示当前工作目录的绝对路径,是定位当前位置的常用工具。
基本用法
示例
实战技巧与常见场景
快速列出最近修改的文件:
查找大文件:
创建项目目录结构:
1 2
| mkdir -p project/{src/{main,test}/java,docs,target}
|
快速返回主目录并列出内容:
查看目录占用空间:
结合 du 命令(ls 不直接显示目录总大小):
v1.3.10