Ruby 是一种动态、面向对象的编程语言,它提供了丰富的库和方法来处理文件系统
- 使用 File 类:
File 类提供了许多实例方法来操作文件。例如,你可以使用
File.open
方法打开一个文件,然后使用read
、write
等方法来读取或写入文件内容。此外,还可以使用File.exist?
方法检查文件是否存在,使用File.delete
方法删除文件等。
# 创建一个新文件并写入内容
file = File.new("example.txt", "w")
file.write("Hello, World!")
file.close
# 读取文件内容
file = File.open("example.txt", "r")
content = file.read
file.close
puts content
- 使用 Dir 类:
Dir 类提供了操作目录的方法。例如,你可以使用
Dir.mkdir
方法创建一个新目录,使用Dir.entries
方法列出目录中的所有文件和子目录等。
# 创建一个新目录
Dir.mkdir("new_directory")
# 列出目录中的所有文件和子目录
entries = Dir.entries("new_directory")
entries.each { |entry| puts entry }
- 使用 FileUtils 模块:
FileUtils 模块提供了一些实用的文件和目录操作方法。例如,你可以使用
FileUtils.cp
方法复制文件,使用FileUtils.mv
方法移动文件或目录,使用FileUtils.rm_rf
方法递归删除目录等。
require 'fileutils'
# 复制文件
FileUtils.cp("source.txt", "destination.txt")
# 移动文件或目录
FileUtils.mv("old_name.txt", "new_name.txt")
# 递归删除目录
FileUtils.rm_rf("directory_to_remove")
- 使用 Pathname 类:
Pathname 类提供了一种更面向对象的方式来处理文件和目录路径。你可以使用
/
运算符来连接路径,使用+
运算符来添加文件名等。此外,Pathname 类还提供了许多实例方法来操作文件和目录,例如exist?
、directory?
、readable?
等。
require 'pathname'
# 创建一个 Pathname 对象
path = Pathname.new("/home/user/documents")
# 连接路径
new_path = path / "example.txt"
# 检查文件是否存在
puts new_path.exist?
这些方法和类为 Ruby 在 Linux 中处理文件系统提供了强大的支持。你可以根据自己的需求选择合适的方法来实现文件和目录的操作。