How to Find Character Device Files in Ubuntu (find -type c)

The Stream Device Audit

In Ubuntu Linux, hardware that streams data sequentially byte-by-byte (such as keyboards, mice, serial ports, and random number generators like /dev/urandom) is represented on the filesystem as “character device files.” These are fundamentally different from block devices (like hard drives) that handle data in massive, buffered chunks. If you are debugging a malfunctioning serial terminal or auditing the system for a rogue USB keystroke injector, you must explicitly search the filesystem for these specific streaming interfaces.

Using the find Command with -type c

The Linux find command utilizes the -type c flag to exclusively isolate character device files representing streaming hardware.

  1. Open your Terminal application (Ctrl + Alt + T) or log into your server via SSH.
  2. To scan the /dev/ directory and return an exact list of every single connected character device, type the following command exactly:
  3. find /dev/ -type c
  4. Press Enter.

Hardware Forensics

The -type c flag acts as a strict structural filter. It completely ignores standard directories, symlinks, and block storage devices (-type b). It will only return files that the Linux kernel has mathematically identified as character-based streaming hardware (indicated by a c in the ls -l output). This command is an absolute necessity for system administrators attempting to diagnose a missing serial port (e.g., locating /dev/ttyS0) or verifying the existence of critical system generators like /dev/null.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.