LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   What is Binary File ? (https://www.linuxquestions.org/questions/linux-newbie-8/what-is-binary-file-877589/)

gardenair 04-28-2011 06:48 AM

What is Binary File ?
 
Hello,
I want to know that what are binary files in Linux. What are its purpose to make file binary?

thanks
garden

omgs 04-28-2011 07:11 AM

A binary file is a "non-human" readable file, i.e., code to be interpreted by the OS or any app, not to be read. Just think as the opposite for a text file. You can use the "file" command on any file to get its type.

sibe 04-28-2011 07:32 AM

Hi,

Machines speak binary, any other language would have to be translated before any machine could understand what it means to them. For example; if I say "halo, apa kabar" to you, the words need to be translated to "hello, how are you" before you can give an answer to me. The sole purpose of translating programming languages to binary is to communicate; to be able to understand each other's way of speak, read, write and execute.

But why binary? Why not English? Why not even C?

The answer to those questions is lying under our hardware's top case. Down there inside the memory, there are rooms for only two states of electricity; whether electric currents are present, or whether they are not, at any given time. A fancy loop of C codes would have to be translated in some way to represent either state of the electricity on the hardware.

I am not a binary expert, but I hope this will bring some light into it.

lupusarcanus 04-28-2011 07:35 AM

http://en.wikipedia.org/wiki/Binary_file
http://en.wikipedia.org/wiki/Executable
http://en.wikipedia.org/wiki/Binary_code
http://www.linfo.org/binary_file.html
man -k binary

Binary files in Linux are often compiled C/C++ code.

Soadyheid 04-28-2011 09:46 AM

I think it would be fair to say that binary files are machine code files, where source code files are files editable under whatever language they were written in; C, C+, C#, Fortran, Pascal, etc. (OK, I'm probably wrong in that some languages require a run-time environment to be executed in, and therefore are actually at some intermediate stage. Java for instance.)

In general, under Linux, binaries are machine code executable files.

Microsoft only supplies software as binaries, i.e. you can't change anything, it's "as is", Like it or Lump it!

So... That's my understanding as a non-programmer. Hopefully someone who "bit-fiddles" for a living can correct any of my misconceptions. :)


Play Bonny! :hattip:


All times are GMT -5. The time now is 11:16 PM.