Search code examples
shellunixbinaryfiles

How to check if a file is binary?


How can I know if a file is a binary file?

For example, a compiled C file is a binary file.

I want to read all files from some directory, but I want to ignore binary files.


Solution

  • Use utility file, sample usage:

     $ file /bin/bash
     /bin/bash: Mach-O universal binary with 2 architectures
     /bin/bash (for architecture x86_64):   Mach-O 64-bit executable x86_64
     /bin/bash (for architecture i386): Mach-O executable i386
    
     $ file /etc/passwd
     /etc/passwd: ASCII English text
    
     $ file code.c
     code.c: ASCII c program text
    

    file manual page