0%

linux目录操作命令

Linux 目录操作命令详解:从浏览到管理的核心工具

目录操作是 Linux 命令行的基础,掌握 lscdmkdirrmdirpwd 等命令能让你高效管理文件系统结构。本文将详细解析这些命令的用法、选项及实战技巧,帮助你熟练应对目录相关操作。

文件与目录列表:ls 命令

ls(list)命令用于列出目录中的文件和子目录,是最常用的 Linux 命令之一。通过不同选项,可灵活控制显示格式和内容。

基本用法

1
2
ls [选项] [目录/文件路径]
# 若不指定路径,默认列出当前目录内容

核心选项详解

选项 功能描述 示例
-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
# 列出所有以 ".txt" 结尾的文件
ls -l *.txt

# 列出以 "file" 开头、后跟一个字符的文件(如 file1、fileA)
ls -l file?

# 列出以 "2023" 开头且以 ".log" 结尾的文件
ls -l 2023*.log

# 列出名称中包含 "data" 的文件
ls -l *data*

切换目录:cd 命令

cd(change directory)命令用于切换当前工作目录,是导航文件系统的核心命令。

基本用法

1
cd [目录路径]

常用场景

命令 功能描述
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
# 切换到 /usr/local 目录(绝对路径)
cd /usr/local

# 从当前目录切换到子目录 documents(相对路径)
cd ./documents

# 切换到父目录的父目录(上两级)
cd ../../

# 切换到主目录,再返回上一次的目录
cd ~
cd - # 回到之前的目录

创建目录:mkdir 命令

mkdir(make directory)命令用于创建新目录,支持一次性创建多级目录。

基本用法

1
mkdir [选项] 目录名

核心选项

选项 功能描述 示例
-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

# 创建权限为 700 的目录(仅所有者可读写执行)
mkdir -m 700 private

删除目录:rmdir 命令

rmdir(remove directory)命令用于删除空目录,若目录非空则无法删除(需先删除目录内文件)。

基本用法

1
rmdir [选项] 目录名

核心选项

选项 功能描述 示例
-p 递归删除空目录,若父目录变为空则一并删除(需从子目录开始)。 rmdir -p a/b/ca/b/ca/ba 均为空,则全部删除
-v 显示删除过程的详细信息。 rmdir -v old_dir 输出 “rmdir: 已删除目录 ‘old_dir’”
示例
1
2
3
4
5
# 删除空目录 temp
rmdir temp

# 递归删除空目录结构(a/b/c 均为空)
rmdir -p a/b/c

注意rmdir 仅能删除空目录。若要删除非空目录,需使用 rm -r 命令(如 rm -r non_empty_dir),但需谨慎操作避免误删数据。

显示当前目录:pwd 命令

pwd(print working directory)命令用于显示当前工作目录的绝对路径,是定位当前位置的常用工具。

基本用法

1
pwd
示例
1
2
3
# 显示当前目录的绝对路径
pwd
# 输出示例:/home/user/documents

实战技巧与常见场景

  1. 快速列出最近修改的文件

    1
    ls -lht  # 按修改时间降序,显示详细信息和人性化大小
  2. 查找大文件

    1
    ls -lS | head -n 10  # 列出当前目录中最大的 10 个文件
  3. 创建项目目录结构

    1
    2
    mkdir -p project/{src/{main,test}/java,docs,target}
    # 递归创建 Maven 项目常见目录结构
  4. 快速返回主目录并列出内容

    1
    cd ~ && ls -la  # 切换到主目录并显示所有文件(包括隐藏文件)
  5. 查看目录占用空间
    结合 du 命令(ls 不直接显示目录总大小):

    1
    du -sh /var/log  # 显示 /var/log 目录的总大小(人性化单位)

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10