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

The Serial Interface

In Ubuntu Linux, the operating system interacts with unbuffered, character-by-character hardware streams (like serial ports, virtual terminals, and audio soundcards) using special representations called “Character Device” files. Unlike a hard drive that reads data in massive blocks, a character device streams data one byte at a time. If you are debugging a malfunctioning serial connection (like /dev/ttyS0) or auditing terminal assignments, you cannot use a standard file search. You must explicitly filter your search engine to isolate these specific hardware stream endpoints.

Using the find Command with -type c

The Linux find command utilizes the -type c flag to exclusively search for hardware Character Device files, ignoring all standard text files, directories, and block storage drives.

  1. Open your Terminal application (Ctrl + Alt + T) or log into your server via SSH.
  2. To scan the /dev/ directory and return a list of all active character devices (such as tty terminals), type the following command exactly:
  3. find /dev/ -type c
  4. Press Enter.

Isolating Data Streams

The -type flag operates as a strict architectural filter. While -type b finds hard drives, -type c restricts the search strictly to character-oriented hardware interfaces. The output will immediately list hundreds of system endpoints, including /dev/null (the data black hole), /dev/random (the random number generator), and your active tty and pts terminal sessions. This command allows administrators to rapidly verify that critical system data streams are properly mounted and recognized by the Linux kernel, without having to manually parse through thousands of irrelevant system files.

Get the best tech tips delivered straight to your inbox.

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