[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 -创建目录
-
创建单个目录
$ mkdir documents
- 在当前目录创建名为
documents
的文件夹
- 在当前目录创建名为
-
创建多个目录
$ mkdir images videos music
- 同时创建三个目录:
images
,videos
,music
-
创建具有特定权限的目录
$ mkdir -m 750 secure_dir
- 这会创建一个名为
secure_dir
的目录,并设置其权限为 750 - 权限说明:所有者:读/写/执行 (7)、组用户:读/执行 (5)、其他用户:无权限 (0)
- 这会创建一个名为
-
递归创建多级目录
$ mkdir -p project/src/main/java
- 这会创建
project
、project/src
和project/src/main
、project/src/main/java
目录,前提是它们之前都不存在
- 这会创建
project/
└── src/
└── main/
└── java/
- 创建目录并显示过程
$ 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 -
最后修改:2025年8月1日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qian777.cn/50.html
共有 0 条评论