3.Linux目录相关命令

七言 2025-8-1 11 8/1

[TOC]

Linux目录相关命令

绝对路径和相对路径

  • 绝对路径:从根目录 / 开始的完整路径(如 /home/user/file.txt
  • 相对路径:相对于当前目录的路径(如 ./file.txt 表示当前目录下的文件)

目录操作命令

cd -切换目录

命令 作用 示例
cd /home/user 进入绝对路径 跳转到 user 的主目录
cd Documents 进入相对路径 进入当前目录下的 Documents
cd .. 上升一级目录 退回上级目录
cd ../.. 上升两级目录 跳转到上上级目录
cd - 返回上次所在目录 在 /tmp 和 /var 间快速切换
cd ~cd 返回当前用户家目录 快速回到 /home/用户名
cd ~user2 进入其他用户的家目录 进入 user2 的 /home/user2

pwd -显示当前目录

pwd [-P]  # -P 显示物理路径(非符号链接路径)

$ cd /var/mail
$ pwd       # 输出 /var/mail
$ pwd -P    # 输出 /var/spool/mail(实际物理路径)

ls -列出目录内容

ls [选项] [目录]
常用选项 作用 示例
ls 列出非隐藏文件 ls /tmp
ls -a 列出所有文件(含隐藏文件) ls -a(显示 .bashrc
ls -l 详细列表(权限/大小/时间) ls -l /home
ls -lh 人性化大小显示 (KB/MB/GB) ls -lh(显示 4.2K)
ls -t 按修改时间排序(最新在最前) ls -lt
ls -r 反向排序 ls -lrt(时间倒序)
ls -R 递归列出子目录内容 ls -R /etc
ls -d */ 仅显示目录(不显示内容) ls -d */
  • 执行ls -l后,会显示类似以下内容:

    -rw-r--r--  1 user group  1234 Jul 22 10:30 example.txt
    drwxr-xr-x  2 user group  4096 Jul 22 09:15 mydir
  • 每列含义

含义 示例
第1列 文件类型与权限 -rw-r--r--
第2列 硬链接数 1
第3列 文件所有者 user
第4列 所属用户组 group
第5列 文件大小(字节) 1234
第6列 最后修改时间 Jul 22 10:30
第7列 文件名 example.txt
  • 第1列第1个字符:文件类型

    • -:普通文件
    • d:目录
    • l:符号链接 - 类似于 Windows 的快捷方式
    • b:块设备文件 - 如硬盘分区
  • 第1列剩下的后9个字符:访问权限

    • 分成3组,每组3个字符

      • 第1组 (2-4位): 文件所有者 (owner) 的权限
      • 第2组 (5-7位): 文件所属用户组 (group) 的权限
      • 第3组 (8-10位): 其他用户 (others) 的权限
    • 每组中的字符含义:

      • r: 读权限 (read)
      • w: 写权限 (write)
      • x: 执行权限 (execute)
      • -: 表示没有该权限
  • 第2列字符:表示指向该文件(或目录)的硬链接数量,对于目录,这个数字至少为 2

  • 第3列字符:所有者 (Owner),拥有该文件或目录的用户名

  • 第4列字符:所属用户组 (Group),拥有该文件或目录的用户组名

  • 第5列字符:文件的大小,默认单位是字节 (bytes)

  • 第6列字符:最后修改时间 ,显示文件或目录内容最后被修改的日期和时间

  • 第7列字符:文件或目录名 (Name)

mkdir -创建目录

  1. 创建单个目录

    $ mkdir documents
    • 在当前目录创建名为documents的文件夹
  2. 创建多个目录

    $ mkdir images videos music
  • 同时创建三个目录:images,videos,music
  1. 创建具有特定权限的目录

    $ mkdir -m 750 secure_dir
    • 这会创建一个名为secure_dir的目录,并设置其权限为 750
    • 权限说明:所有者:读/写/执行 (7)、组用户:读/执行 (5)、其他用户:无权限 (0)
  2. 递归创建多级目录

    $ mkdir -p project/src/main/java
    • 这会创建 projectproject/srcproject/src/mainproject/src/main/java目录,前提是它们之前都不存在
project/
└── src/
    └── main/
        └── java/
  1. 创建目录并显示过程
    $ mkdir -v backups/logs
    • 这会创建logs目录,并显示创建过程
      mkdir: created directory 'backups'
      mkdir: created directory 'backups/logs'

rm -删除目录

  • -r:删除目录及子目录,目录下如果有子目录及文件也会被删除
  • -f:不询问直接删除(无确认提示,忽略不存在的文件)
$ rm -rf test/* # 删除test目录下的所有内容

$ rm -rf test/  # 删除test目录及其所有子目录和文件

$ rm -rf test   # 删除test文件,为目录时与test/一样
- THE END -

七言

8月01日16:04

最后修改:2025年8月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论