Linux絮絮叨(六) 文件与目录管理

Linux 的目录结构为树状结构,最顶级目录为根目录 /

绝对路径与相对路径

  • 绝对路径 :以 / 为起点的路径,例如 /usr/share/doc
  • 相对路径 :以当前路径为起点的路径,例如 cd ../man

常用命令

1. ls (列出目录内容)

功能 :列出目录中的文件与目录。
语法

bash 复制代码
ls [-aAdfFhilnrRSt] 目录名称

常用选项

  • -a:列出所有文件(包括隐藏文件)。
  • -l:以长格式显示文件信息。
  • -d:只显示目录本身,而不是目录内容。

示例

bash 复制代码
ls -al ~   # 显示家目录的所有文件与详细信息

2. cd (切换目录)

功能 :切换工作目录。
语法

bash 复制代码
cd [相对路径或绝对路径]

常用操作

  • cd /root/runoob/:使用绝对路径切换到目录。
  • cd ./runoob/:使用相对路径切换到目录。
  • cd ~:切换到用户的家目录。
  • cd ..:切换到上一级目录。

3. pwd (显示当前目录)

功能 :显示当前工作目录路径。
语法

bash 复制代码
pwd [-P]

选项

  • -P:显示实际路径(解析符号链接)。

示例

bash 复制代码
pwd       # 显示当前目录
pwd -P    # 显示实际目录(解析链接)

4. mkdir (创建目录)

功能 :创建新目录。
语法

bash 复制代码
mkdir [-mp] 目录名称

选项

  • -m:设置目录权限。
  • -p:递归创建多层目录。

示例

bash 复制代码
mkdir test                     # 创建单个目录
mkdir -p test1/test2/test3     # 创建多层目录
mkdir -m 711 test2             # 创建权限为 rwx--x--x 的目录

5. rmdir (删除空目录)

功能 :删除空目录。
语法

bash 复制代码
rmdir [-p] 目录名称

选项

  • -p:一次性删除多级空目录。

示例

bash 复制代码
rmdir runoob/                   # 删除空目录
rmdir -p test1/test2/test3/test4  # 递归删除多级空目录

6. cp (复制文件或目录)

功能 :复制文件或目录。
语法

bash 复制代码
cp [-adfilprsu] 来源 目标

常用选项

  • -a:递归复制,并保留属性。
  • -i:覆盖时提示确认。
  • -r:递归复制目录。
  • -p:保留文件权限和时间戳。

示例

bash 复制代码
cp ~/.bashrc /tmp/bashrc   # 复制文件
cp -i ~/.bashrc /tmp/bashrc  # 覆盖前提示

7. rm (删除文件或目录)

功能 :删除文件或目录。
语法

bash 复制代码
rm [-fir] 文件或目录

选项

  • -f:强制删除。
  • -i:删除前提示确认。
  • -r:递归删除目录及其内容。

示例

bash 复制代码
rm -i bashrc   # 删除文件,提示确认
rm -rf /tmp/test_dir  # 强制递归删除目录

8. mv (移动或重命名)

功能 :移动文件或目录,或重命名。
语法

bash 复制代码
mv [-fiu] 来源 目标

选项

  • -f:强制覆盖目标文件。
  • -i:覆盖前提示确认。
  • -u:仅当来源比目标新时更新。

示例

bash 复制代码
mv bashrc mvtest/          # 移动文件到目录
mv mvtest mvtest2          # 重命名目录

补充说明

  • 使用 man [命令] 可以查看命令的详细使用说明,例如 man cp
相关推荐
ldinvicible几秒前
How to run Flutter on an Embedded Device
linux
YRr YRr1 小时前
解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误
linux·opencv·ubuntu
认真学习的小雅兰.1 小时前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker
zhou周大哥1 小时前
linux 安装 ffmpeg 视频转换
linux·运维·服务器
不想起昵称9292 小时前
Linux SHELL脚本中的变量与运算
linux
loong_XL2 小时前
服务器ip:port服务用nginx 域名代理
服务器·tcp/ip·nginx
夕泠爱吃糖2 小时前
C++中如何实现序列化和反序列化?
服务器·数据库·c++
the丶only2 小时前
单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
linux·运维·服务器·docker·gitlab
书生-w2 小时前
Docker部署GitLab服务器
服务器·docker·gitlab