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?
In general, in Linux, and so in Ubuntu, the applications do not have extensions. Some examples:
gnome-terminal, and so on.
Applications are usually located in these directories
/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.
(source of the image: http://www.csit.parkland.edu/~smauney/csc128/fig_permissions.jpg)
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
Here is a list of some file extension
.bz2 - compressed with the bzip2 compression utility
.c - C language source code
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
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
.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.
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 is the primary package formats.
.tar.gz. when talking about software packages
.tar.gz is often a source package (containing the source code).