5

I'm new to Ubuntu. What's the application extension for development reasons? I know Windows is mainly .exe and Mac is .dmg or .app. Does Linux have an unique one?

1
  • 1
    Incidentally, Mac OS X actually under the cover works the same way as Linux - the fact that a file is executable depends from it being marked with the "executable bit". .app normally aren't executables, they are camouflaged directories that constitute the application bundle; also, .dmg files are more like installation packages (a .deb on Ubuntu and other Debian-derived distros, .rpm on other distros, .msi on Windows). Oct 28, 2013 at 1:28

4 Answers 4

15

In general, in Linux, and so in Ubuntu, the applications do not have extensions. Some examples: nautilus, firefox, gnome-terminal, and so on.

Applications are usually located in these directories /usr/local/sbin, /usr/local/bin, /usr/sbin, /usr/bin, /sbin, /bin, /usr/games, /usr/local/games and others.

You can determine whether a file can be an application if and only if that file is executable. Use ls -l filename, or stat filename, or file filename to determine this. If that filename have this permissions: -rwxr-xr-x, then that file is sure executable.

ls -l

(source of the image: http://www.csit.parkland.edu/~smauney/csc128/fig_permissions.jpg)

0

Extensions are file name suffixes that start with a period. Usually, they are two or three letters long.Linux can read many file extensions used by other platforms. In Linux you usually compile and run a file manually. The file can be a python script or debian software package or even .exe which can be executed using Wine

Here is a list of some file extension

.bz2 - compressed with the bzip2 compression utility

.c - C language source code

.conf and cfg - configuration file

.d - directory containing scripts or configuration files

.deb - Debian software package

.gz - compressed using the gzip utility

.java - Java source code

.rc - run command configuration data

.rpm - Red Hat Package Manager software package

.so - shared object in a dynamic library

.tar - archive created with the tar utility

.tex - text formatted in the TeX or LaTeX formatting language

.sh - Shell script

.pl - Perl Script

0

In Ubuntu there is no limitation to the extension of the file . The file ending just describes what or how a file is "executed".

For example a shell script ends with .sh , an installer file ends with .deb . .gz for files compressed using the gzip utility ..tar - archive created with the tar files ..bz2 for files compressed with the bzip2 compression utility

As far as comparision with exe of Windows, in Linux nearly all files can be executable or made executable by proper permissions

To check if a file (This is for a file not directory as I remove "-" specifying it) is executable type

ls -al filename | tr -s ' ' | cut -f1 -d' ' | cut -f2 -d-

You will find a list of 9 elements with the first three specifying the permission for the owner of the file , the next specifying the permission for the groups to which the owner belongs and the last three for others .The 'x'(the executable bit) in it represents the executable permission.

This is departure from the way Windows treat an executable is by extension , In *nix anything can be executable.

0

on linux you don't get executable directly. instead you get packages that contains the executables together with some information about the package and some configuration scripts to either compile a package optimized for your hardware or just to show where the precompiled binary should be installed and what dependencies it needs.

the binary haven't any extension it's only the name. but the package itself have an extension. debian, ubuntu and other ubuntu derivatives uses the extension .deb distros like fedora, centos, RHEL and opensuse uses the .rpm format.

.deb and .rpm is the primary package formats.

there's also .tar.gz. when talking about software packages .tar.gz is often a source package (containing the source code).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .