在Ruby中,可以使用内置的Dir
类和相关的模块来实现目录操作。以下是一些常见的目录操作示例:
- 创建目录:
Dir.mkdir("new_directory") # 创建一个名为 "new_directory" 的目录 Dir.mkdir("new_directory", 0755) # 创建一个名为 "new_directory" 的目录,并设置权限为 0755(所有者可读写执行,组可读执行,其他用户可读执行)
- 创建多层目录:
Dir.mkdir("parent_directory/child_directory") # 如果 "parent_directory" 不存在,将创建一个名为 "parent_directory/child_directory" 的目录
- 检查目录是否存在:
Dir.exist?("directory_name") # 返回 true 如果 "directory_name" 存在,否则返回 false
- 列出目录内容:
Dir.entries("directory_name") # 返回一个包含 "directory_name" 目录中所有文件和子目录的数组
- 读取目录内容:
files = Dir["directory_name/*"] # 返回一个包含 "directory_name" 目录中所有文件的数组 dirs = Dir["directory_name/*"] # 返回一个包含 "directory_name" 目录中所有子目录的数组
- 删除目录:
Dir.rmdir("directory_name") # 删除名为 "directory_name" 的空目录 Dir.rmdir("directory_name", true) # 删除名为 "directory_name" 的目录及其内容(如果为空)
- 删除空目录及其内容:
Dir.rmtree("directory_name") # 删除名为 "directory_name" 的目录及其所有内容(包括子目录和文件)
注意:在使用这些方法时,请确保具有适当的文件权限,以避免权限不足导致的错误。