Skip to content

Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →

instance method

FileTest#blockdev?

(::path | ::io file_name) -> bool
File.blockdev?(object) → true or false

Returns whether object (a path or IO object) represents a block device (i.e., a direct-access device):

Example
File.blockdev?('/dev/nvme0n1') # => true
File.blockdev?('/dev/loop0')   # => true
File.blockdev?('/dev/tty')     # => false
File.blockdev?('/dev/null')    # => false
File.blockdev?('nosuch')       # => false
File.blockdev?($stdin)         # => false

The returned value is filesystem-dependent; returns false on Windows or MacOS.

See also #chardev? #directory? also in 4.0 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0