Among the various tasks that are handled using Linux tools are system monitoring, network configuration and control, system administration, software management, system installation, security, software development and printing. Linux tools might be accessible within a graphical user interface (GUI), within a shell or within either environment. They also differ in that some tools are specific to certain distributions. For example, anaconda, an installer tool written in the python programming language, is often used by new users of the Fedora distribution who install the operating system by booting from the installation compact discs (CDs) or a digital versatile disk (DVD).
Linux tools for system monitoring are used to accomplish tasks such as displaying free and used system memory in kilobytes and reporting on processes and the activity of the central processing unit (CPU). Just as some Linux tools are distribution-specific, they also can be specific to a particular desktop environment. Most distributions come with a variety of bundled tools for the configuration, management, control and monitoring of a number of hardware devices, software packages and processes, which is important for system security and stability. Network configuration tools are employed to configure and control new hardware such as a network interface card (NIC), to connect to a wireless network and even to troubleshoot network connection problems.
System administration tools are used to set up functionality for sound, configure the boot loader, change the system date and time, perform operating system updates, manage logical volumes, manage system users and manage groups, among other tasks. Software management is handled by Linux tools such as the yellowdog updater modified (YUM) and the red hat package manager (RPM). These are command line tools. Many distributions also offer GUI tools for the management of software, which involves installing, modifying and removing packages.
Software development and modification can be more easily accomplished using Linux tools such as compilers for the C/C++ programming language and Iced Tea for coding in JAVA to allow for compilation and the running of the program in the virtual machine. Security can be enhanced using tools for the configuration of a firewall, security enhanced (SE) Linux and boot loader passwords. The common UNIX printing system (CUPS) is a tool used to configure and control local and networked printers as well as the print queue. Although many Linux tools are graphical, some very important ones are command line-only, and even those that are graphical might not be fully functional in a GUI.