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
相关推荐
袋鼠云数栈9 分钟前
使用自然语言体验对话式MySQL数据库运维
大数据·运维·数据库·后端·mysql·ai·数据治理·数栈·data+ai
tao35566732 分钟前
树莓派免密登录(vs code/cursor)
linux·嵌入式硬件·ssh
是阿建吖!37 分钟前
【Linux | 网络】socket编程 - 使用UDP实现服务端向客户端提供简单的服务
linux·网络·udp
Clownseven1 小时前
SFTP服务器搭建实战:腾讯云 Linux 上的快速安全文件传输方案
linux·服务器·腾讯云
chuanauc2 小时前
记录一次在 centos 虚拟机 中 安装 Java环境
java·linux·centos
企鹅侠客2 小时前
Bash与Zsh与Fish:在Linux中你应该使用哪个Shell
linux·开发语言·bash·zsh·fish
脑袋大大的3 小时前
钉钉企业应用开发技巧:在单聊会话中实现互动卡片功能
服务器·microsoft·钉钉·企业应用开发
海星船长丶3 小时前
基于docker进行渗透测试环境的快速搭建(在ubantu中docker设置代理)
运维·docker·容器
qinyia4 小时前
利用Wisdom SSH高效搭建CI/CD工作流
运维·ci/cd·ssh
是阿建吖!4 小时前
【Linux | 网络】socket编程 - 使用TCP实现服务端向客户端提供简单的服务
linux·网络·tcp/ip